Zobrazí se chybová zpráva 7391 SQL Server 2000 při spuštění distribuované transakce proti propojený server po instalaci systému Windows Server 2003 nebo Windows XP Service Pack 2
Když
spuštění distribuovaná
transakce proti
instance serveru SQL Server, může se zobrazit chybová zpráva podobná
následující:
Server: Zpráva 7391, úroveň 16, uveďte 1 řádek
1 Operaci nelze provést, protože zprostředkovatel OLE DB
"sqloledb" nemohl začít distribuované transakce. [Zprostředkovatel OLE/DB
vrátil zprávu: nová transakce nemůže vypsat zadanou transakci
koordinátora. ] Trasování chyby OLE DB [zprostředkovatel OLE/DB "sqloledb"
0X8004d00a vrátil ITransactionJoin::JoinTransaction].
K tomuto problému může dojít, pokud platí jedna z následujících podmínek:
Microsoft Windows Server 2003 nebo Microsoft Windows XP Service Pack 2 (SP2) je nainstalováno
počítač, který inicializuje distribuované transakce.
Microsoft Windows Server 2003 nebo Microsoft Windows XP SP2 je nainstalován na vzdáleném počítači, který je
se Microsoft SQL Server 2000 a počítači je propojen s počítači, který zahájí distribuované transakce.
K tomuto problému dochází z důvodu jedné nebo více z následujících
důvody:
Microsoft Distributed Transaction Coordinator
(MSDTC) je zakázáno síťových transakcí.
Brána firewall systému Windows
v počítači je povolena.
Ve výchozím nastavení brána Firewall systému Windows blokuje Microsoft Distributed Transaction
Program Coordinator (MS DTC).
Poznámka: Tento problém může nastat i když systém Windows
Brána firewall je vypnutá.
Důležité Tento oddíl, metoda nebo úkol obsahuje kroky, které informace o úpravě registru. Však mohou nastat závažné problémy při nesprávných úpravách registru. Proto se ujistěte, opatrně postupujte takto. Pro zvýšení ochrany před úpravami je nutné zálohujte registr. Můžete pak obnovení registru v případě, že dojde k potížím. Další informace o zálohování a obnovení registru získáte článku znalostní báze Microsoft Knowledge Base:
Postup při zálohování a obnovení registru v systému Windows
Chcete-li tento problém vyřešit, postupujte takto nainstalovaného systému Windows Server 2003 nebo Windows XP SP2 v počítači:
Ujistěte se,
Ujistěte, Přihlaste se jako účet pro službu MS DTC je Síťová služba účet. Chcete-li to provést, postupujte
kroky:
Klepněte na tlačítko Spustita klepněte na tlačítko Spustit.
V Spustit Dialogové okno, typ Services.msca klepněte na tlačítko OK.
V Služby okno, vyhledejte Distribuované transakce
Koordinátora služby v rámci Název v pravém podokně.
Ve skupinovém rámečku Přihlaste se jako sloupec, viz
zda Přihlaste se jako účet je Síťová služba nebo Místní
Systém.
Pokud Přihlaste se jako účet je Síťová služba, přejděte
ke kroku 2. Pokud Přihlaste se jako účet je Místní systém účet, pokračujte podle následujících kroků.
Klepněte na tlačítko Spustita klepněte na tlačítko Spustit.
V Spustit Dialogové okno, typ cmda klepněte na tlačítko OK.
Na příkazovém řádku zadejte následující příkaz: Net stop
Koordinátor MSDTC Zastavte službu MSDTC.
Na příkazovém řádku zadejte následující příkaz: Koordinátor MSDTC –uninstall odebrání MSDTC.
Na příkazovém řádku zadejte následující příkaz: regedit Otevřete Editor registru.
V Editoru registru vyhledejte následující klíč:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
klíč registru.
Odstraníte tento klíč.
Ukončete Editor registru.
Na příkazovém řádku zadejte následující příkaz: Koordinátor MSDTC –install instalace
KOORDINÁTOR MSDTC.
Na příkazovém řádku zadejte následující příkaz: Net start
Koordinátor MSDTC Spusťte službu MS DTC.
Všimněte si, že Protokol
Na jako účet pro službu MSDTC je nastavena na Síťová službaúčet.
Klepněte na tlačítko Spustita klepněte na tlačítko Spustit.
V Spustit Dialogové okno, typ Dcomcnfg.exea klepněte na tlačítko OK.
V Služby Component Services okna,
Rozbalit Služby Component Services, rozbalte položku Počítače,
a potom rozbalte položku Tento počítač.
Klepněte pravým tlačítkem myši Tento počítača pak
Klepněte na tlačítko Vlastnosti.
V Vlastní vlastnosti počítače Dialogové okno
Klepněte na tlačítko Konfigurace zabezpečení v KOORDINÁTOR MSDTC na kartě.
V Konfigurace zabezpečení Dialogové okno
pole, zaškrtněte Síťový přístup pomocí koordinátoru DTC Kontrola
pole.
K
umožňuje spouštět v tomto počítači ze vzdáleného distribuované transakce
počítač, zaškrtněte Povolit příchozí Kontrola
pole.
K
Povolit spustit ve vzdáleném počítači z této distribuované transakce
počítač, zaškrtněte Povolit odchozíZaškrtávací políčko.
Ve skupinovém rámečku Správce transakcí
Komunikace Skupina, klepněte na tlačítko Vybrat Žádné ověřování
Požadováno možnost. Nastavit Ověření nevyžadováno na klienta a vzdálené systémy.
V Konfigurace zabezpečení Dialogové okno
Klepněte na tlačítko OK.
V Vlastní vlastnosti počítače Dialogové okno
Klepněte na tlačítko OK.
Konfigurace brány Firewall systému Windows zahrnout
Program koordinátoru MS DTC a obsahovat port 135 jako výjimku. Postup:
postupujte takto:
Klepněte na tlačítko Spustita klepněte na tlačítko Spustit.
V Spustit Dialogové okno, typ Příkaz firewall.cpla klepněte na tlačítko OK
V Ovládací panely, poklepejte na položku Brána Firewall systému Windows.
V Brána Firewall systému Windows Dialogové okno
Klepněte na tlačítko Přidat Program v Výjimky na kartě.
V Přidat Program Dialogové okno, klepněte na tlačítko
na Procházet tlačítko a potom vyhledejte soubor Msdtc.exe. Podle
Výchozí soubor je uložen v <installation drive="">: \Windows\System32</installation> složka.
V Přidat Program Dialogové okno, klepněte na tlačítko OK.
V Brána Firewall systému Windows Dialogové okno
Klepnutím vyberte Koordinátor MSDTC volbu v Programy a služby seznam.
Klepněte na tlačítko Přidat Port v Výjimky na kartě.
V Přidat Port Dialogové okno, typ 135 v Číslo portu textové pole a
a poté klepnutím vyberte TCP možnost.
V Přidat Port Zadejte název pro výjimku v dialogovém Název textové pole a pak klepněte na tlačítko OK.
V Brána Firewall systému Windows Dialogové okno
Vyberte název
použitý pro výjimku v kroku j v Programy a služby seznam a potom klepněte na tlačítko OK.
Test ping z hostitelského serveru ke vzdálenému serveru a ze vzdáleného serveru na server, pomocí názvu netbios (server, bez názvu domény).
Koordinátor Microsoft Distributed Transaction Coordinator používá název netbios, nikoli plně kvalifikovaný název domény, k vyhledání serverů. Pokud se nezdaří překlad, distribuované transakce se nezdaří.
Pokud název netbios pomocí příkazu ping nezdaří, naleznete v následujícím článku znalostní báze knowledge base:
Protokol
k počítači
který má systém Windows Server 2003 nebo Windows XP SP2 nainstalovali.
Spustit
Query Analyzer.
Přidat
vzdálený počítač se systémem Microsoft SQL Server 2000 jako
propojený server. Chcete-li to provést, spusťte následující příkaz Transact-SQL v dotazu
Analýza:
EXEC sp_addlinkedserver '<remote_server>', N'SQL SERVER'
GO
Poznámka: Nahradit remote_server název počítače,
musí být nakonfigurován jako propojený server.
Spustit
distribuované transakce mezi tímto počítačem a vzdáleným počítačem. Postup:
to spusťte následující příkaz
Transact-SQL v dotazu
Analýza:
SET xact_abort ON
GO
USE pubs
GO
BEGIN DISTRIBUTED TRANSACTION
SELECT * FROM <remote_server>.pubs.dbo.authors
COMMIT TRAN
GO
Jste
může se zobrazit chybová zpráva, která je uvedena v části "Příznaky".
Další informace o konfiguraci pro použití se serverem SQL Server 2000 Service Pack 2 systému Windows XP klepněte na následující číslo článku databáze Microsoft Knowledge Base:
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.