Alias ​​zu SQLEXPRESS

17

Ich habe eine Developer Edition von SQL Server 2008, aber jetzt habe ich eine Software mit einer fest codierten Verbindungszeichenfolge:

Data Source=.\SQLEXPRESS;Initial Catalog=db;User Id=sa;Password=1234;

Jetzt habe ich versucht, SQLEXPRESS einen Alias ​​im Konfigurationstool hinzuzufügen, möchte diesen neuen Alias ​​jedoch nicht verwenden.

Ich habe TCP / IP aktiviert und den Dienst neu gestartet.

Roger Far
quelle
Wissen Sie, um welche Art von Anwendung es sich handelt? Handelt es sich um eine .NET-Anwendung? In diesem Fall haben Sie eine app.config- oder eine web.config-Datei.
squillman
Hardcoding der Verbindungszeichenfolge (einschließlich Benutzername und Passwort)? WARUM machen die Leute so schreckliche Dinge?!?
Massimo

Antworten:

27

Führen Sie die folgenden Schritte aus, um einen Alias ​​hinzuzufügen:

  1. Öffnen Sie den SQL Server-Konfigurations-Manager
  2. Erweitern Sie SQL Native Client-Konfiguration
  3. Klicken Sie mit der rechten Maustaste auf Aliase und wählen Sie New Alias...
  4. Im Fenster "Neuer Alias":
    • Geben Sie .\SQLEXPRESSals Aliasnamen ein.
    • Wählen Sie das entsprechende Protokoll aus (z. B. Named Pipes).
    • Geben Sie .den Servernamen ein (entspricht localhost).
  5. Klicken Sie auf OK, um die Änderung vorzunehmen.

Wenn Sie die HOSTS-Datei so ändern, dass sie eine Einstellung für SQLEXPRESS enthält, werden DNS-Suchvorgänge für einen Computer mit dem Namen SQLEXPRESS nur an die angegebene IP-Adresse umgeleitet. Das wird nicht dazu führen .\SQLEXPRESS, dass die SQL-Instanz localhost aufgelöst wird.

Schellack
quelle
1
Gute Antwort! Ich wollte gerade explizite Portnummern verwenden und so weiter, als ich auf diese Antwort stieß. Das hat meine Probleme perfekt gelöst. Vielen Dank! :)
Wasatz
6
Wenn Sie 64-Bit-Windows verwenden, müssen Sie den Alias ​​möglicherweise sowohl in der 32-Bit- als auch in der 64-Bit-SQL Native Client-Konfiguration erstellen.
Tod Thomson
Ich stellte fest, dass mein Problem darin bestand, TCP zu verwenden. Das Ändern des Alias ​​in Named Pipes hat funktioniert.
BlackICE
2
Wenn es jemand anderem hilft, musste ich den folgenden Pipe-Namen für den .\SQLEXPRESSAlias ​​verwenden, um mit meiner benannten Dev-Instanz zu arbeiten:\\.\pipe\MSSQL$STOLLEDEV\sql\query
JustinStolle,
Zusätzlich zu den obigen Hinweisen habe ich localhost \ SQLEXPRESS hinzugefügt, da ein Alias ​​explizit behandelt wird. Ich habe auch beide Aliase zu meiner 32-Bit- und 64-Bit-Konfiguration hinzugefügt, nur für Gürtel und Hosenträger.
Der Senator