Ich habe zwei Entwicklungsteams, die aus verschiedenen Gruppen kommen.
Gibt es eine Möglichkeit, einen Alias so einzurichten, dass beide Gruppen denselben Namen haben? Wie es gerade steht, haben wir einen Krieg der Verbindungszeichenfolgen als Gruppe B ändert sich (lokal) zu ./DEV
und Gruppe A ändert es wieder zurück?
Im SQL Server-Konfigurationsmanager gibt es unter dem nativen Clientkonfigurationsabschnitt von SQL Server einen Unterabschnitt namens "Aliase", in den Sie einen Alias einfügen können, der auf Ihre benannte Instanz zeigt. Sie verwenden den Alias einfach so, als ob es sich um die Standardinstanz auf einem Server mit dem Aliasnamen handelt. Wir verwenden dieses genaue Modell und haben nur eine Verbindungszeichenfolge, die auf einen Standardalias verweist. Jeder Entwickler hat denselben Aliasnamen, der auf seine eigene Instanz verweist.
Ich persönlich würde alle die gleiche Box benutzen.
Das heißt, Sie können lokale Aliase pro Entwicklerbox mithilfe von SQL Server-Clienttools festlegen.
Alles, was auf einer IP-Adresse oder einem Servernamen basiert (z. B. Host-Datei oder DNS), schlägt fehl, weil die Instanznamen (und die verwendeten Ports) unterschiedlich sind
Aliasing für eine lokale SqlExpress-Instanz
Um die Antwort von Ben zu erweitern, hatte ich die spezielle Anforderung, eine Verbindungszeichenfolge auf eine bestimmte Serverinstanz zu aliasieren und diese stattdessen an unsere lokalen Sql Express-Instanzen des Entwicklers umzuleiten, d. h. an Alias von:
%Vor%bis
%Vor%Das hat sich als etwas schwierig erwiesen, bis ich das gefunden habe Link hier . Meine Sql Express-Instanz wurde auf dem Standardport 1433 ausgeführt (d. H. An Suite angepasst)
TCP / IP für SqlExpress aktivieren
Da das Aliasing über TCP / IP-Ports erfolgt, muss das TCP / IP-Protokoll aktiviert sein . (Das Öffnen von SqlExpress für den Remotezugriff ist nicht erforderlich, wenn Sie lokal arbeiten).
Verwendung von Sql Server -> Configuration Tools -> Sql Server Configuration Manager
:
Stellen Sie gleichzeitig die Eigenschaft Listen All
auf Yes
.
LocalHost-IPs aktivieren
Stellen Sie sicher, dass sowohl IPv4 ( 127.0.0.1
) als auch IPv6 ( ::1
) localhosts aktiv und aktiviert sind.
Lassen Sie den dynamischen Port bei jedem IP auf Null (wie der Name schon sagt, wird der Port dynamisch zugewiesen). Die IPAll
Dynamic und TCP Ports werden dann global verwendet.
Sie müssen den MSSQLServer / SqlExpress-Dienst neu starten, um die Änderung zu bewirken.
Erstellen von Aliasen (32 und 64 Bit)
Dies erfordert unter Sql Native Client xx-Konfigurationen das einfache Hinzufügen des Alias "Von" Server\Instance
als Alias-Name und der tatsächlichen Server + -Instanz als < em> Server (dh meine lokale SqlExpress-Instanz). Ich konnte mich sowohl über den Port 1433 als auch über den dynamischen Port von IpAll (9876) verbinden, obwohl ich keinen Grund sah, letzteres zu verwenden. Die Aliase müssen sowohl für 32-Bit- als auch für 64-Bit-Client-Konfigurationen ausgeführt werden.
Sie sollten nun in der Lage sein, eine Verbindung mit dem Alias% code% über SSMS herzustellen.
Weitere Hinweise
SomeServer\SomeInstance
zu einem DNS oder LocalHosts hinzuzufügen. Dies wird jedoch wahrscheinlich erforderlich sein, wenn Sie auf einen Remote-Server Aliasing sind (plus einige andere Sicherheit Kopfschmerzen) Es scheint also, dass die Sql-Client-Konfiguration die Ersetzung vor allen Netzwerk- oder Sicherheitsschritten übernimmt.