quering remote-Datenbank mithilfe von sql server?
Benutzt habe ich Sie sp_addlinkedserver um den Zugriff auf die remote-Maschinen der db-jetzt Schreibe ich explizit Abfragen auf Datenbank, wie,
select * from [server\Instanz].Datenbank.Besitzer.tablename
Nun mit diesem,
- [Server\Instanz] : das ist ausdrücklich
- [Datenbank] : können wir Sie finden-Datenbanken der spezifizierten Instanz mithilfe von query wie ms_ForEachDB ?
- [owner] : Können wir die Datenbank, der name des Besitzers, mit Abfrage ?
Wenn diese Werte findet man mithilfe von Abfragen benötigen wir, um mit EXEC() zum ausführen dieser oder können wir noch erzielen, mit schönen Abfragen ?
Danke an alle,
InformationsquelleAutor Anil Namde | 2010-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den "schönen" format, die Sie erwähnen, ist einfach ein 4 Teil-Objekt-Referenz.
3 Teil
Teil 2
Wenn Sie wollen, um dynamisch ändern Sie die server -, db-oder schema-Werten, dann haben Sie eine option:
Jedoch, wenn Sie nur Zugriff auf gespeicherte Prozeduren aus der Ferne...
Aber die Veränderung der Komponenten des Objekt-Referenz keinen Sinn macht, wohl: wenn Sie wissen, dass Sie gehen, um Abfragen einer Tabelle, dann rufen Sie einfach die Tabelle in die Datenbank...
InformationsquelleAutor gbn
sollten Sie einen query-string und führen Sie es durch
exec()
Funktion.erste server-name :
immer aktuelle db-name :
InformationsquelleAutor masoud ramezani
Haben Sie nicht verwenden
EXEC
Sie könnte so etwas wieselect * from openquery(MyLinkedServer,@sql)
Obwohl ich lieberEXEC(@sql) AT MyLinkedServer
Aber die ganze Arbeit
InformationsquelleAutor Coentje
Wenn es passiert, dass Sie verwenden müssen, um irgendeine Art von variable in Ihre Argumente(z.B. sammeln der Fernbedienung, um die server-updates seit gestern):
______
Wo:
"OPENQUERY können keine Variablen für die Argumente.": Siehe Hier (MSDN: OPENQUERY (Transact-SQL)).
InformationsquelleAutor Arthur Zennig