Microsoft distribuie remedierile Microsoft SQL Server 2008 ca un fișier descărcabil. Deoarece remedierile sunt cumulative, fiecare lansare nouă conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 lansată.
Simptome
Să luăm în considerare următorul scenariu. Într-o bază de date Microsoft SQL Server 2008, apare o blocare. Apoi, utilizați sesiunea system_health extins evenimente pentru a captura graficul de blocare. În acest scenariu, primiţi următorul mesaj de eroare:
MSG 9436, Level 16, State 1, Line 1
Analiză XML: linie 54, caractere 12, end eticheta nu corespunde cu etichetă de începere
De exemplu, executați interogarea următoare pentru a exporta buffer_ring țintă din sesiunea system_health când apare o blocare:
select XEventData.XEvent.value('(data/value)[1]', 'varchar(max)') as DeadlockGraphFROM
(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'
În acest exemplu, interogarea returnează rezultatele corecte.
Cu toate acestea, de asemenea, executați interogarea următoare pentru a exprima acest grafic de blocare fatală în XML format:
select cast(XEventData.XEvent.value('(data/value)[1]', 'varchar(max)') as xml) as DeadlockGraphFROM
(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'
În această situație, așteptați să consultați graficul de blocare fatală în XML format. Chiar dacă graficul de blocare fatală se afișează incorect, vă așteptați să vedeți conținut din raportul xml_deadlock_report XML valid. Cu toate acestea, primiţi următorul mesaj de eroare:
MSG 9436, Level 16, State 1, Line 1
Analiză XML: linie 54, caractere 12, end eticheta nu corespunde cu etichetă de începere
Cauza
Această problemă se produce deoarece calea de cod care generează schemă XML pentru graficul de blocare fatală sare peste eticheta de închidere a elementului victimă-lista . În plus, calea de cod adaugă o etichetă nu sunt necesare pentru elementul de Blocare .
Rezolvare
Remedierea pentru această problemă a fost lansată prima dată în 6 de actualizare cumulativă pentru SQL Server 2008 Service Pack 1. Pentru mai multe informații despre acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
Pachet 6 de actualizare 977443 cumulativ pentru SQL Server 2008 Service Pack 1Notă Deoarece compilările sunt cumulative, fiecare nouă lansare de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 lansată. Vă recomandăm să luaţi în considerare aplicarea celei mai recente lansări de remediere care conține această remediere rapidă. Pentru mai multe informaţii, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:
970365 compilările SQL Server 2008 lansate după lansarea SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 remedierile rapide sunt create pentru specifice SQL Server service pack. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 1 pentru o instalare de SQL Server 2008 Service Pack 1. În mod implicit, orice remediere rapidă care este furnizat într-un SQL Server service pack este inclus în următorul pachet service pack SQL Server.
SQL Server 2008 R2
Important Dacă se execută SQL Server 2008 R2, trebuie să instalați această remediere.
Remedierea pentru această problemă a fost lansată prima dată în actualizarea cumulativă 1. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 R2, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
Pachetul de actualizare cumulativă 981355 1 pentru SQL Server 2008 R2Notă Deoarece compilările sunt cumulative, fiecare nouă lansare de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 R2 lansată. Vă recomandăm să luaţi în considerare aplicarea celei mai recente lansări de remediere care conține această remediere rapidă. Pentru mai multe informaţii, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:
981356 SQL Server 2008 R2 compilările lansate după lansarea SQL Server 2008 R2
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Referințe
Pentru informații despre ISM pentru SQL Server, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
935897 un Model ISM este disponibilă de la echipa SQL Server pentru livrarea remedierilor rapide pentru problemele raportate
Pentru mai multe informații despre schema de denumire pentru actualizările SQL Server, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
822499 Noua schemă de denumire pentru pachetele de actualizare software Microsoft SQL Server
Pentru mai multe informaţii despre terminologia privind actualizarea software-ului, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:
824684 Descrierea terminologiei standard care este utilizat pentru a descrie actualizările de software Microsoft