Konfigurieren von Verbindungsservern für die Delegierung
SQL Server und Windows können so konfiguriert werden, dass einem mit einer Instanz von SQL Server verbundenen Client ermöglicht wird, eine Verbindung mit einer anderen Instanz von SQL Server herzustellen, indem die Anmeldeinformationen eines authentifizierten Windows-Benutzers weitergeleitet werden. Diese Möglichkeit wird als Delegierung bezeichnet. Bei der Delegierung nimmt die Instanz von SQL Server, mit der der Windows-Benutzer mithilfe der Windows-Authentifizierung eine Verbindung hergestellt hat, die Identität dieses Benutzers für die Kommunikation mit einer anderen Instanz an. Die Delegierung von Sicherheitskonten ist bei verteilten Abfragen erforderlich, wenn eine bestimmte Anmeldung für einen bestimmten Verbindungsserver die Selbstzuordnung verwendet.
Anforderungen für die Delegierung
Nehmen Sie das folgende Szenario an, um die Anforderungen für die Delegierung zu veranschaulichen: Ein Benutzer meldet sich auf einem Clientcomputer an und stellt eine Verbindung mit einem Server her, der eine Instanz von SQL Server, SQLSERVER1 ausführt. Der Benutzer möchte ein verteilte Abfrage für eine Datenbank auf dem Verbindungsserver SQLSERVER2 ausführen. Dieses Szenario, in dem ein Computer eine Verbindung zu einem anderen herstellt, welcher seinerseits eine Verbindung zu einem dritten Computer herstellt, wird als Doppelhop bezeichnet.
Hinweis |
---|
Es muss ein Verbindungsserver für die Delegierung konfiguriert werden, selbst wenn sich eine Clientanwendung, einschließlich SQL Server Management Studio, die eine Verbindung mit einem Server herstellt, auf demselben Computer befindet wie die Instanz von SQL Server, die abgefragt wird. |
Anforderungen für den Client
Die Windows-authentifizierte Anmeldung des Benutzers muss über Zugriffsberechtigungen auf SQLSERVER1 und SQLSERVER2 verfügen.
Die Active Directory-Eigenschaft des Benutzers Konto ist vertraulich und kann nicht delegiert werden darf nicht ausgewählt sein.
Der Clientcomputer muss die TCP/IP- oder Named Pipes-Netzwerkkonnektivität verwenden.
Anforderungen für den ersten/mittleren Server (SQLSERVER1)
Der Server muss über einen vom Domänenadministrator registrierten SPN (Service Principal Name) verfügen.
Dem Konto, unter dem SQL Server ausgeführt wird, muss für Delegierungszwecke vertraut werden.
Der Server muss die TCP/IP- oder Named Pipes-Netzwerkkonnektivität verwenden.
Der zweite Server, SQLSERVER2, muss als Verbindungsserver hinzugefügt werden. Dies kann mithilfe der gespeicherten Prozedur sp_addlinkedserver erreicht werden. Beispiel:
EXEC sp_addlinkedserver 'SQLSERVER2', N'SQL Server'
Der Verbindungsserver muss für die Selbstzuordnung konfiguriert sein. Dies kann mithilfe der gespeicherten Prozedur sp_addlinkedsrvlogin erreicht werden. Beispiel:
EXEC sp_addlinkedsrvlogin 'SQLSERVER2', 'true'
Anforderungen für den zweiten Server (SQLSERVER2)
Wenn die TCP/IP-Netzwerkkonnektivität verwendet wird, muss der Server einen vom Domänenadministrator registrierten SPN aufweisen.
Der Server muss die TCP/IP- oder Named Pipes-Netzwerkkonnektivität verwenden.
Siehe auch