Momentan sunteți offline, așteptați să vă reconectați la internet

FIX: Funcţionare lentă atunci când un trigger după rulează pe un partitioned tabel în SQL Server 2008 R2 sau în SQL Server 2012

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greşeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol:2606883

SIMPTOME
Luaţi în considerare următoarele scenarii:
  • Creaţi partiţii pentru un tabel Microsoft SQL Server 2008 R2 sau Microsoft SQL Server 2012.
  • Creaţi o DUPĂ Trigger pentru orice INSERARE sau ŞTERGERE operațiune se efectuează pe masă.
  • Efectuaţi o INSERARE sau ŞTERGERE exploatarea pe masă.

În acest scenariu, lent performance ar putea apărea. În plus, multe citeşte logică se poate întâmpla dacă executaţi SQL Profiler.
CAUZĂ
Această problemă se produce din următoarele motive:
  • Motorul de stocare pe plan intern menţine un lanţ de versiunea single pentru fiecare declaraţie.
  • Executarea interogării caută pentru partiţiile de lanțul versiunea întreg pentru a găsi rândurile care se adaugă pentru una din partiţiile.

REZOLUŢIE
Pentru a rezolva această problemă, se aplică următoarele remedierea rapidă şi apoi utilizaţi - T2470 trace pavilion

Actualizarea cumulativă informaţii

SQL Server 2012 Fix pentru această problemă a fost lansat în 1 actualizare cumulativă pentru SQL Server 2012. 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 bază de cunoştinţe Microsoft:
2679368 Pachet de actualizare cumulativ 1 pentru SQL Server 2012
Notă Pentru că construieşte sunt cumulative, fiecare nouă versiune fix conţine toate remedierile rapide şi toate remedierile de securitate care au fost incluse în anterioare SQL Server 2012 fix de presă. Microsoft recomandă că vă ia în considerare aplicarea cele mai recente fix de lansare 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 bază de cunoştinţe Microsoft:
2692828 2012 De Server SQL construieşte care au fost lansate după ce a fost lansat SQL Server 2012
Trebuie să aplicaţi o remediere rapidă de SQL Server 2012 pentru o instalare de SQL Server 2012.

SQL a servi 2008 R2 pachet Service Pack 1

Actualizarea cumulativă informaţii

Fix pentru această problemă a fost lansat în 3 actualizare cumulativă pentru SQL Server 2008 R2 pachet 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 bază de cunoştinţe Microsoft:
2591748 set de actualizări cumulativă 3 pentru SQL Server 2008 R2 pachet Service Pack 1
Notă Pentru că construieşte sunt cumulative, fiecare nouă versiune fix conţine toate remedierile rapide şi toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 R2 fix de presă. Vă recomandăm să consideraţi că aplicarea cele mai recente fix de lansare 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 bază de cunoştinţe Microsoft:
2567616 SQL Server 2008 R2 construieşte care au fost lansate după ce a fost lansat SQL Server 2008 R2 pachet Service Pack 1

Informaţii despre remedierea rapidă

O remediere rapidă acceptate este disponibil de la Microsoft. Cu toate acestea, această remediere rapidă este destinat pentru a corecta numai problema descrisă în acest articol. Aplicaţi această remediere rapidă numai pe sistemele care întâmpină această problemă anume.

Dacă remedierea rapidă este disponibilă pentru descărcare, există o secţiune „remediere rapidă „descărcare disponibilă la partea de sus a acestui articol din bază de cunoştinţe. Dacă nu apare această secţiune, prezintă o cerere în Microsoft Client Service şi asistenţă pentru a obţine remedierea rapidă.

Notă Dacă se produc probleme suplimentare sau depanarea orice este necesar, trebuie să creaţi o cerere de serviciu separate. Costurile uzuale de sprijin va aplica sprijin suplimentar întrebări şi probleme care nu se califică pentru această remediere rapidă specifice. Pentru o listă notificare completă a numerelor de telefon ale Microsoft Client Service şi asistenţă sau pentru a crea o cerere de serviciu separate, vizitaţi următorul site Web Microsoft: Notă "Remediere rapidă formularul „descărcare disponibilă afişează limbile pentru care este disponibilă remedierea rapidă. Dacă nu vedeţi limba dvs., este pentru că o remediere rapidă nu este disponibilă pentru acea limbă.

Cerinţe preliminare

Pentru a aplica această remediere rapidă, trebuie să aveţi Microsoft SQL Server 2008 R2 pachet Service Pack 1 (SP1) instalate.

Informaţii cu privire la necesitatea unui restart

Nu trebuie să reporniţi computerul după ce aplicaţi această remediere rapidă.

Informaţii despre înlocuirea remedierilor rapide

Această remediere rapidă nu înlocuieşte o remediere rapidă lansată anterior.

Informaţii cu privire la fişiere

Versiunea globală a acest lucru are atributele de fişier (sau atribute de fişier mai recente) enumerate în următorul tabel. Datele şi orele acestor fişiere sunt enumerate în marcă de timp universal (TUC). Când vizualizaţi informaţiile de fişier, acesta este convertit la ora locală. Pentru a afla diferenţa între timpul local şi UTC, utilizaţi fus orar fila în Data şi ora element din Panou de control.

Pentru toate sprijinite x 86-versiunile de SQL Server 2008 R2 SP1
Nume fişierVersiunea de fişierDimensiunea fişieruluiDatamarcă de timpPlatforma
Sqlservr.exe2009.100.2776.043,053,92015-Sep-201101: 47x 86

Pentru tot supported x 64-versiuni deSQL Server 2008 R2 SP1

Nume fişierVersiunea de fişierDimensiunea fişieruluiDatamarcă de timpPlatforma
Sqlservr.exe2009.100.2776.062,176,60815-Sep-201100: 57x 64

Pentru toate acceptate versiunileformat IA-64SQL Server 2008 R2 SP1

Nume fişierVersiunea de fişierDimensiunea fişieruluiDatamarcă de timpPlatforma
Sqlservr.exe2009.100.2776.0122,105,69615-Sep-201100: 23IA-64


REMEDIERE
Pentru a rezolva această problemă, modificaţi de declanşare după un declanşa Inserare în loc de sau un trigger În loc de ştergere .

De exemplu, executaţi următoarele afirmaţii pentru a crea un trigger după :
CREATE TRIGGER TR_Test ON Test FOR INSERTASBEGINDECLARE @groupe INTSELECT TOP 1 @groupe=Groupe FROM INSERTED ENDGO
În acest scenariu, modifica triggerul după pentru a Insera în loc de utilizând următoarele menţiuni:
CREATE TRIGGER TR_Test ON Test INSTEAD OF INSERTAS BEGIN DECLARE @groupe INT SELECT TOP 1 @groupe=Groupe FROM INSERTEDINSERT INTO Test (Groupe) SELECT @groupe FROM INSERTED END
STARE
Microsoft a confirmat că aceasta este o problemă asociată cu produsele Microsoft enumerate în secţiunea „se aplică la".

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2606883 - Ultima examinare: 04/16/2012 08:46:00 - Revizie: 3.0

Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2012 Developer

  • kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2606883 KbMtro
Feedback