Microsoft distribuie remedierile Microsoft SQL Server 2008 ca fișier unic ce se poate descărca. Deoarece remedierile sunt cumulative, fiecare ediție nouă conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu remedierea anterioară a SQL Server 2008.
Simptome
Luați în considerare următorul scenariu. Într-o bază de date Microsoft SQL Server 2008, se produce un deadlock. Apoi, utilizați sesiunea de evenimente extinse system_health pentru a captura graficul deadlock. În acest scenariu, primiți următorul mesaj de eroare:
Notă
Msg 9436, Level 16, State 1, Line 1
Analiza XML: linia 54, caracterul 12, eticheta de sfârșit nu corespunde etichetei de început
De exemplu, rulați următoarea interogare pentru a exporta ținta buffer_ring din sesiunea system_health atunci când are loc un blocaj:
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'
În acest exemplu, interogarea returnează rezultatul corect.
Cu toate acestea, puteți rula și următoarea interogare pentru a face conversia acestui raport deadlock în format XML:
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'
În această situație, vă așteptați să vedeți graficul deadlock în format XML. Chiar dacă graficul de blocare deadlock este afișat incorect, vă așteptați totuși să vedeți conținut XML valid de la raportul xml_deadlock_report. Cu toate acestea, primiți următorul mesaj de eroare:
Notă
Msg 9436, Level 16, State 1, Line 1
Analiza XML: linia 54, caracterul 12, eticheta de sfârșit nu corespunde etichetei de început
Cauză
Această problemă apare deoarece calea de cod care generează schema XML pentru graficul deadlock omite eticheta de închidere a elementului din lista de victime. În plus, calea de cod adaugă o etichetă inutilă pentru elementul deadlock.
Rezolvare
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 6 pentru SQL Server 2008 Service Pack 1. Pentru informații suplimentare despre acest pachet de actualizări cumulative, faceți clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoștințe Microsoft:
977443 Pachetul de actualizare cumulativă 6 pentru pachetul Service Pack SQL Server 2008 1Notă Deoarece compilările sunt cumulative, fiecare remediere nouă conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu remedierea anterioară de la SQL Server 2008. Vă recomandăm să luați în considerare aplicarea celei mai recente remedieri care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:
970365 Compilările SQL Server 2008 care au fost lansate după lansarea SQL Server 2008 Service Pack 1
Remedierile rapide Microsoft SQL Server 2008 sunt create pentru anumite pachete Service Pack SQL Server. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 1 la o instalare SQL Server 2008 Service Pack 1. În mod implicit, orice remediere rapidă furnizată într-un pachet Service Pack SQL Server este inclusă în următorul pachet Service Pack SQL Server.
SQL Server 2008 R2
Important Trebuie să instalați această remediere dacă rulați SQL Server 2008 R2.
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 1. Pentru mai multe informații despre cum să obțineți acest pachet de actualizări cumulative 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:
981355 Actualizare cumulativă 1 pentru SQL Server 2008 R2Notă Deoarece compilările sunt cumulative, fiecare remediere nouă conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu remedierea anterioară SQL Server 2008 R2. Vă recomandăm să luați în considerare aplicarea celei mai recente remedieri care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:
981356 Compilările SQL Server 2008 R2 care au fost lansate după lansarea SQL Server 2008 R2
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.
Referințe
Pentru informații despre modelul incremental de servicii 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 incremental de service este disponibil de la echipa SQL Server pentru a livra remedieri 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 Schemă de denumire nouă pentru pachetele de actualizare a software-ului Microsoft SQL Server
Pentru informații suplimentare despre terminologia actualizărilor de software, 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