Wie kann ich eine lokal gespeicherte Prozedur in eine lokale Tabelle einfügen, ohne eine verteilte Transaktion zu erstellen? Ich möchte eine gespeicherte Prozedur auf einem Remote-Server ausführen und die Ausgabe als Quelle für eine Einfügung in eine lokale Tabelle verwenden.
sql-server
sql-server-2005
stored-procedures
remote
distributed-transactions
Guillermo Gutiérrez
quelle
quelle
Antworten:
Ab SQL Server 2008 können Sie Werbeaktionen für den Verbindungsserver deaktivieren. Es befindet sich auf der Registerkarte Erweiterte Eigenschaften, oder Sie können es wie folgt skripten:
Für SQL Server 2005 können Sie einen OLE DB-Verbindungsserver hinzufügen. Auf diese Weise können Sie detaillierte Optionen in die Verbindungszeichenfolge eingeben.
Hier erfahren Sie, wie Sie einen solchen Verbindungsserver konfigurieren. Klicken Sie
Server Objects
, klicken Sie mit der rechten MaustasteLinked Servers
und wählen SieNew Linked Server...
. Konfigurieren Sie den Server wie folgt:Data Source=<server or ip>,1433;Network Library=DBMSSOCN;Initial Catalog=<database name>;Enlist=false;
Die
Enlist=false
in der Verbindungszeichenfolge sollte verteilte Transaktionen verhindern.quelle