2016-07-22 10 views
0

Ich habe zwei SQL Server-Datenbankserver in zwei verschiedenen Servercomputern.SQL Server, der Online abfragt

  • Server A - 192.168.1.100
  • Server B - 192.168.2.102

Ich brauche eine Abfrage von Server A ausführen Daten aus einer Tabelle in dem Server B.

abrufen

Wie schreibe ich die SQL-Select-Anweisung, um dies durchzuführen?

Gibt es Serverkonfigurationen, die diese Art der Abfrage ermöglichen?

+3

Eine Möglichkeit ist, den Verbindungsserver zu definieren und 4-teiligen Namen 'linked_server.db_name.schema_name.table_name' – lad2025

+0

Bitte geben Sie ALL CAPS nicht Ihre Frage Titel. Das wird als SCHREIEN betrachtet, und das ist nicht nötig. Wir können alle gut lesen, und das SCHREIEN Ihrer Frage wird Ihnen nicht schneller eine Antwort geben. Es ist auch ziemlich unhöflich, bei Leuten, die Sie um Hilfe bitten, ZU SCHREIEN. :-) –

+0

Verwenden Sie MSSMS, um eine Verbindung zu Ihrem SQL Server herzustellen. Erweitern Sie die Serverinstanz. Erweitern Sie Serverobjekte, und erweitern Sie dann Verknüpfte Server. Sie können einen Link zu Ihrem anderen Server erstellen und wie in lad2025 erwähnt, verwenden Sie den 4-teiligen Namen, um auf den Server in Ihrer Abfrage zu verweisen. –

Antwort

1

Fügen Sie einen Verbindungsserver hier sind Befehle für 1 Möglichkeit, dies zu tun. Ersetzen Sie die Benutzer- und Kennwortwerte durch eine geeignete SQL-Berechtigung.

EXECUTE master.dbo.sp_addlinkedserver @server = N'192.168.2.102', @srvproduct=N'SQL Server' 
EXECUTE master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.2.102',@useself=N'False',@rmtuser='ASQLLogin',@rmtpassword='Password' 

dann fragen Sie einfach, wie Sie eine normale Tabelle würde aber den Verbindungsserver vor hängen als wie so oben linked_server.db_name.schema_name.table_name kommentiert:

SELECT * 
FROM 
    [192.168.2.102].[DatabaseName].[SchemaName].[TableName] 

Sie es sogar beitreten können, um Ihre lokaler Server A, wenn Sie möchten.

SELECT * 
FROM 
    [192.168.2.102].[DatabaseName].[SchemaName].[TableName] b 
    INNER JOIN SomeTableOnServerA a 
    ON b.ID = a.ID