Archiv
Sie haben die NetSupport DNA Konsole auf Windows Server 2012 (R2) installiert und sondern wollen Ihre DNA Installation mit einem SQL Server / SQL Express betreiben.
Nachdem Sie bereits erfolgreich die DNA Verbindungsprobleme ab Windows 2008 gelöst haben, stellen Sie fest, dass Sie ebenfalls Verbindungsprobleme zu Ihrem SQL Server haben.
Beim Anmelden an der DNA Konsole erhalten Sie die Fehlermeldung:
SQL Server existiert nicht oder Zugriff verweigert
ConnectionOpen (Connect())
Lösung
Führen Sie bitte folgende Prüfungen durch
- SQL Server
Haben Sie den Rechnername des SQL Servers korrekt angegeben?
Kann der Rechnername des SQL Servers vom lokalen Rechner aus aufgelöst werden?
Ist der SQL Server online und im Netzwerk erreichbar?
Adressieren Sie den SQL Server per IP Adresse anstatt des Rechnernamens? - Erforderliche Dienste
Stellen Sie sicher, dass alle erforderlichen Dienste auf dem SQL Server ausgeführt werden.Starten Sie hierzu auf dem Server das Programm SQL Server-Konfigurations-Manager bzw. Configuration Manager
und markieren Sie im linken Menü den Eintrag SQL Server-Dienste:- SQL Server ([Name des Servers/der Instanz]) muss gestartet sein
- SQL Server Browser muss für benannte SQL Instanzen gestartet sein
Falls diese Dienste nicht ausgeführt werden, so starten Sie diese Dienste bitte.
Ändern Sie ggf. auch den Startmodus auf Automatisch. - Servername und Datenbankname
Der Eintrag des Server Namen des DNA Server in der Registry sollte als SQL Instanz eingetragen sein.Registrykey = HKEY_LOCAL_MACHINESOFTWARENetSupport LtdNetSupport DNADatabase Wertname = ServerNamen Datentyp = Reg_SZ Zeichenfolge = [ServerName]/[SQL Instanzname]
- Native Client
Wenn Sie einen SQL Server im Netzwerk nutzen, so müssen Sie lokal auf dem Rechner der DNA Konsole ebenfalls den SQL Native Client installieren.
Dies ist auch bei der Verwendung der DNA Konsole innerhalb einer Terminal Server Session notwendig.
In diesem Fall installieren Sie den SQL Native Client direkt auf dem Terminal Server (in der sog. Session 0), um die Funktionalität des SQL Native Client allen Terminal Sessions zur Verfügung zu stellen.
Sie können den passenden SQL Native Client direkt von Microsoft herunterladen: http://www.microsoft.com/en-gb/download/details.aspx?id=29065 - Remotezugriff
Der SQL Server muss für entfernte Verbindungen konfiguriert sein, so das andere Maschine Zugriff auf den SQL Server haben.Starten Sie hierzu bitte das Microsoft SQL Server Management Studio und markieren Sie im Objekt-Explorer den obersten Knoten bzw. den Hauptknoten des gewünschten Servers. Wählen Sie über das Kontextmenü der rechten Maustaste den Befehl Eigenschaften.
Wählen Sie nun im Dialogfenster Servereigenschaften - [Name des Servers/der Instanz] im linken Menü den Eitrag Verbindungen.
Stellen Sie sicher, dass die Option Remoteverbindungen mit diesem Server zulassen aktiviert ist.
Haben Sie diese Einstellungen geändert, so starten Sie den SQL-Serverdienst bitte neu. - Netzwerk-Protokoll
Stellen Sie sicher, dass alle erforderlichen Netzwerk-Protokolle auf dem SQL Server zur Verfügung gestellt werden.Starten Sie hierzu auf dem Server das Programm SQL Server-Konfigurations-Manager bzw. Configuration Manager und öffnen Sie im linken Menü den Knoten SQL Server-Netzwerkkonfiguration.
Markieren Sie nun den Eintrag Protokolle für [Name des Servers/der Instanz] und aktivieren Sie das TCP/IP-Protokoll und ggf. auch Named Pipes.
Starten Sie den Dienst SQL Server ([Name des Servers/der Instanz]) bitte neu, falls das Protokoll noch nicht aktiviert war. - Firewall
Ein Standard SQL Server ohne Instanzen verwendet standardmäßig den Port 1433.
Prüfen Sie bitte, ob dieser Port evtl. durch eine Firewall oder ein Antiviren-Programm blockiert wird.
Sofern Sie Telnet installiert haben, können Sie zum Test der Verbindung den Befehl telnet servername 1433 verwenden.Erhalten Sie keine Fehlermeldung, so ist der Port korrekt geöffnet und zugänglich.
Erhalten Sie jedoch eine Fehlermeldung, so ist zur Freigabe des Ports eine eingehende Ausnahmeregel in der Firewall des Servers zu definieren.Ein SQL Server bzw. SQL Express mit benannter Instanz verwendet hingegen auch andere Ports.
Sollte die verwendete Instanz nicht die erste ist, so sollten Sie in der Firewall eine eingehende Ausnahmeregel für die erforderlichen Dienste definieren (die Freigabe für Port 1433 ist in diesem Fall dann nicht mehr erforderlich).Verfahren Sie hierzu exemplarisch wie folgt:
- Systemsteuerung | Windows-Firewall | Erweiterte Einstellungen
- Eingehende Regeln | Neue Regel
- Regeltyp = Programm
- Programmpfad z.B. C:Program FilesMicrosoft SQL ServerMSSQL11.SQLEXPRESSMSSQLBinnsqlservr.exe
- Aktion = Verbindung zulassen bzw. Verbindung zulassen, wenn sie sicher ist.
- Profil: In der Regel nur Domäne und/oder Privat.
- Der Name ist beliebig.
Verwenden Sie SQL Express, so wiederholen Sie diese Schritte bitte auch für den Browser-Dienst.
Der Programmpfad ist in diesem Fall z.B. C:Program Files (x86)Microsoft SQL Server90Sharedsqlbrowser.exe.
Den jeweils korrekten Pfad für Ihre Installation können Sie z.B. über die Eigenschaften der Dienste ermitteln, indem Sie dort den hinterlegten Wert für Pfad zur EXE-Datei auslesen.
- Benutzer-Berechtigungen
Stellen Sie sicher, dass der Windows-Benutzer, mit dem Sie eine Verbindung zur Datenbank aufnehmen möchten, über ausreichende Zugriffsberechtigungen verfügt. Beachten Sie hierzu die Hinweise von Microsoft zum Erstellen eines Anmeldenamens. - Fehler-Protokolle überprüfen
Die Fehler-Protokolle können Hinweise beinhalten, weshalb eine Verbindung abgelehnt wurde.Die Fehler-Protokolle können Sie im Management Studio einsehen.
Starten Sie hierzu bitte das Microsoft SQL Server Management Studio und markieren Sie im Objekt-Explorer den obersten Knoten bzw. den Hauptknoten des gewünschten Servers. Wählen Sie über Verwaltung den Menüeintrag SQL Server-Protokolle, um die Liste der verfügbaren Protokoll zu sehen.
Die Fehler-Protokolle können Sie im Management Studio entweder direkt einsehen oder die Text-Datei ERRORLOG direkt in C:Program FilesMicrosoft SQL ServerMSSQL[Version].MSSQLSERVERMSSQLLog öffnen.
Sollten Sie nicht sicher sein, in welchem Verzeichnis die Fehler-Protokolle der betroffenen SQL instanz gespeichert werden, so können Sie dies über die Startparameter des SQL Server Dienst ermitteln
Starten Sie hierzu auf dem Server das Programm SQL Server-Konfigurations-Manager bzw. Configuration Manager und markieren Sie im linken Menü den Eintrag SQL Server-Dienste:
Markieren Sie nun den Eintrag SQL Server [Name des Servers/der Instanz] und wählen Sie über das Kontextmenü der rechten Maustatse die Option Eigenschaften.
Auf der Registerkarte Erweitert klicken Sie bitte doppelt auf den Namen Startparameter.
Sie erhalten dann eine Ansicht wie z.B.:
-dD:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAmaster.mdf;-eD:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLLogERRORLOG;-lD:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAmastlog.ldfDer Pfad zur Fehler-Protokollierung befinden sich im Parameter -e
In diesem Bespiel lautet er D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLLogERRORLOG