Remoteserver

Gilt für:SQL Server

Remoteserver werden in SQL Server nur aus Gründen der Abwärtskompatibilität unterstützt. Neue Anwendungen sollten stattdessen Verbindungsserver verwenden. Weitere Informationen finden Sie unter Verbindungsserver (Datenbank-Engine).

Durch die Konfiguration eines Remoteservers kann ein Client, der eine Verbindung mit einer Instanz von SQL Server hergestellt hat, eine gespeicherte Prozedur in einer anderen Instanz von SQL Server ausführen, ohne eine separate Verbindung einrichten zu müssen. Der mit dem Client verbundene Server nimmt in diesem Fall die Clientanforderung an und sendet die Anforderung im Auftrag des Clients an den Remoteserver. Der Remoteserver verarbeitet die Anforderung und gibt die Ergebnisse an den ursprünglichen Server zurück. Dieser Server übergibt seinerseits die Ergebnisse an den Client. Wenn Sie eine Remoteserverkonfiguration einrichten, sollten Sie auch Sicherheitsaspekte berücksichtigen.

Wenn Sie eine Serverkonfiguration einrichten möchten, um gespeicherte Prozeduren auf einem anderen Server auszuführen, jedoch keine Remoteserverkonfigurationen vorhanden sind, sollten Sie Verbindungsserver statt Remoteserver verwenden. Sowohl gespeicherte Prozeduren als auch verteilte Abfragen sind mit Verbindungsservern möglich. Auf Remoteservern können hingegen nur gespeicherte Prozeduren ausgeführt werden.

Einzelheiten zu Remoteservern

Remoteserver werden paarweise eingerichtet. Wenn Sie ein Remoteserverpaar einrichten möchten, sollten Sie beide Server so konfigurieren, dass sie sich gegenseitig als Remoteserver erkennen.

In den meisten Fällen ist es nicht erforderlich, Konfigurationsoptionen für Remoteserver festzulegen. SQL Server legt die Standardeinstellungen auf den lokalen und Remotecomputern für Remoteserververbindungen fest.

Damit der Zugriff auf Remoteserver funktioniert, muss die Konfigurationsoption Remotezugriff auf den lokalen und den Remotecomputern auf 1 festgelegt werden. (Dies ist die Standardeinstellung.) Remotezugriff steuert Anmeldungen von Remoteservern. Diese Konfigurationsoption kann entweder mit der gespeicherten Prozedur sp_configure von Transact-SQL oder mit SQL Server Management Studio zurückgesetzt werden. Wenn Sie die Option in SQL Server Management Studiofestlegen möchten, verwenden Sie auf der Seite Verbindungen die Option Remoteverbindungen mit diesem Server zulassen. Um auf die Seite Verbindungen zu gelangen, klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Servernamen, und klicken Sie auf Eigenschaften. Klicken Sie auf der Seite Servereigenschaften auf die Seite Verbindungen .

Sie können eine Remoteserverkonfiguration von einem lokalen Server aus deaktivieren, um den Zugriff auf diesen lokalen Server durch Benutzer des diesem zugeordneten Remoteservers zu verhindern.

Sicherheit für Remoteserver

Um Remoteprozeduraufrufe (Remote Procedure Calls, RPCs) für einen Remoteserver zu ermöglichen, müssen Sie auf dem Remoteserver sowie gegebenenfalls auf dem lokalen Server, auf dem eine Instanz von SQL Serverausgeführt wird, Anmeldungszuordnungen einrichten. RPC ist in SQL Serverstandardmäßig deaktiviert. Durch diese Konfiguration wird die Angriffsfläche des Servers verkleinert und dadurch die Sicherheit des Servers verbessert. RPC muss aktiviert werden, bevor Sie diese Funktion verwenden können. Weitere Informationen finden Sie unter sp_configure (Transact-SQL).

Einrichten des Remoteservers

Auf dem Remoteserver müssen Anmeldungszuordnungen eingerichtet werden. Der Remoteserver ordnet über diese Zuordnungen die von einem bestimmten Server eingehende Anmeldung für eine RPC-Verbindung einer lokalen Anmeldung zu. Zuordnungen von Remoteanmeldungen können mithilfe der gespeicherten Prozedur sp_addremotelogin auf dem Remoteserver eingerichtet werden.

Hinweis

Die trusted-Option von sp_remoteoption wird in SQL Server nicht unterstützt.

Einrichten des lokalen Servers

Für die lokale Anmeldung mit SQL Server -Authentifizierung müssen Sie keine Anmeldungszuordnung auf dem lokalen Server einrichten. SQL Server verwendet den Anmeldenamen und das Kennwort der lokalen Anmeldung, um die Verbindung mit dem Remoteserver herzustellen. Bei Windows-authentifizierten Anmeldungen richten Sie eine lokale Anmeldungszuordnung auf einem lokalen Server ein, über die definiert wird, welche Anmeldung und welches Kennwort von einer SQL Server -Instanz verwendet werden, wenn eine RPC-Verbindung mit einem Remoteserver hergestellt wird.

Bei durch die Windows-Authentifizierung erstellten Anmeldungen müssen Sie eine Anmeldungs- und Kennwortzuordnung über die gespeicherte Prozedur sp_addlinkedservlogin erstellen. Diese mithilfe von sp_addremoteloginerstellte Anmeldung und dieses Kennwort müssen mit der eingehenden Anmeldung bzw. dem eingehenden Kennwort übereinstimmen.

Hinweis

Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.

Beispiel für die Sicherheit von Remoteservern

Betrachten Sie diese beiden SQL Server -Installationen: serverSend und serverReceive. serverReceive ist so konfiguriert, dass eine eingehende Anmeldung von serverSendnamens Sales_Maryeiner SQL Server -authentifizierten Anmeldung bei serverReceivenamens Alicezugeordnet wird. Eine weitere eingehende Anmeldung von serverSendnamens Joewird einer SQL Server -authentifizierten Anmeldung auf serverReceive, namens Joezugeordnet.

Der folgende Transact-SQL-Beispielcode konfiguriert serverSend so, dass Remoteprozeduraufrufe auf serverReceiveausgeführt werden können.

--Create remote server entry for RPCs   
--from serverSend in serverReceive.  
EXEC sp_addserver 'serverSend';  
GO  
  
--Create remote login mapping for login 'Sales_Mary' from serverSend  
--to Alice.  
EXEC sp_addremotelogin 'serverSend', 'Alice', 'Sales_Mary';  
GO  
--Create remote login mapping for login Joe from serverReceive   
--to same login.  
--Assumes same password for Joe in both servers.  
EXEC sp_addremotelogin 'serverSend', 'Joe', 'Joe';  
GO  

Auf serverSendwird eine lokale Anmeldungszuordnung zwischen der Windows-authentifizierten Anmeldung Sales\Mary und einer Anmeldung Sales_Maryerstellt. Für Joeist keine lokale Anmeldungszuordnung erforderlich, da standardmäßig dieselbe Anmeldung und dasselbe Kennwort verwendet werden und serverReceive über eine Zuordnung für Joeverfügt.

--Create a remote server entry for RPCs from serverReceive.  
EXEC sp_addserver 'serverReceive';  
GO  
--Create a local login mapping for the Windows authenticated login.  
--Sales\Mary to Sales_Mary. The password should match the  
--password for the login Sales_Mary in serverReceive.  
EXEC sp_addlinkedsrvlogin 'serverReceive', false, 'Sales\Mary',  
   'Sales_Mary', '430[fj%dk';  
GO  

Anzeigen der Eigenschaften von lokalen Servern oder Remoteservern

Sie können die erweiterte gespeicherte Prozedur xp_msver verwenden, um Serverattribute von lokalen oder Remoteservern zu überprüfen. Diese Attribute enthalten die Versionsnummer von SQL Server, Typ und Anzahl von Prozessoren des Computers, sowie die Version des Betriebssystems. Sie können vom lokalen Server Datenbanken, Dateien, Anmeldungen und Tools eines Remoteserver anzeigen. Weitere Informationen finden Sie unter xp_msver (Transact-SQL).

Verbindungsserver (Datenbank-Engine)

sp_configure (Transact-SQL)

Konfigurieren der Serverkonfigurationsoption Remotezugriff

RECONFIGURE (Transact-SQL)