Es ist so ziemlich alles im Titel. Ich erwarte, dass die Antwort nein ist, wollte aber fragen, um sicherzugehen. Grundsätzlich kann auf eine einzelne SQL Server-Instanz mit mehreren Namen verwiesen werden. Ich weiß, dass Sie den DNS so einstellen können, dass mehrere Namen auf dieselbe IP / denselben Server aufgelöst werden. Wie würde sich dies auf die Verbindung mit SQL Server auswirken?
sql-server
Tim Coker
quelle
quelle
Der SERVER-Teil von SERVER / INSTANCE kann ein beliebiger Name sein, der in die richtige Adresse aufgelöst wird, entweder ein zusätzlicher A-Datensatz oder ein CNAME oder ein Name aus einer HOSTS-Datei.
Die einzige Warnung hier ist, dass der gefälschte Name die Kerberos-Authentifizierung unterbrechen kann. SQL mit Kerberos ist eine lustige Sache. Der SQL-Client führt eine umgekehrte DNS-Suche für die Adresse durch und verwendet dann den Namen, den er erhält, um den SPN zu erstellen, sodass er funktionieren sollte, solange die umgekehrte Suche den ursprünglichen Hostnamen des Servers erhält. Außerdem greift SQL auf NTLM zurück, sodass dies nur dann zu Problemen führt, wenn Sie aus irgendeinem Grund Kerberos benötigen, z. B. wenn Sie die Delegierung verwenden.
Sie können SQL jedoch nicht auf mehr als einen INSTANCE-Namen reagieren lassen. Sie können jedoch einen Alias in der CLIENT-Konfiguration definieren.
Wenn Sie eine Verbindung zu SQL Server herstellen, wird der von Ihnen angegebene Instanzname an den SQL Browser-Dienst auf dem Server gesendet. Der Browserdienst antwortet mit dem TCP-Port, den die angeforderte Instanz überwacht. Es ist möglich, diese Portnummer entweder in der Verbindungszeichenfolge oder in einem Alias anzugeben. Ich habe gerade einen Alias namens NEW erstellt, der auf den mysqlserver-Port 1966 verweist, auf den eine benannte Instanz wartet. Ich konnte mich dann mit der benannten Instanz verbinden, indem ich einfach den Servernamen NEW angab.
Diese Methode weist zwei Nachteile auf. Erstens ist die Konfiguration auf jedem Client erforderlich. Ich weiß nicht, ob es eine Möglichkeit gibt, diese Konfiguration zu pushen. Die zweite ist, dass eine SQL-Instanz normalerweise einen dynamischen Port verwendet. Wenn Sie Aliase definieren möchten, müssen Sie den Server so ändern, dass er eine feste Portnummer überwacht, mit der die Clients eine Verbindung herstellen können.
quelle
Ich finde es einfacher, Aliase im SQL Server-Konfigurationsmanager zu erstellen, die auf denselben SQL Server verweisen.
quelle
Ich habe einen einfachen Test ausgeführt, indem ich meiner HOSTS-Datei einen Eintrag hinzugefügt habe, und es scheint, dass SQL Server den in der Verbindungszeichenfolge verwendeten Namen nicht interessiert. Ich habe immer gedacht, dass dieser Teil wichtig ist, aber es scheint, dass dies nicht der Fall ist.
In diesem Fall verbinde ich mich nicht mit einer benannten Instanz, sondern nur mit der Standardinstanz. Ich würde davon ausgehen, dass
SERVER\INSTANCE
Sie dies auch mit einer benannten Instanz tun können, solange der Server Teil der Übereinstimmungen ist. Ich habe jedoch keine benannten Instanzen zum Testen.quelle
Nach meiner Erfahrung können Sie dem Server viele DNS-Einträge geben, und Sie sollten nicht auf ein Problem beim Erreichen der Standard-SQL-Instanz (oder einer beliebigen Instanz) auf dem Server stoßen.
Die Instanzen selbst werden auf dem Server mit dem SQL Browser Service unterschieden, der ausgeführt werden muss, damit die genannten Instanzen angezeigt werden. Wenn nicht, ist normalerweise (99 von 100) die einzige Instanz, die angezeigt wird, wenn dieser Dienst nicht ausgeführt wird, die Standardinstanz.
Ich hoffe ich habe dir irgendwie geholfen :)
quelle