none
Zugriff via Linked Server vs. Direktzugriff (auf einen SQL Server) RRS feed

  • 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 

    Mittwoch, 9. November 2011 13:18

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
    Mittwoch, 9. November 2011 16:57

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 einen
    SQL-Zugang zur Verfügung stellen, damit du diesen im Linked-Server
    konfigurieren kannst. Mit diesem sollte dann eigentlich auch der direkte
    Zugang möglich sein.
     
    Prinzipiell ist es natürlich eine günstige Möglichkeit den Zugriff auf
    die Datenbank eines anderen Servers in deine SQL-Skripte zu integrieren.
     
    Mittwoch, 9. November 2011 14:35
  • 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 ;)

    Mittwoch, 9. November 2011 14:57
  • 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
    Mittwoch, 9. November 2011 16:57
  • 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 sich
    wiederum um SQL Server, die jedoch auf unterschiedlichen physischen
    Servern laufen.
     
    Ich nehme an, dass in diesem Szenario die von dir erwähnte Optimierung
    nicht greift und der Zugriff über den Linked Server nicht ideal ist?
     
    vielen Dank und schöne Grüße,
    Gerald
     
    Donnerstag, 10. November 2011 07:46
  • 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
    Donnerstag, 10. November 2011 16:52
  • Hallo actinium.ga,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Donnerstag, 24. November 2011 15:36
    Moderator
  • Hallo Robert,

    alles klar - ich hab nur auf das Markieren der Antwort vergessen.

    Grüße,
    Gerald

    Donnerstag, 24. November 2011 16:10