Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Microsoft distribuerar Microsoft SQL Server 2008 R2-korrigeringsfiler som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den tidigare versionen av SQL Server 2008 R2.

Symptom

Tänk dig följande situation:

  • Du har en översikt för Master Data Services (MDS) och en enhet som har ett domänbaserat attribut i Microsoft SQL Server 2008 R2. Det domänbaserade attributet är utformat för att referera till samma attribut. Om du till exempel har en person som har ett ManagerName -attribut. Attributet ManagerName syftar på samma anställdes organisation.Obs! En chef är också en typ av anställd.

  • Det finns en härledd hierarki som är definierad i ett attribut för att visa den rekursiva överordnade eller underordnade relationen för det domänbaserade attributet.

  • Du läser in data värden som innehåller en eller flera cirkulära referenser till mellanlagringsdatabasens MDS-mellantabell. Detta orsakar en cirkel referens och den första noden i attributet är inte en del av cirkeln. Följande data mönster visar till exempel en cirkel referens. Värdet för Member1 är inte en del av cirkeln:

    Member1--Manager-attribut--> Member2-Member3-attribut-->-Member2---->--> 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)
  • Du använder någon av följande metoder för att läsa in data värden i entiteten med hjälp av MDS-mellanlagringen:

    • Kör exec [MDM]. [ udpStagingSweep] genom att använda de parametrar som behövs för att bearbeta de stegvisa data.

    • Klicka på integrations hantering för att besöka start sidan för MDS-webbplatsen. På sidan import-export under rubriken unbatched Staging Records klickar du på kugg hjuls ikonen för att bearbeta posterna för en viss modell och version.

I det här scenariot kan bakgrunds processen under mellanlagringen inträffa en oändlig loop när bakgrunds processen anropar [MDM]. [ udpMemberRecursiveCircularCheck] -procedur.

Orsak

Det här problemet beror på att procedurerna udpStagingSweep och udpStagingMemberAttributeSave anropar proceduren udpMemberRecursiveCircularCheck en gång för varje mellanlagringsdatabas. Det här beteendet bör kontrol lera ett domänbaserat attributvärde och returnerar ett fel om en cirkel referens uppstår med befintliga data. När alla mellantest rader har marker ATS får du följande resultat:

  • Mellanvarans rader utan fel används.

  • De mellanliggande raderna med fel noteras med en felkod.

Om villkoren som beskrivs i avsnittet "Symptom" är sanna är [MDM]. [ udpMemberRecursiveCircularCheck] -proceduren är oändlig tills antingen Server resurserna är slut eller en timeout inträffar.

Lösning

Kumulativ uppdaterings information

SQL Server 2008 R2 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 4. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 SP1 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2633146 Kumulativt uppdaterings paket 4 för SQL Server 2008 R2 Service Pack 1Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den tidigare versionen av SQL Server 2008 R2 SP1. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 Service Pack 1 släpptes

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Lösning

Använd någon av följande metoder för att lösa problemet:

  • Följ de här stegen för att förhindra problemet:

    1. Granska de medlems data värden som infogas i mellanlagringsdatabasen innan du kör processen.

    2. Kontrol lera att alla medlems värden för domänbaserade attribut inte innehåller cirkulära referenser som beskrivs i avsnittet "Symptom".

  • När problemet som beskrivs i avsnittet "Symptom" inträffar följer du de här stegen för att åtgärda problemet:

    1. Identifiera den session som körs i den oändliga slingan.

    2. Avsluta sessionen för att stoppa loopen.

    3. Ta bort värdena för cirkel referensen från mellanlagringsdatabasen innan cirkel referensen behandlas igen.

Kommentarer

  • Du kan identifiera vilken session som ska avslutas med någon av följande metoder:

    • Använda en aktivitets övervakning i Microsoft SQL Server Management Studio.

    • Välj från sys. sysprocesses eller sys.dm_exec_requests Dynamic Management View (DMV) för att identifiera de sessioner som arbetar i MDS-databasen där CPU och tid ökar snabbt. Kontrol lera att den aktuella frågan som körs på sessionen matchar procedur namnen som beskrivs i avsnittet "orsak".

  • Använd någon av följande metoder för att identifiera vilken procedur som körs för sessionerna:

    • Högerklicka på informations menyn för varje process i aktivitets övervakarens processer.

    • Använd en av följande parametrar:

      • DBCC INPUTBUFFER (SPID)-kommando tillsammans med sessions-ID.

      • Funktionen SELECT * FROM sys.dm_exec_sql_text (sqlhandle) tillsammans med motsvarande SQL-parameter när du använder DMV-utdata.

Referenser

Mer information om hur du öppnar en aktivitets övervakning i SQL Server Management Studio finns på följande MSDN-webbplats:

Öppna en aktivitets övervakning i SQL Server Management StudioMer information om syntaxen för Kill finns på följande MSDN-webbplats:

Allmän information om syntaxen för KILLMer information om sys.dm_exec_requests DMV finns på följande MSDN-webbplats:

Allmän information om sys.dm_exec_requests DMVMer information om sys.dm_exec_sql_text DMV finns på följande MSDN-webbplats:

Allmän information om sys.dm_exec_sql_text DMVMer information om DBCC INPUTBUFFER -kommandot finns på följande MSDN-webbplats:

Allmän information om DBCC INPUTBUFFER-kommandotOm du vill veta mer om den stegvisa underhålls modellen för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

935897 En stegvis underhålls modell är tillgänglig från SQL Server-teamet för att leverera snabb korrigeringar för rapporterade problemOm du vill veta mer om ett namn schema för uppdateringar för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

822499 Nytt namn schema för program uppdaterings paket för Microsoft SQL ServerMer information om program uppdaterings terminologi får du om du klickar på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

824684 Beskrivning av den standard terminologi som används för att beskriva Microsoft-programuppdateringar

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×