15 Stimmen

Alias funktioniert nicht auf Sql Server 2008 r2

Ich habe mehrere Server mit SQL Server 2008 R2-Instanzen darauf, und Alias funktioniert auf keinem von ihnen.

Die Clients stellen über TCP/IP problemlos eine Verbindung zu diesen Servern her, Telnet funktioniert auf der IP/Port, die ich für meinen Alias verwende, die Firewall-Ausnahmen werden erstellt, im Grunde funktioniert alles einwandfrei, außer wenn ich einen Alias erstelle, kann ich über ihn keine Verbindung zu meinem Server herstellen, weder über TCP/IP noch über Named Pipes (lokal oder auf einem anderen Server).

Ich habe die neuesten kumulativen Updates installiert, die auch den nativen Client aktualisieren (der meiner Meinung nach die Ursache des Problems ist), und das Problem besteht weiterhin. Das Seltsame ist, wenn ich einen Alias auf einem Server mit Sql Server 2005 (nativer Client 9) erstelle, kann ich mich mit meinen 2008 r2 Instanzen verbinden. Irgendwelche Vorschläge?

22voto

m1k4 Punkte 829

Nachdem Sie sich vergewissert haben, dass es sich nicht um ein Firewall- oder TCP/IP-Problem handelt und Sie sich regelmäßig mit dem Server verbinden können, ohne einen Alias zu verwenden, und nur bei der Verbindung mit einem Alias ein Problem haben, habe ich dieses Problem unter Vista und Windows 7.

Die Lösung besteht darin, den richtigen Port in der "SQL Server Network Configuration" im "SQL Server Configuration Manager" einzurichten.

Hier sind die Schritte:

Gehen Sie zu Computerverwaltung -> Dienst und Anwendung -> SQL Server Configuration Manager -> SQL Server-Netzwerkkonfiguration

Beachten Sie, dass Sie den SQL Server Configuration Manager auch direkt öffnen können (nicht über die Computerverwaltung)

Aktivieren Sie dann in der SQL Server-Netzwerkkonfiguration das TCP/IP-Protokoll, wenn es nicht bereits aktiviert ist.

Rechtsklick zum Öffnen der Eigenschaften des TCP/IP-Protokolls

Auf der Registerkarte IP-Adressen finden Sie dann mehrere Einträge.

Für jede einzelne setzen Sie TCP Port = 1433

Wenn Sie ein x64-Betriebssystem verwenden, haben Sie zwei "SQL Server Network Configuration"-Knoten, einen für 32bit und den anderen für 64bit. Vergewissern Sie sich, dass Sie diese Ports auf beiden überprüft haben.

Viel Glück!

8voto

Tom Brown Punkte 558

Für mich war die Reihenfolge der Erstellung der Aliasnamen wichtig. Siehe diesen Link: W2K8 R2 SQL-Alias wird nicht verbunden Ich habe zunächst alles gelöscht, sowohl die CliConfig-Aliase als auch die Alias-Konfigurationen des Configuration Manager Native Client. Dann neu erstellen, zuerst die CLICONFG-Version hinzufügen.

  1. CLICONFG ausführen - Ihren TCP-Alias erstellen (standardmäßig wird der x64 Version, wenn Sie ein 64-Bit-Betriebssystem verwenden)

  2. Von der SQL Server-Konfiguration aus Manager erstellen Sie den Alias unter "SQL Native Client 10.0 Konfiguration"

Versuchen Sie, eine Verbindung über SSMS herzustellen - bei mir hat es funktioniert. Wenn das nicht funktioniert, können Sie die 32-Bit-Einrichtung ausprobieren. Ich habe dies trotzdem getan, da die Anwendung, die ich entwickle und die den Alias verwendet, x86 ist.

  1. %SystemRoot%/SysWow64/CliConfg.exe (32-Bit-Version auf 64-Bit-Betriebssystemen)
  2. "SQL Native Client 10.0 Konfiguration (32bit)" unter dem Konfigurationsmanager-Werkzeug.

6voto

datawrangler Punkte 61

Für mich bestand die Lösung darin, die 32-Bit-CLICONFG zu verwenden. Sowohl Management Studio als auch die Anwendung, die ich zu installieren versuchte, waren 32-Bit-Anwendungen auf einem 64-Bit-Server. Die Moral von der Geschichte ist, dass man sowohl 64-Bit- als auch 32-Bit-Aliase erstellen sollte.

2voto

SPE109 Punkte 2901

Verwenden Sie benannte Instanzen? Und wenn ja, haben Sie überprüft, ob der Anschluss statisch zugewiesen ist?

Wenn Sie Standardinstanzen verwenden, laufen Sie dann auf einer x64-Plattform? Es gibt Aliasnamen für 32bit und 64bit, so dass SSMS auf demselben Rechner wie die Datenbank-Engine den Alias unter dem 32-Bit-Abschnitt verwenden würde, obwohl der Rechner 64bit ist

2voto

Alan Macdonald Punkte 1824

Bei mir wurde dies dadurch verursacht, dass ich den Alias auf einem 64-Bit-Rechner erstellt habe, die Software aber als 32-Bit-Anwendung lief.

Wenn in Sql Server Konfigurations-Manager sicherstellen, dass der Alias unter beide die folgenden Abschnitte:

  1. SQL Native Client {VersionNo} Konfiguration
  2. SQL Native Client {VersionNo} Konfiguration (32bit)

Auf diese Weise wird sie unabhängig von der Prozessorplattform verfügbar sein. Wenn der Alias aus irgendeinem Grund nur für eine Plattform verfügbar sein soll, setzen Sie natürlich die entsprechende Plattform und nicht die andere.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X