Verbindungsserver mit Trigger befuellen geht nicht

18/03/2008 - 11:06 von Simon Kurz | Report spam
Hallo,
ich habe zwei SQL Server 2005. Auf dem einen ist ein Verbindungsserver und
Synonyme auf Tabellen zu dem anderen Server eingerichtet. Wenn ich im MSSMS
einen Insert in die Synonym Tabelle mache, ist alles keine Problem. Nun
möchte ich einen Insert machen, wenn in der ersten DB etwas in eine Tabelle
geschrieben wird. Dazu habe ich einen Trigger mit AFTER INSERT auf die
betroffene Tabelle gesetzt. Dieser macht den gleichen Insert Befehl wie ich
vorher "von Hand" gemacht habe. Nur kommt, wenn der Trigger feuert, die
Meldung:

"Der OLE DB-Anbieter "SQLNCLI" für den Verbindungsserver "SERVER2" hat die
Meldung "Der Partner-Transaktions-Manager hat die Unterstützung für
Remote-/Netzwerktransaktionen deaktiviert." zurückgeben.
Meldung 7391, Ebene 16, Status 2, Prozedur TestTrigger, Zeile 24
Der Vorgang konnte nicht ausgeführt werden, da der OLE DB-Anbieter "SQLNCLI"
für den Verbindungsserver "SERVER2" keine verteilte Transaktion beginnen
konnte."

Ich habe nun schon gelesen, das man den DTC auf beiden Servern einschalten
soll, nur wie und wo mache ich das?

Mit DTC-Ping kommt die Meldung:
...
RPC test is sucsessfull
...
Binding success: Server1 -> Server2

Wer weiß Rat?
Danke und Gruß
Simon
 

Lesen sie die antworten

#1 Elmar Boye
18/03/2008 - 11:38 | Warnen spam
Hallo Simon,

Simon Kurz schrieb:
ich habe zwei SQL Server 2005. Auf dem einen ist ein Verbindungsserver und
Synonyme auf Tabellen zu dem anderen Server eingerichtet. Wenn ich im MSSMS
einen Insert in die Synonym Tabelle mache, ist alles keine Problem. Nun
möchte ich einen Insert machen, wenn in der ersten DB etwas in eine Tabelle
geschrieben wird. Dazu habe ich einen Trigger mit AFTER INSERT auf die
betroffene Tabelle gesetzt. Dieser macht den gleichen Insert Befehl wie ich
vorher "von Hand" gemacht habe. Nur kommt, wenn der Trigger feuert, die
Meldung:

"Der OLE DB-Anbieter "SQLNCLI" für den Verbindungsserver "SERVER2" hat die
Meldung "Der Partner-Transaktions-Manager hat die Unterstützung für
Remote-/Netzwerktransaktionen deaktiviert." zurückgeben.
Meldung 7391, Ebene 16, Status 2, Prozedur TestTrigger, Zeile 24
Der Vorgang konnte nicht ausgeführt werden, da der OLE DB-Anbieter "SQLNCLI"
für den Verbindungsserver "SERVER2" keine verteilte Transaktion beginnen
konnte."

Ich habe nun schon gelesen, das man den DTC auf beiden Servern einschalten
soll, nur wie und wo mache ich das?



Grundsàtzlich: <URL:http://support.microsoft.com/kb/306212>
"How to troubleshoot error 7391 that occurs when you use a linked server in SQL Server"

Zum aktivieren von MS DTC:
<URL:http://support.microsoft.com/kb/329332>
"You receive error 7391 when you run a distributed transaction against a linked server
in SQL Server 2000 on a computer that is running Windows Server 2003"

und <URL:http://support.microsoft.com/kb/873160>
"You may receive a 7391 error message in SQLOLEDB when you run a distributed transaction
against a linked server after you install Windows XP Service Pack 2 or
Windows XP Tablet PC Edition 2005"

Grundsàtzliches findest Du zudem im SDK:
<URL:http://msdn2.microsoft.com/en-us/library/ms681291(VS.85).aspx>

Gruß Elmar

Ähnliche fragen