Microsoft distribuie Microsoft SQL Server 2008 SP2 sau Microsoft SQL Server 2008 R2 remediază 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 cu SQL Server 2008 SP2 anterior sau SQL Server 2008 R2 fix release.
Simptome
Luați în considerare următorul scenariu:
-
Aveți un tabel sau o vizualizare care are două indexuri în Microsoft SQL Server 2008 sau în Microsoft SQL Server 2008 R2. Primul index are un trigger după el. Cu toate acestea, cel de-al doilea index nu are un trigger după el.
-
Unele înregistrări din al doilea index conțin informații de versiune pentru rânduri. De exemplu, ați activat anterior caracteristica de izolare instantanee pentru a activa versiunea de rând.
-
Încercați să efectuați o interogare LMD împotriva tabelului sau a vizualizării.
În acest scenariu, este posibil să întâmpinați una dintre următoarele probleme:
-
Apare o eroare de afirmație și se înregistrează următoarea eroare în Jurnalul de erori SQL Server:
Data oreiSPID # eroare: 17066, severitate: 16, stare: 1.Data oraSPID # SQL Server afirmație: File: PAGEREF. cpp, line = 1332 failed afirmația = ' 0 = = pageFull '. Această eroare poate avea legătură cu sincronizarea. Dacă eroarea persistă după ce Reexecutați instrucțiunea, utilizați DBCC CHECKDB pentru a verifica baza de date pentru integritatea structurală sau reporniți serverul pentru a vă asigura că structurile de date din memorie nu sunt deteriorate.Data oreiSPID # eroare: 3624, severitate: 20, stare: 1.Ora datei > SPID # o verificare a afirmațiilor sistemului nu a reușit. Verificați jurnalul de erori SQL Server pentru detalii. De obicei, o eroare de afirmație este cauzată de un defect de software sau de o deteriorare a datelor. Pentru a căuta corupția bazei de date, luați în considerare executarea DBCC CHECKDB. Dacă ați fost de acord să trimiteți gropi la Microsoft în timpul instalării, va fi trimis un mini dump către Microsoft. Este posibil ca o actualizare să fie disponibilă de la Microsoft în cel mai recent pachet Service Pack sau într-o QFE de asistență tehnică.
-
Interogarea returnează rezultate incorecte.
-
Apare o problemă de corupere A datelor.
Cauză
Această problemă se produce din cauza unui defect din SQL Server Query Optimizer. Atunci când efectuați o interogare LMD care generează un trigger, sunt setate Semnalizări incorecte ale versiunii rândurilor și motorul de stocare SQL Server utilizează informațiile despre versiunea de rând veche. Prin urmare, apar problemele descrise în secțiunea "simptome".
Rezolvare
Informații despre actualizarea cumulativă
SQL Server 2008 R2
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 10. 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:
2591746 Pachetul de actualizare cumulativă 10 pentru SQL Server 2008 R2 Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 R2 remediată. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni 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-l vedea în Baza de cunoștințe Microsoft:
981356 SQL Server 2008 R2 construiește care au fost lansate după ce s-a lansat SQL Server 2008 R2
SQL Server 2008 R2 Service Pack 1
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 3 pentru SQL Server 2008 R2 Service Pack 1. Pentru mai multe informații despre cum se obține 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:
2591748 Pachetul de actualizare cumulativă 3 pentru SQL Server 2008 R2 Service Pack 1Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 R2 remediată. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni 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-l vedea în Baza de cunoștințe Microsoft:
2567616 SQL Server 2008 R2 construiește care au fost lansate după ce s-a lansat SQL Server 2008 R2 Service Pack 1
Pachetul de actualizare cumulativă SQL Server 2008 Service Pack 2 (SP2) 6
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 6. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 Service Pack 2, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2582285 Pachetul de actualizare cumulativă 6 pentru SQL Server 2008 Service Pack 2Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu SQL Server 2008 Service Pack 2 fix release. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni 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-l vedea în Baza de cunoștințe Microsoft:
2402659 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008 Service Pack 2
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.