Teď jste offline a čekáte, až se znova připojí internet.

Oprava: Distribuční Agent může přeskočit některé řádky při konfiguraci transakční replikace, který používá "-SkipErrors" parametr serveru SQL Server 2005

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.

Projděte si také anglickou verzi článku:938671
Příznaky
Pokud nakonfigurujete transakční replikace, který používá -SkipErrors parametr v Microsoft SQL Server 2005 distribuce Agent může přeskočit některé řádky. Toto chování způsobí chybu dat nekonzistence mezi vydavateli a odběratelům.

Navíc dojde-li k tomuto problému, distribuce Agent může zobrazit následující zprávy:
007-05-18 22:49:38.195 Proces se nepodařilo dokončit poslední šarže v režimu datové proudy multi, obnovit režim jednoho připojení a je opakování operace.

007-05-18 22:49:38.273 1 Přeskočené chyby při použití transakce u odběratele. byly dodány 007-05-18 22:49:38.367 101 transakcí s 100 příkazů.

byly dodány 007-05-18 22:49:38.477 100 transakcí s 100 příkazů. 007-05-18 22:49:38.570 Přeskočené chyby 1 při použití transakce u odběratele.

byly dodány 007-05-18 22:49:38.664 100 transakcí s 100 příkazů.
Řešení
Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 2. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2005 Service Pack 2 naleznete následující článku znalostní báze Microsoft Knowledge Base:
936305Balíček kumulativní aktualizace 2 pro SQL Server 2005 Service Pack 2
Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí serveru SQL Server 2005, opravte uvolnění. Společnost Microsoft doporučuje zvážit použití nejnovější vydání opravy, které tato oprava hotfix. Další informace získáte následujícím článku znalostní báze Microsoft:
937137Vytvoří serveru SQL Server 2005, které byly vydány po vydání serveru SQL Server 2005 Service Pack 2
Opravy hotfix Microsoft SQL Server 2005 jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2005 Service Pack 2 je třeba použít k instalaci serveru SQL Server 2005 Service Pack 2. Ve výchozím nastavení žádné opravy hotfix, která je poskytována v aktualizace service pack pro SQL Server je součástí příští aktualizace service pack pro SQL Server.
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části „ platí.
Další informace
Ve výchozím když Agent distribuce narazí na chybu, agent distribuce by měla být zastavena. Pokud použijete parametr –SkipErrors konkrétní chyby, agent distribuce přeskočí tyto chyby a pokračuje ve zpracování po sobě následujících transakcí.

Kroky pro reprodukci problému

  1. Nastavení prostředí replikace. To do this, run the following scripts in SQL Query Analyzer.
    use mastergoexec sp_adddistributor  @distributor = @@SERVERNAMEgoexec sp_adddistributiondb  @database = 'distribution'goexec sp_adddistpublisher  @publisher = @@SERVERNAME, @distribution_db = 'distribution'goexec sp_replicationdboption pubdb, publish, falsegoexec sp_replicationdboption subdb, publish, falsegoif db_id('pubdb') is not null    drop database pubdbgocreate database pubdbgoif db_id('subdb') is not null    drop database subdb gocreate database subdbgoexec sp_replicationdboption pubdb, publish, truegouse pubdbgocreate table t(c1 int primary key, c2 int, c3 sysname null, c4 nchar(200) default 'a')gocreate unique index c2_idx on t(c2)gosp_addpublication @publication = 'p1', @status = 'active'gosp_addarticle @publication = 'p1', @article = 'a1', @source_table = 't', @schema_option = 0x00000000000300f3gosp_addsubscription @publication = 'p1', @article = 'all', @subscriber = @@servername, @destination_db = 'subdb'go
  2. Save the following command as a batch file, and then run the file to insert data.
    c: pushd "c:\program files\microsoft sql server\90\com\" del dist.outcall snapshot.exe -publisher %COMPUTERNAME% -publisherdb pubdb -distributor %COMPUTERNAME% -distributorsecuritymode 1 -publication p1call logread.exe -publisher %COMPUTERNAME% -publisherdb pubdb -distributor %COMPUTERNAME% -distributorsecuritymode 1 call distrib.exe -publisher %COMPUTERNAME% -publisherdb pubdb -distributor %COMPUTERNAME% -distributorsecuritymode 1 -publication p1 -subscriber %COMPUTERNAME% -subscriberdb subdb start cmd.exe /s /k "logread.exe -publisher %COMPUTERNAME% -publisherdb pubdb -distributor %COMPUTERNAME% -distributorsecuritymode 1 -continuous"start cmd.exe /s /k "distrib.exe -publisher %COMPUTERNAME% -publisherdb pubdb -distributor %COMPUTERNAME% -distributorsecuritymode 1 -publication p1 -subscriber %COMPUTERNAME% -subscriberdb subdb -subscriptionstreams 8 -SkipErrors 2601:2627 -Output dist.out -OutputVerboseLevel 2 -continuous"popdosql -E -S[SQL_server] -Q"insert subdb..t (c1, c2) values (1000, 1000)"osql -E -S[SQL_server] -Q"insert subdb..t (c1, c2) values (2500, 1015)"osql -E -S[SQL_server] -Q"begin tran declare @v int select @v = 1 while (@v < 1020) begin insert pubdb..t (c1, c2) values (@v, @v) select @v = @v + 1 end commit tran"osql -E -S[SQL_server] -Q"declare @v int select @v = 3100 while (@v < 3500) begin insert pubdb..t (c1, c2) values (@v, @v) select @v = @v + 1 waitfor delay '0:0:0.10' end"
    Poznámka zástupného SQL_server představuje název instance serveru SQL Server.
  3. Všimněte si, že data nebyla byla replikována do databáze odběratele.

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 938671 - Poslední kontrola: 08/01/2007 17:52:33 - Revize: 1.4

Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems

  • kbmt kbexpertiseinter kbqfe KB938671 KbMtcs
Váš názor
&t=">