Microsoft distribuerar Microsoft SQL Server 2008-korrigeringar som en nedladdningsbar fil. Eftersom korrigeringarna är kumulativa innehåller varje ny version alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008-korrigeringsversionen.
Symptom
Tänk dig följande scenario. I en Microsoft SQL Server 2008-databas uppstår ett dödläge. Sedan använder du system_health Extended Event-sessionen för att fånga deadlock-diagrammet. I det här scenariot får du följande felmeddelande:
Obs
Msg 9436, nivå 16, status 1, rad 1
XML-tolkning: rad 54, tecken 12, sluttaggen matchar inte starttaggen
Du kan till exempel köra följande fråga för att exportera det buffer_ring målet från system_health-sessionen när en deadlock inträffar:
select XEventData.XEvent.value('(data/value)[1]', 'varchar(max)') as DeadlockGraph
FROM
(select CAST(target_data as xml) as TargetData
from sys.dm_xe_session_targets st
join sys.dm_xe_sessions s on s.address = st.event_session_address
where name = 'system_health') AS Data
CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
where XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report'
I det här exemplet returnerar frågan rätt resultat.
Men du kan också köra följande fråga för att omvandla det här deadlock-diagrammet i XML-format:
select cast(XEventData.XEvent.value('(data/value)[1]', 'varchar(max)') as xml) as DeadlockGraph
FROM
(select CAST(target_data as xml) as TargetData
from sys.dm_xe_session_targets st
join sys.dm_xe_sessions s on s.address = st.event_session_address
where name = 'system_health') AS Data
CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
where XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report'
I det här fallet förväntar du dig att se dödlägesdiagrammet i XML-format. Även om deadlock-diagrammet visas felaktigt kan du ändå förvänta dig att se giltigt XML-innehåll från xml_deadlock_report rapporten. Du får dock följande felmeddelande:
Obs
Msg 9436, nivå 16, status 1, rad 1
XML-tolkning: rad 54, tecken 12, sluttaggen matchar inte starttaggen
Orsak
Det här problemet beror på att kodsökvägen som genererar XML-schemat för deadlock-diagrammet hoppar över den avslutande taggen för elementet i offerlistan. Dessutom lägger kodsökvägen till en onödig tagg för deadlock-elementet.
Lösning
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 6 för SQL Server 2008 Service Pack 1. Om du vill veta mer om det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
977443 Kumulativ uppdatering paket 6 för SQL Server 2008 Service Pack 1Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
970365 SQL Server 2008-versionerna som släpptes efter att Service Pack 1 SQL Server 2008 släpptes
Microsoft SQL Server 2008 snabbkorrigeringar skapas för specifika SQL Server Service Packs. Du måste använda en snabbkorrigering för SQL Server 2008 Service Pack 1 på en installation av SQL Server 2008 Service Pack 1. Som standard ingår snabbkorrigeringar i en SQL Server Service Pack i nästa SQL Server Service Pack.
SQL Server 2008 R2
Viktigt! Du måste installera den här korrigeringen om du kör SQL Server 2008 R2.
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 R2 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
981355 kumulativt uppdateringspaket 1 för SQL Server 2008 R2Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
981356 De SQL Server 2008 R2-versionerna som släpptes efter att SQL Server 2008 R2 släpptes
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Om du vill veta mer om modellen för stegvisa tjänster för SQL Server klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:
935897 En stegvis servicemodell är tillgänglig från SQL Server-teamet för att leverera snabbkorrigeringar för rapporterade problem
Om du vill veta mer om namnschemat för SQL Server uppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
822499 Nytt namnschema för Microsoft SQL Server programuppdateringspaket
Om du vill veta mer om terminologi för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 Beskrivning av standardterminologin som används för att beskriva Microsofts programuppdateringar