Benutzer mit den meisten Antworten
Zugriff via Linked Server vs. Direktzugriff (auf einen SQL Server)

Frage
-
Hallo zusammen,
ein Kunde stellt mir den Zugriff auf sein operatives System via einem Linked Server zur Verfügung. Da das operative System ebenfalls ein SQL Server ist, stellt sich mir die Frage, was die Vor- bzw. Nachteile eines Linked Servers sind, wenn auch ein direkter Zugriff auf das Quellsystem möglich ist (unter der Annahme, dass auch das Quellsystem ein SQL Server ist)?
In meinem konkreten Fall muss ich mit den Integration Services Daten vom operativen System in das Data Warehouse transferieren, aber mich interessiert die Frage allgemein.
Ich habe schon ein wenig mit Google gespielt, aber bis jetzt noch nichts Aussagekräftiges finden können. Meiner Meinung nach müsste der Zugriff über einen Linked Server immer eine geringere Performance liefern - nur: wie groß ist der Unterschied?
Vielen Dank und schöne Grüße,
Gerald- Typ geändert Robert BreitenhoferModerator Donnerstag, 10. November 2011 09:02 Frage
Antworten
-
Hallo Gerald,
in einem Fall habe ich die gleiche Konstellation zum Befüllen eines DWH im Einsatz und bisher nur gut Erfahrungen damit.
- Da SSIS auf dem gleichen Server wie der SQL Server mit dem Linked Server laufen, macht es bzgl. Netzwerktraffic keinerlei Unterschied, ob SSIS die Abfragen über den LinkedServer laufen lässt oder direkt auf den SQL Server zugreift.
- Wenn nur einfache Abfragen ausgeführt werden, die sich nur auf Daten des Zielservers beziehen, übernimmt der Zielserver die ganze Arbeit inkl. Ausführungsplan etc; macht also auch keinen Unterschied.
Dagegen gibt es einige Vorteile, wie das Du eben Server-übergreifende Abfragen auszuführen, dadurch kannst Du einige Aufgabenstellungen wesentlich bequemer und effektiver lösen.
Ich übertragen z.B. aus einer Quelltabelle mit ca. 90 Mio Datensätze alle neuen Datensätze ins DWH und das mittels einer verteilten Abfrage; das läuft ca. 30 sek und das mit einem einzigem SQL Statement; über SSIS mit getrennten Datenquellen wäre es wesentlich aufwendiger zu lösen und eine bessere Laufzeit käme auch nicht bei raus.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Stefan HoffmannModerator Samstag, 12. November 2011 10:16
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 24. November 2011 15:37
Alle Antworten
-
Am 09.11.2011 14:18, schrieb actinium.ga:> Hallo zusammen,>> ein Kunde stellt mir den Zugriff auf sein operatives System via einem> Linked Server zur Verfügung. Da das operative System ebenfalls ein SQL> Server ist, stellt sich mir die Frage, was die Vor- bzw. Nachteile eines> Linked Servers sind, wenn auch ein direkter Zugriff auf das Quellsystem> möglich ist (unter der Annahme, dass auch das Quellsystem ein SQL Server> ist)?>> In meinem konkreten Fall muss ich mit den Integration Services Daten vom> operativen System in das Data Warehouse transferieren, aber mich> interessiert die Frage allgemein.>> Ich habe schon ein wenig mit Google gespielt, aber bis jetzt noch nichts> Aussagekräftiges finden können. Meiner Meinung nach müsste der Zugriff> über einen Linked Server immer eine geringere Performance liefern - nur:> wie groß ist der Unterschied?So richtigen Sinn macht das in meinen Augen nicht. Er muss dir ja einenSQL-Zugang zur Verfügung stellen, damit du diesen im Linked-Serverkonfigurieren kannst. Mit diesem sollte dann eigentlich auch der direkteZugang möglich sein.Prinzipiell ist es natürlich eine günstige Möglichkeit den Zugriff aufdie Datenbank eines anderen Servers in deine SQL-Skripte zu integrieren.
-
Vielen Dank, ich sehe das genau so - der einzige Vorteil eines Linked Servers auf einen SQL Server ist, dass ich lokale und entfernte Tabellen in SQL-Abfragen miteinander verknüpfen kann.
Der Linked Server wurde vom Administrator für mich angelegt - mit dem sa-User ;)
-
Hallo Gerald,
in einem Fall habe ich die gleiche Konstellation zum Befüllen eines DWH im Einsatz und bisher nur gut Erfahrungen damit.
- Da SSIS auf dem gleichen Server wie der SQL Server mit dem Linked Server laufen, macht es bzgl. Netzwerktraffic keinerlei Unterschied, ob SSIS die Abfragen über den LinkedServer laufen lässt oder direkt auf den SQL Server zugreift.
- Wenn nur einfache Abfragen ausgeführt werden, die sich nur auf Daten des Zielservers beziehen, übernimmt der Zielserver die ganze Arbeit inkl. Ausführungsplan etc; macht also auch keinen Unterschied.
Dagegen gibt es einige Vorteile, wie das Du eben Server-übergreifende Abfragen auszuführen, dadurch kannst Du einige Aufgabenstellungen wesentlich bequemer und effektiver lösen.
Ich übertragen z.B. aus einer Quelltabelle mit ca. 90 Mio Datensätze alle neuen Datensätze ins DWH und das mittels einer verteilten Abfrage; das läuft ca. 30 sek und das mit einem einzigem SQL Statement; über SSIS mit getrennten Datenquellen wäre es wesentlich aufwendiger zu lösen und eine bessere Laufzeit käme auch nicht bei raus.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Stefan HoffmannModerator Samstag, 12. November 2011 10:16
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 24. November 2011 15:37
-
Hallo Olaf,gut zu wissen, dass Microsoft hier eine Optimierung eingebaut hat.In meinem Fall sieht es jedoch so aus, dass der ganze BI-Stack (DWH,SSIS, SSAS und SSRS) auf einem Rechner installiert sind und die Vor-systeme per Linked Server eingebunden sind. Dabei handelt es sichwiederum um SQL Server, die jedoch auf unterschiedlichen physischenServern laufen.Ich nehme an, dass in diesem Szenario die von dir erwähnte Optimierungnicht greift und der Zugriff über den Linked Server nicht ideal ist?vielen Dank und schöne Grüße,Gerald
-
In meinem Fall sieht es jedoch so aus, dass der ganze BI-Stack (DWH, SSIS, SSAS und SSRS) auf einem Rechner installiert sind und die Vorsysteme per Linked Server eingebunden sind.
Hallo Gerald,genau so hatte ich es auch verstanden und ich habe die gleiche Konstellation: OLTP auf einem Server, DWH + BI auf einem anderen Server.
Und wie gesagt, das funktioniert mit LinkedServer sehr gut und ich wüsste auch nicht, was daran problematisch sein sollte.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing