A Microsoft a Microsoft SQL Server 2008 Service Pack 1 (SP1) és a Microsoft SQL Server 2008 R2 javításokat egyetlen letölthető fájlként terjeszti. Mivel a javítások egymásra épülnek, minden új kiadás tartalmazza az SQL Server 2008 SP1 és az SQL Server 2008 R2 előző kiadásában szereplő összes gyorsjavítást és biztonsági frissítést.
Tünetek
Vegyük például a következő esetet:
- Telepíti a számítógépre a Microsoft SQL Server 2008 Integration Services (SSIS 2008) vagy a Microsoft SQL Server 2008 R2 Integration Services (SSIS 2008 R2) összetevőt.
- Létrehoz egy SSIS-csomagot, amely két For Loop tárolóelemet tartalmaz.
- Két For Loop tárolóhatókör-változót hoz létre a két For Loop tárolóelemhez. A változóknak azonos neve van.
- A változókat az InitExpression, az EvalExpression és az AssignExpression tulajdonságokban kell használni a két For Loop tárolóelemhez.
- A két For Loop tárolóelem több, párhuzamosan futó végrehajtási SQL-feladatelemet tartalmaz.
- Engedélyezi az Ellenőrzőpont beállítást az SSIS-csomaghoz.
- Futtatja az SSIS-csomagot.
- Az egyik SQL-feladat végrehajtása sikertelen vagy leáll az SSIS-csomag futása közben.
- Az SSIS-csomag újra fut.
Ebben az esetben helytelen a Végrehajtási SQL-feladat egyik olyan elemének változóértéke, amely nem hiúsult vagy állt le.
Megjegyzés: Ez a végrehajtás SQL-feladatelem a For Loop tárolóelemben található, amely nem hiúsult meg vagy állt le.
Vegyük például a következő esetet:
- Létrehoz egy SSIS-csomagot, amely két For Loop tárolóelemmel rendelkezik. Az elemek neve FLC01 és FLC02.
- Hozzon létre egy BatchNo változót az FLC01-hez és egy BatchNo változót az FLC02-höz.
- Az InitExpression tulajdonságot a @[User::BatchNo] = 0 értékre állítja.
- Az EvalExpression tulajdonságot a @[User::BatchNo] < 10 értékre állítja.
- Az AssignExpression tulajdonságot a következő értékre állítja: @[User::BatchNo]=@[User::BatchNo]+1.
- A két For Loop tárolóelem több, párhuzamos végrehajtási tervet használó SQL-feladatelemet tartalmaz.
- Engedélyezi az Ellenőrzőpont beállítást az SSIS-csomaghoz.
- Futtatja az SSIS-csomagot.
- Az FLC01 egyik SQL-feladatelemének végrehajtása sikertelen vagy leállt.
- Az SSIS-csomag újra fut.
Ebben a forgatókönyvben az FLC02 egyik SQL-feladat végrehajtása elemének BatchNo értéke helytelen.
Megjegyzés: Ez a probléma a Microsoft SQL Server 2008 R2 Integration Services (SSIS 2008 R2) szolgáltatásban is előfordul.
Ok
Ez a probléma a Checkpoint változó visszaállítási logikájának hibája miatt fordult elő.
Az ellenőrzőpont-változók helytelen feladatokba lettek visszaállítva. Ezért a program visszaállít egy helytelen változóértéket.
Megoldás
Összegző frissítéssel kapcsolatos információk
SQL Server 2008 R2
A hiba javítását először a 11-es összegző frissítésben adtuk ki. Az SQL Server 2008 R2-höz kiadott összegző frissítőcsomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2633145 11-es összegző frissítőcsomag a SQL Server 2008 R2-höz Megjegyzés: Mivel a buildek kumulatívak, minden új javítás tartalmazza az SQL Server 2008 R2 előző kiadásában szereplő összes gyorsjavítást és biztonsági javítást. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
981356 Megjelentek a SQL Server 2008 R2 utáni SQL Server 2008 R2 buildek
SQL Server 2008 R2 Service Pack 1
A hiba javítását először az SQL Server 2008 R2 Service Pack 1 4-es összegző frissítésében adtuk ki. Az összegző frissítési csomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2633146 4-es összegző frissítőcsomag a SQL Server 2008 R2 Service Pack 1-höz Megjegyzés: Mivel a buildek kumulatívak, minden új javításkiadás tartalmazza az SQL Server 2008 R2 előző kiadásában szereplő összes gyorsjavítást és biztonsági javítást. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2567616 A SQL Server 2008 R2 Service Pack 1 szervizcsomag után megjelent SQL Server 2008 R2 buildek
SQL Server 2008 Service Pack 2
A hiba javítását először az SQL Server 2008 Service Pack 2 7. összegző frissítésében adtuk ki. Az összegző frissítési csomagról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2617148 7-es összegző frissítőcsomag a 2008-as SQL Server 2008-as szervizcsomaghoz Megjegyzés: Mivel a buildek kumulatívak, minden új javításkiadás tartalmazza az összes gyorsjavítást és az összes biztonsági javítást, amely az előző SQL Server 2008-as javításban szerepelt. A Microsoft azt javasolja, hogy fontolja meg az ezt a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2402659 A SQL Server 2008-as szervizcsomag 2 megjelenése után kiadott SQL Server 2008-as buildek A Microsoft SQL Server 2008 gyorsjavításai meghatározott SQL Server szervizcsomagokhoz készültek. Az SQL Server 2008 Service Pack 2 telepítéséhez telepítenie kell az SQL Server 2008 Service Pack 2 gyorsjavítását. Alapértelmezés szerint az SQL Server szervizcsomagjában található összes gyorsjavítás megtalálható a következő SQL Server szervizcsomagban.
16-os összegző frissítőcsomag az SQL Server 2008 SP1-hez
A hiba javítását először az SQL Server 2008 SP1 16-os összegző frissítőcsomagja tartalmazza. Az SQL Server 2008 SP1-hez kiadott összegző frissítőcsomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2582282 16. összegző frissítési csomag a 2008. SQL Server Service Pack 1-hez Megjegyzés: Mivel a buildek összegző jellegűek, minden új frissítés tartalmazza az előző, 2008-as SP1 SQL Server frissítésben szereplő összes gyorsjavítást és biztonsági frissítést. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb frissítés telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
970365 A SQL Server 2008-as szervizcsomag 1 után megjelent SQL Server 2008-as buildek
Kerülő megoldás
A probléma megkerüléséhez használjon eltérő változónevet minden For Loop tárolóelemhez.
Állapot
A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.