Freitag, 24. Juni 2011

SQL Client konfigurieren

Wie überprüfe ich, mit welchem Protokoll ein Client die Verbindung zum SQL Server aufbauen möchte? Wo kann man das "mal eben" nachsehen? Die Antwort ist (wie fast immer) einfach, wenn man das richtige Werkzeug kennt. In diesem Fall hat das Werkzeug den kryptischen Namen cliconfg.exe.

Auswahl der Protokolle mit cliconfg.exe
Es wird mit verschiedenen Produkten installiert (z. B. SQL Server) und ist in der MDAC 2.1 ab SP2 enthalten. Daher ist es in der Regel auf allen Clients installiert.

Mit cliconfg.exe lassen sich einerseits die Protokolle einstellen, über die der Client Kontakt zum SQL Server aufnimmt. Wenn Sie im Unternehmen ausschließlich TCP/IP einsetzen, dann brauchen Clients erst gar nicht zu versuchen, über das Named Pipes Protokoll eine Verbindung zum SQL Server herzustellen.
Darüber hinaus kann das Programm auch verwendet werden, um Alias-Namen für SQL Server zu erstellen. Das kann nützlich sein, wenn eine Client Anwendung einen bestimmten Servernamen erwartet, dieser sich aber geändert hat. Das folgende Bild zeigt zwei konfigurierte Alias-Namen.

Alias-Namen für Serververbindungen

Der untere Alias zum Beispiel heißt "Testserver" und verweist auf die SQL Server Instanz LEV\INST1. Beim Konfigurieren einer ODBC Verbindung kann nun "Testserver" als Servername verwendet werden, wie das folgende Bild zeigt.

ODBC Verbindung zum SQL Server "Testserver"

Tatsächlich wird die ODBC Verbindung zum SQL Server LEV\INST1 hergestellt. Als Kommunikationsprotokoll verwendet der Client TCP/IP.

Übrigens ist der Alias auch eine Möglichkeit um zusätzlich zum SQL Servernamen auch noch die Portnummer zu hinterlegen. Der Standard-Port ist ja 1433, aber erstens muss das nicht immer so sein und zweitens wird bei benannten Instanzen in der Regel ein anderer Port verwendet. Die eleganteste Lösung hierfür ist der Einsatz des Browser Dienstes (siehe auch die Anmerkung am Ende dieses Artikels ), aber wenn dieser nicht eingesetzt werden kann, dann ist der Client Alias eine mögliche Lösung.

Die mit cliconfg.exe gemachten Einstellungen (Reihenfolge der Protokolle und Alias-Namen) werden übrigens in der Registry gespeichert:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo

Links
http://support.microsoft.com/kb/289573/en-us