Microsoft distribuie Microsoft SQL Server 2008 Service Pack 2 (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 actualizările de securitate care au fost incluse în versiunea anterioară SQL Server 2008 SP2 sau SQL Server 2008 R2 update release.

Simptome

Luați în considerare următorul scenariu:

  • Creați un server legat pe un computer care rulează Microsoft SQL Server 2008 sau Microsoft SQL Server 2008 R2. Serverul legat indică o sursă de date OLE DB pe un server la distanță.

  • Rulează o interogare distribuită care utilizează unele obiecte de date pe serverul legat.

  • Efectuați unele operațiuni pe un server la distanță, iar operațiunile determină mai mult de cinci actualizări de versiune de schemă pentru obiectele de date. De exemplu, reconstruiți indexul unui tabel pe serverul la distanță pentru a actualiza versiunea schemei a tabelului pe serverul legat.Notă Efectuați operațiunile înainte de următoarea execuție a interogării.

  • Rulează din nou interogarea distribuită pe serverul legat.

În acest scenariu, interogarea nu este recompilată și primiți un mesaj de eroare care seamănă cu următorul:

Server: MSG 7359, numărulnivelului de nivel, numărul stăriistatului, numărul linieide linie OLE DB Provider "nume furnizor" pentru serverul legat"Nume Server legat" a raportat o modificare a versiunii schemei între timpul de compilare ("compilarea timpului") și timpul de rulare ("timpul de rulare") pentru tabelul "Nume tabel legat".

Note

  • Nume furnizor este un substituent pentru numele furnizorului OLE DB.

  • Nume tabel legat este un substituent pentru numele tabelului care este interogat pe serverul legat.

  • Următoarele declarații pot modifica, de obicei, versiunea schemei:

    • ALTER TABLE

    • CREARE INDEX

    • INDICELE DE FIXARE

    • REINDEXARE DBCC

Cauză

Această problemă apare deoarece se atinge o limită de recompilare pentru interogări. Atunci când se face o modificare la schemă, unele obiecte din memoria cache sunt eliminate și interogarea necesită o operațiune de recompilare. Cu toate acestea, este atinsă o limită superioară pentru recompilare după mai mult de cinci modificări care actualizează versiunea schemei. Prin urmare, apare problema menționată î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ă 11. 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:

2633145 Pachetul de actualizare cumulativă 11 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ă 4 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:

2633146 Pachetul de actualizare cumulativă 4 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

SQL Server 2008 Service Pack 3

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 1 pentru SQL Server 2008 Service Pack 3. 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:

2617146 Pachetul de actualizare cumulativă 1 pentru SQL Server 2008 Service Pack 3Notă 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 fix release. Microsoft recomandă 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:

2629969 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008 Service Pack 3 Sunt create remedieri rapide Microsoft SQL Server 2008 pentru anumite pachete de servicii SQL Server. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 3 la o instalare de SQL Server 2008 Service Pack 3. În mod implicit, orice remediere rapidă furnizată într-un pachet de servicii SQL Server este inclusă în următorul pachet de servicii SQL Server.

Pachetul de actualizare cumulativă 6 pentru SQL Server 2008 SP2

Remedierea pentru această problemă a fost lansată pentru prima dată în pachetul de actualizare cumulativă 6. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 SP2, 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 actualizare conține toate remedierile rapide și toate actualizările de securitate care au fost incluse în versiunea anterioară de actualizare SQL Server 2008 SP2. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni de actualizare 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 SP2

Soluție de evitare

Pentru a evita această problemă, utilizați una dintre metodele următoare:

  • Rulează instrucțiunea DBCC FREEPROCCACHE(' plan_handle '). Pentru mai multe informații despre parametrul plan_handle , vizitați următorul site Web MSDN:

    Informații generale despre parametrul Plan_Handle

  • Rularea procedurii stocate sp_refreshView 'ViewName'.Notă Această metodă nu funcționează dacă este instalat pachetul de actualizare cumulativă 3 pentru SQL Server 2008 SP2.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Cât de mulțumit sunteți de calitatea traducerii?

Ce v-a afectat experiența?

Aveți feedback suplimentar? (Opțional)

Vă mulțumim pentru feedback!

×