Um Hadis gute Antwort zu erweitern, verwenden Sie nicht das SQL Server-Ziel.
Nach meiner Erfahrung überwiegt der Leistungsvorteil nicht die Beschränkung, dass das Paket auf dem gleichen Computer wie die Zieldatenbank ausgeführt werden muss. Es erzwingt eine Verarbeitungsarchitektur, die heute oder in einem Jahr für Sie geeignet ist oder auch nicht. Es ist einfach zu unflexibel für meinen Geschmack.
Der andere, größere Grund, den ich befürworte, das SQL Server-Ziel zu vermeiden, ist die Flat-out-Bugginess, die ich damit erlebt habe. Gleiche flache Datei zu einer leeren Tabelle - Runde 1, bricht mit einer vagen Fehlermeldung ab (kann sich nicht erinnern), dass etwas schief gelaufen ist. Starten Sie das Paket sofort neu und es funktioniert wie erwartet. Vielleicht können Sie, die meisten bescheidenen Leser, akzeptieren, dass in der Verarbeitungszeit für die Wiederaufbereitungszeit tauschen, aber für mich ist es nicht wert, seit wahrscheinlich 2008.
Welche Informationen sind widersprüchlich? Der Nachteil des SQL Server-Ziels besteht darin, dass das Paket auf dem SQL Server ausgeführt werden muss, in den Sie einfügen. Wenn Sie also Pakete auf einem anderen Server ausführen als den, in den Sie einfügen, verwenden Sie ihn nicht. Ich dachte, dass die Information ziemlich klar ist. –
Neben dieser Einschränkung der Flexibilität können Fehlermeldungen im SQL Server-Ziel viel kryptischer sein. Daher empfehlen einige Benutzer, sie aus diesem Grund nicht zu verwenden. Zum Beispiel (und Matt sollte wissen), https://www.mattmasson.com/2012/06/should-i-use-the-sql-server-destination/ – Rich
Ich meinte widersprüchlich, da einige vorschlagen, OLE DB über SQL zu verwenden Serverziel Wenn Einschränkungen nur sind: Shared Memory verwenden, keine Fehlerausgabe, damit kann ich leben. Ich wollte nur mögliche Probleme vermeiden, die in Zukunft auftreten könnten. –