Angenommen, ich habe eine Datenbank mit dem Namen "testdb" auf dem Testserver. Außerdem habe ich eine Datenbank mit dem Namen proddb auf dem Server prod.
Nun möchte ich Daten aus einer Tabelle der Datenbank testdb aus der Datenbank proddb auswählen.
Wie kann ich das in SQL Server tun?
Ich kann es auch mit Datenbankverknüpfung in Oracle machen. Aber wie kann ich das in SQL Server machen?
Sie benötigen sp_addlinkedserver()
http://msdn.microsoft.com/en-us/library/ms190479.aspx
Beispiel:
exec sp_addlinkedserver @server = 'test'
dann
select * from [server].[database].[schema].[table]
In Ihrem Beispiel:
select * from [test].[testdb].[dbo].[table]
I've verwendet dies vor, um eine Abfrage gegen einen anderen Server und db über verknüpfte Server einrichten:
EXEC sp_addlinkedserver @server='PWA_ProjectServer', @srvproduct='',
@provider='SQLOLEDB', @datasrc='SERVERNAME\PWA_ProjectServer'
gemäß obigem Kommentar:
select * from [server].[database].[schema].[table]
z.B..
select top 6 * from [PWA_ProjectServer].[PWA_ProjectServer_Reporting].[dbo].[MSP_AdminStatus]
Um eine serverübergreifende Abfrage durchzuführen, sehen Sie sich die gespeicherte Systemprozedur an: sp_addlinkedserver in den Hilfedateien.
Sobald der Server verknüpft ist, können Sie eine Abfrage durchführen.