Wie abrufen von Daten aus zwei verschiedenen sql-Servern?
Habe ich ein inline-query, in der ich habe eine Tabelle1 in server1 und anderen Tabelle2 in server2.
Ich muss join dieser beiden Tabellen und Daten abrufen.
Kann ich das machen wie mit einem server verbinden, Daten Holen und die Verbindung zum nächsten server...Daten abrufen.
und sich Ihnen anzuschließen.
Aber gibt es einen anderen besseren Weg. Ich habe gehört, über Linked Server. Wird das hier helfen ?
Vielen Dank im vorraus!!!!!!
Warum community wiki?
Ich habe es unwissentlich...wats 🙁
Ich habe es unwissentlich...wats 🙁
InformationsquelleAutor |
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, richten Sie einen verknüpften server auf einem server auf den anderen. Dann können Sie einfach eine normale Abfrage mit einem join. Es würde in etwa so Aussehen:
diese übernimmt Sie die Abfrage auf "Server1". Sie können auch zwei verknüpfte Server und referenzieren Sie beide mit [servername].[dbname].[schema].[table] und dann verwenden Sie in SQL als normal.
Alternativ können Sie OPENROWSET (aber Verbindungsserver ist am einfachsten, wenn Sie in der Lage sind, zu stellen). OpenRowSets wie folgt Aussehen:
und dann kann man nur beitreten auf 'ein' als ob es eine lokale Tabelle. Unter der Haube ist es wahrscheinlich ziehen die Daten auf Ihrer lokalen Datenbank, so sollten Sie überlegen, WO die innere Abfrage zum einschränken der Zeilen, und nur die Spalten, die Sie brauchen.
Sie müssen einige Berechtigungen auf dem genannten Server obwohl. Wenn Sie nicht über diese, Sie könnte verwenden Sie einen server, wo du sysadmin-oder setupadmin Genehmigung Rollen, und fügen Sie sowohl Server als linked Server, führen Sie dann die Abfrage gegen die zwei miteinander verbundene Server auf Ihrem eigenen server. Nehmen Sie einen Blick auf die Leistung, obwohl ich mir vorstellen kann, es immer haarig.
Hinzugefügt OPENROWSET-Beschreibung.
InformationsquelleAutor