Platí pro
SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup

Microsoft distribuuje opravy Microsoft SQL Server 2008 R2 jako jeden soubor ke stažení. Vzhledem k tomu, že opravy jsou kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2008 R2 opravy.

Příznaky

Představte si následující scénář:

  • Máte model Master Data Services (MDS) a entitu, která má atribut založený na doméně v Microsoft SQL Server 2008 R2. Atribut založený na doméně je navržený tak, aby odkazoval na stejný atribut.Máte například entitu Employee s atributem ManagerName. Atribut ManagerName odkazuje na stejnou entitu Employee.Poznámka: Manažer je také druh zaměstnance.

  • U atributu je definována odvozená hierarchie, která zobrazuje rekurzivní vztah nadřazenosti a podřízenosti pro atribut založený na doméně.

  • Načte hodnoty dat, které obsahují jeden nebo více cyklických odkazů na pracovní tabulku MDS. Toto chování způsobí cyklický odkaz a první uzel v atributu není součástí kruhu.Například následující vzor dat ukazuje cyklický odkaz. Hodnota členu Member1 však není součástí kruhu:

    Member1 --manager attribute--> Member2 --manager attribute---> Member3 --manager attribute---> Member2 --manager attribute--> Member3

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • K načtení datových hodnot do entity pomocí přípravného procesu MDS použijete jednu z následujících metod:

    • Spusťte Exec [mdm]. Procedura [udpStagingSweep] pomocí parametrů potřebných ke zpracování fázovaných dat.

    • Kliknutím na Správa integrace přejděte na domovskou stránku webu MDS. Na stránce Import Export klikněte v záhlaví oddílu Unbatched Staging Records na ikonu ozubeného kola a zpracujte záznamy pro konkrétní model a verzi.

V tomto scénáři může proces na pozadí během přípravného procesu narazit na nekonečnou smyčku, když proces na pozadí interně volá [mdm]. Procedura [udpMemberRecursiveCircularCheck].

Příčina

K tomuto problému dochází, protože udpStagingSweep a udpStagingMemberAttributeSave procedury volání udpMemberRecursiveCircularCheck procedura jednou pro každý pracovní řádek. Toto chování by mělo zkontrolovat hodnotu atributu založeného na doméně a vrátit chybu, pokud pracovní řádek způsobí cyklický odkaz společně s existujícími daty. Po kontrole všech pracovních řádků se zobrazí následující výsledky:

  • Použijí se přípravné řádky bez chyb.

  • Pracovní řádky s chybami jsou označeny kódem chyby.

Pokud jsou podmínky popsané v části "Příznaky" splněné, [mdm]. Procedura [udpMemberRecursiveCircularCheck] se opakuje bez omezení, dokud se nevyčerpají prostředky serveru nebo nedojde k vypršení časového limitu.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2008 R2 Service Pack 1

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 4. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 R2 SP1 naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

2633146 Balíček kumulativní aktualizace 4 pro SQL Server 2008 R2 Service Pack 1Note Vzhledem k tomu, že sestavení jsou kumulativní, každá nová verze oprav obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2008 R2 SP1. Doporučujeme zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

2567616 Byly vydány buildy SQL Server 2008 R2 vydané po aktualizaci SQL Server 2008 R2 Service Pack 1

Stav

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.

Řešení

Jako alternativní řešení použijte jednu z následujících metod:

  • Pokud chcete tomuto problému zabránit, postupujte takto:

    1. Před spuštěním přípravného procesu ručně zkontrolujte hodnoty členských dat, které se vkládají do pracovní tabulky.

    2. Ujistěte se, že všechny hodnoty členů pro všechny atributy založené na doméně neobsahují cyklický odkaz, který je popsaný v části Příznaky.

  • Pokud dojde k problému popsanému v části Příznaky, opravte ho následujícím postupem:

    1. Identifikujte relaci spuštěnou v nekonečné smyčce.

    2. Ukončete relaci, aby se zastavila smyčka.

    3. Před dalším zpracováním cyklických odkazů odstraňte hodnoty cyklického odkazu z pracovní tabulky.

Poznámky

  • Pokud chcete zjistit, kterou relaci chcete zabít, použijte jednu z následujících metod:

    • Použijte monitorování aktivit v Microsoft SQL Server Management Studio.

    • Vyberte z sys.sysprocesses nebo sys.dm_exec_requests zobrazení dynamické správy (DMV) a identifikujte relace, které pracují v databázi MDS, ve kterých se procesor a čas rychle navyšují. Ujistěte se, že aktuální dotaz spuštěný v relaci odpovídá názvům procedur popsaným v části Příčina.

  • Pokud chcete identifikovat aktuálně spuštěný postup pro relace, použijte jednu z následujících metod:

    • V každém procesu v seznamu procesů monitorování aktivit klikněte pravým tlačítkem myši na nabídku Podrobnosti .

    • Použijte jeden z následujících parametrů:

      • Příkaz DBCC INPUTBUFFER (spid) společně s ID relace.

      • Funkce SELECT * FROM sys.dm_exec_sql_text(sqlhandle) spolu s odpovídajícím parametrem popisovače SQL při použití výstupu DMV.

Odkazy

Další informace o tom, jak otevřít monitorování aktivit v SQL Server Management Studio naleznete na následujícím webu MSDN:

Otevření monitorování aktivit v SQL Server Management StudioDalší informace o syntaxi KILL naleznete na následujícím webu MSDN:

Obecné informace o syntaxi KILLDalší informace o zobrazení dynamické správy sys.dm_exec_requests naleznete na následujícím webu MSDN:

Obecné informace o zobrazení dynamické správy sys.dm_exec_requestsDalší informace o zobrazení dynamické správy sys.dm_exec_sql_text naleznete na následujícím webu MSDN:

Obecné informace o zobrazení dynamické správy sys.dm_exec_sql_textDalší informace o příkazu DBCC INPUTBUFFER naleznete na následujícím webu MSDN:

Obecné informace o příkazu DBCC INPUTBUFFERDalší informace o modelu přírůstkové údržby pro SQL Server naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

935897 Model přírůstkové údržby je k dispozici od týmu SQL Server k doručování oprav hotfix pro nahlášené problémy Další informace o schématu pojmenování pro aktualizace SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:

822499 Nové schéma pojmenování pro balíčky aktualizací softwaru Microsoft SQL Server Další informace o terminologii aktualizací softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.