Oprava: Sloupce typ dat XML jsou replikovány jako prázdné řetězce slučovací replikace, který používá filtr sloučení logický vztah záznamu typu SQL Server 2005

Překlady článku Překlady článku
ID článku: 948628 - Produkty, které se vztahují k tomuto článku.
Chyba: # 50002221 (SQL Hotfix)
Společnost Microsoft distribuuje opravy Microsoft SQL Server 2005 jako jeden soubor ke stažení. Protože jsou kumulativní opravy, každé nové vydání obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2005 vydání.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Zvažte následující scénář 2005 Microsoft SQL Server:
  • Konfigurovat replikaci korespondence pro tabulku, která obsahuje jeden nebo více sloupců typ dat XML.
  • Sloučení filtr pro tabulku vytvořit. Filtr sloučení je logický vztah záznamu typu. @ Filter_type parametr sp_addmergefilter uložené procedury je 2 nebo 3.
  • Na vydavatele nebo odběratele se spustit dávkové výkazu proti této tabulky.
  • Výkaz dávkové sestává z příkazu DELETE následovaný příkazu INSERT.
  • Potom synchronizaci replikace.
V tomto scénáři při kontrole vložených dat v jiné replice sloupce typ dat XML může být prázdné řetězce. Tento problém je způsoben non konvergence.

Příčina

Pokud provádíte operace vložení nebo aktualizace operace na tabulku obsahující sloupce XML slučovací replikace na 2005 Microsoft SQL Server provádí operace ve dvou krocích. První krok vloží nebo aktualizuje všechny sloupce, které nejsou typu dat XML. Druhý krok provádí operace aktualizace pro každý sloupec typ dat XML. Tyto kroky dojít, protože sloupce XML může být vázána pouze jako proudy. Zprostředkovatel OLE DB však neumožňuje pro vazby více než jeden datový proud pro řádek.

Protože dávkového má pouze jeden typ příkazu, je typ příkazu dávky Pokud příkaz DELETE je přítomen v dávce nejprve DELETE. V situaci popsané v "příznaky" oddílu, pokud je dávková obsahuje příkaz DELETE následovaný příkazu INSERT, změna přeskočen v příkazu INSERT sloupce XML.

Řešení

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 6. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2005 Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
9466086 Balíček kumulativní aktualizace pro SQL Server 2005 Service Pack 2
Poznámka: Protože jsou kumulativní sestavení, každé nové verzi oprava obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2005 vydání. Společnost Microsoft doporučuje zvážit instalaci nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
937137SQL Server 2005 vytvoří, které byly vydány po vydání SQL Server 2005 Service Pack 2
Opravy hotfix Microsoft SQL Server 2005 jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. SQL Server 2005 Service Pack 2 hotfix je třeba použít k instalaci aplikace SQL Server 2005 Service Pack 2. Ve výchozím opravy hotfix, která je poskytována v aktualizace service pack pro SQL Server 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 Informace v tomto článku jsou určeny pro produkt.

Další informace

Můžete použít následující dotaz zjistit, zda je pro tabulku vytvořen filtr sloučení logický vztah záznamu typu.
Select f.artid, a.name, f.filter_type 
from sysmergesubsetfilters f join sysmergearticles a
on f.artid=a.artid where a.name='<TableName>'
Příkazu A DELETE nevyžaduje dvoustupňový proces. Rozhodnutí, zda druhý krok se provádí na úrovni dávkové prohlédnutím typ příkazu prvního příkazu v dávce. Předpokladem je, že všechny příkazy v dávce jsou stejného typu. Je tedy dostatečná prozkoumejte pouze první příkaz v dávce. Pokud jsou v dávce logické záznamy, dávkové může být tvořena typy jiný příkaz. Proto je nedostatečná pouze první příkaz Prozkoumat. Rozhodnutí, zda druhý krok by měly být provedeny na úrovni příkazu a nikoli na úrovni listu. Tato oprava hotfix řeší tento problém. Po použití opravy hotfix prozkoumal všechny příkazy a potom jsou kroky určeny na základě typu příkazu.

Další informace o změně jaké soubory a informace o všech předpokladech použít balíček kumulativní aktualizaci obsahující opravu hotfix popsanou v tomto článku znalostní báze Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
9466086 Balíček kumulativní aktualizace pro SQL Server 2005 Service Pack 2

Odkazy

Další informace o seznamu sestavení, které jsou k dispozici po SQL Server Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
937137SQL Server 2005 vytvoří, které byly vydány po vydání SQL Server 2005 Service Pack 2
Další informace o modelu přírůstkové Servicing pro SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
935897Přírůstkové Model Servicing je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potíže
Další informace o získání SQL Server 2005 Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
913089Jak získat nejnovější aktualizaci service pack pro SQL Server 2005
Další informace o nových funkcí a vylepšení v SQL Server 2005 Service Pack 2 naleznete na následujícím webu:
http://go.microsoft.com/fwlink/?LinkId=71711
Další informace o pojmenování schématu aktualizace SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
822499Nové schéma přidělování názvů pro balíčky aktualizací softwaru Microsoft SQL Server
Další informace o terminologii používané v aktualizacích softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 948628 - Poslední aktualizace: 26. února 2008 - Revize: 1.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Klíčová slova: 
kbmt kbsql2005repl kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB948628 KbMtcs
Strojově přeložený článek
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:948628

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com