KB2583994-FIX: SSIS obnoví nesprávnou hodnotu proměnné pro položku Spustit dotaz SQL položky kontejner for Loop v SSIS 2008 nebo v SSIS 2008 R2, pokud se balíček SSIS po selhání nebo ukončení spustí.

Společnost Microsoft distribuuje Microsoft SQL Server 2008 Service Pack 1 (SP1) nebo Microsoft SQL Server 2008 R2 opravy jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 SP1 nebo SQL Server 2008 R2 Update.

Příznaky

Zvažte následující scénář:

  • Do počítače nainstalujete integrační služby Microsoft SQL Server 2008 Integration Services (SSIS 2008) nebo Microsoft SQL Server 2008 R2 Integration Services (SSIS 2008 R2).

  • Vytvoříte balíček SSIS, který obsahuje dvě položky kontejneru Loops .

  • Vytvořte dvě proměnné rozsahu kontejneru pro smyčku pro položky kontejneru dvě pro smyčku . Proměnné mají stejný název.

  • Proměnné se používají ve vlastnostech InitExpression, EvalExpressiona AssignExpression pro položky kontejneru dvě. všechna smyčka .

  • Položky kontejner dvě pro smyčku obsahují několik položek Spustit úkol SQL , které pracují paralelně.

  • Povolíte nastavení kontrolního bodu pro balíček SSIS.

  • Spustíte balíček SSIS.

  • V průběhu spuštění balíčku SSIS se nezdaří nebo zastaví některá z položek úkolů spuštění SQL .

  • Balíček SSIS se zase spustí.

V tomto scénáři je hodnota proměnné pro jednu z položek úkolů Execute SQL , které nebyly úspěšné nebo jsou chybné, nesprávná.Poznámka Tato položka provést úkol SQL je v položce kontejneru smyčky for , která se nezdařila nebo byla zastavena. Zvažte například následující specifický scénář:

  • Vytvoříte balíček SSIS, který obsahuje dvě položky kontejneru Loops . Položky mají název FLC01 a FLC02.

  • Vytvoříte proměnnou BatchNo pro FLC01 a proměnnou BatchNo pro FLC02.

  • Vlastnost InitExpression nastavíte na @ [User:: BatchNo] = 0.

  • Vlastnost EvalExpression nastavíte na @ [User:: BatchNo] < 10.

  • Vlastnost AssignExpression nastavíte na @ [User:: BatchNo] = @ [uživatel:: BatchNo] + 1.

  • Položky kontejner dvě pro smyčku obsahují více položek úkolů spuštění SQL , které používají plán paralelního spuštění.

  • Povolíte nastavení kontrolního bodu pro balíček SSIS.

  • Spustíte balíček SSIS.

  • Jedna položka provádění úkolu SQL v FLC01 selže nebo se zastaví.

  • Balíček SSIS se zase spustí.

V tomto scénáři je nesprávná hodnota BatchNo pro jednu z položek Task SQL v FLC02.Poznámka K tomuto problému dochází taky v integračních službách Microsoft SQL Server 2008 R2 Integration Services (SSIS 2008 R2).

Příčina

K tomuto problému dochází z důvodu chyby v logice obnovení proměnné. Proměnné kontrolního bodu jsou obnoveny v nesprávném úkolu. Proto se obnoví nesprávná hodnota proměnné.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2008 R2

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 11. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2633145 Kumulativní aktualizace 11 pro SQL Server 2008 R2 Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

981356 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2

SQL Server 2008 R2 Service Pack 1

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 4 pro SQL Server 2008 R2 Service Pack 1. Další informace o tom, jak získat tento kumulativní balíček aktualizací, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

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

2567616 Sestavení SQL Server 2008 R2, která byla vydána po SQL serveru 2008 R2 Service Pack 1, byla vydána

SQL Server 2008 Service Pack 2

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 7 pro SQL Server 2008 Service Pack 2. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2617148 Kumulativní balíček aktualizací 7 pro SQL Server 2008 Service Pack 2Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 Oprava. Společnost Microsoft doporučuje zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

2402659 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 2 Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2008. Na instalaci SQL serveru 2008 Service Pack 2 musíte použít opravu hotfix systému SQL Server 2008 Service Pack 2. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.

Kumulativní balíček aktualizací 16 pro SQL Server 2008 SP1

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci pro systém SQL Server 2008 SP1. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 SP1, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

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

970365 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 1

Alternativní řešení

Tento problém vyřešíte tak, že pro každou položku kontejneru smyčka použijete jiný název proměnné.

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.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×