Hatókör
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

A Microsoft egyetlen letölthető fájlként terjeszti a Microsoft SQL Server 2008 R2 javításait. Mivel a javítások összegzőek, minden új kiadás tartalmazza az összes gyorsjavítást és az előző SQL Server 2008 R2 javítás kiadásában szereplő összes biztonsági javítást.

Jelenségek

Vegye figyelembe a következő forgatókönyvet:

  • Rendelkezik egy Master Data Services (MDS) modellel és entitással, amely tartományalapú attribútummal rendelkezik a Microsoft SQL Server 2008 R2-ben. A tartományalapú attribútum úgy lett kialakítva, hogy ugyanarra az attribútumra hivatkozik.Rendelkezik például egy Alkalmazott entitással, amely ManagerName attribútummal rendelkezik. A ManagerName attribútum ugyanarra az Alkalmazott entitásra hivatkozik.Megjegyzés: A felettes is egyfajta alkalmazott.

  • Van egy származtatott hierarchia, amely egy attribútumon van definiálva a tartományalapú attribútum rekurzív szülő-gyermek kapcsolatának megjelenítéséhez.

  • Olyan adatértékeket tölt be, amelyek egy vagy több körkörös hivatkozást tartalmaznak az MDS előkészítési táblára. Ez a viselkedés körkörös hivatkozást eredményez, és az attribútum első csomópontja nem része a körnek.Az alábbi adatminta például körkörös hivatkozást mutat be. A Member1 tag értéke azonban nem része a körnek:

    Tag1 --manager attribútum--> Tag2 --manager attribútum--> Tag3 --manager attribútum---> Tag2 --manager attribútum---> Tag3

    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)
  • Az alábbi módszerek egyikével töltheti be az adatértékeket az entitásba az MDS előkészítési folyamatával:

    • Futtassa az Exec [mdm] parancsot. [udpStagingSweep] eljárás a szakaszos adatok feldolgozásához szükséges paraméterekkel.

    • Kattintson az Integrációkezelés elemre az MDS webhely kezdőlapjának megnyitásához. Az Exportálás importálása lap Nem rögzített átmeneti rekordok szakaszfejléce alatt kattintson a Fogaskerék ikonra egy adott modell és verzió rekordjainak feldolgozásához.

Ebben a forgatókönyvben az előkészítési folyamat háttérfolyamata végtelen hurokba ütközhet, amikor a háttérfolyamat belsőleg meghívja az [mdm] metódust. [udpMemberRecursiveCircularCheck] eljárás.

A probléma oka

Ez a probléma azért fordul elő, mert az udpStagingSweep és az udpStagingMemberAttributeSave eljárások minden egyes előkészítési sorhoz egyszer meghívják az udpMemberRecursiveCircularCheck eljárást. Ennek a viselkedésnek ellenőriznie kell egy tartományalapú attribútum értékét, és hibát ad vissza, ha az előkészítési sor körkörös hivatkozást okoz a meglévő adatokkal együtt. Az összes előkészítési sor ellenőrzése után a következő eredmények jelennek meg:

  • A rendszer a hibák nélküli előkészítési sorokat alkalmazza.

  • A hibás előkészítési sorokat a rendszer hibakóddal jelzi.

Ha a "Tünetek" szakaszban leírt feltételek teljesülnek, az [mdm]. Az [udpMemberRecursiveCircularCheck] eljárás határozatlan ideig ismétlődik, amíg a kiszolgáló erőforrásai ki nem merülnek, vagy időtúllépés történik.

Megoldás

Kumulatív frissítési információk

SQL Server 2008 R2 Service Pack 1

A hiba javítása először a 4. kumulatív frissítésben jelent meg. A SQL Server 2008 R2 SP1 kumulatív frissítési csomagjának beszerzéséről a Microsoft Tudásbázis következő cikkében tájékozódhat:

2633146 4. összegző frissítési csomag SQL Server 2008 R2 Service Pack 1Note Mivel a buildek összegzőek, minden új javítás kiadás tartalmazza az összes gyorsjavítást és az előző SQL Server 2008 R2 SP1 javítás kiadásában szereplő összes biztonsági javítást. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás kiadásának alkalmazá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 buildek, amelyek a SQL Server 2008 R2 Service Pack 1 kiadása után jelentek meg

Állapot

A Microsoft megerősítette, hogy ez a probléma „A következőkre vonatkozik:” részben felsorolt Microsoft-termékekre vonatkozik.

Áthidaló megoldás

A következő módszerek valamelyikével áthidalhatja ezt a problémát.

  • A probléma megelőzéséhez kövesse az alábbi lépéseket:

    1. Az előkészítési folyamat futtatása előtt manuálisan tekintse át az előkészítési táblába beszúrt tagadat-értékeket.

    2. Győződjön meg arról, hogy a tartományalapú attribútumok összes tagértéke nem tartalmaz körkörös hivatkozásokat, amelyeket a "Tünetek" szakaszban ismertetünk

  • Ha a "Tünetek" szakaszban leírt probléma jelentkezik, kövesse az alábbi lépéseket a probléma megoldásához:

    1. Azonosítsa a végtelen hurokban futó munkamenetet.

    2. Állítsa le a munkamenetet a hurok leállításához.

    3. A körkörös hivatkozás újbóli feldolgozása előtt törölje a körkörös hivatkozási értékeket az előkészítési táblából.

Megjegyzések

  • A leölni kívánt munkamenet azonosításához használja az alábbi módszerek egyikét:

    • Tevékenységfigyelő használata a Microsoft SQL Server Management Studio-ban.

    • Válassza a sys.sysprocesses vagy sys.dm_exec_requests dinamikus felügyeleti nézet (DMV) lehetőséget az MDS-adatbázisban működő munkamenetek azonosításához, amelyekben a processzor és az idő gyorsan növekszik. Győződjön meg arról, hogy a munkameneten futó aktuális lekérdezés megegyezik az "Ok" szakaszban leírt eljárásnevekkel.

  • A munkamenetek jelenleg futó eljárásának azonosításához használja az alábbi módszerek egyikét:

    • Kattintson a jobb gombbal a Részletek menüre a tevékenységfigyelő folyamatlistáiban szereplő egyes folyamatokon.

    • Használja az alábbi paraméterek egyikét:

      • A DBCC INPUTBUFFER (spid) parancs és a munkamenet-azonosító.

      • A SELECT * FROM sys.dm_exec_sql_text(sqlhandle) függvény a DMV-kimenet használatakor a megfelelő SQL-leíró paraméterrel együtt.

Hivatkozások

A tevékenységfigyelők SQL Server Management Studio való megnyitásával kapcsolatos további információkért látogasson el az MSDN következő webhelyére:

Tevékenységfigyelő megnyitása SQL Server Management StudioA KILL szintaxissal kapcsolatos további információkért látogasson el a következő MSDN-webhelyre:

Általános információk a KILL szintaxisrólA sys.dm_exec_requests DMV-vel kapcsolatos további információkért látogasson el a következő MSDN-webhelyre:

Általános információk a sys.dm_exec_requests DMV-rőlA sys.dm_exec_sql_text DMV-vel kapcsolatos további információkért látogasson el a következő MSDN-webhelyre:

Általános információk a sys.dm_exec_sql_text DMV-rőlA DBCC INPUTBUFFER paranccsal kapcsolatos további információkért látogasson el a következő MSDN-webhelyre:

Általános információk a DBCC INPUTBUFFER parancsrólA SQL Server növekményes karbantartási modelljéről a Microsoft Tudásbázis következő cikkében tájékozódhat:

935897 Növekményes karbantartási modell érhető el a SQL Server csapattól a jelentett problémák gyorsjavításainak továbbításáhozA SQL Server frissítések elnevezési sémájáról további információt a microsoftos tudásbázisban a következő cikkszámra kattintva tekinthet meg:

822499 Új elnevezési séma a Microsoft SQL Server szoftverfrissítési csomagokhozA szoftverfrissítési terminológiával kapcsolatos további információkért kattintson a következő cikkszámra a Cikk a Microsoft Tudásbázisban való megtekintéséhez:

824684 A Microsoft szoftverfrissítéseinek leírására használt szabványos terminológia leírása

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.