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

FIX: Eroare atunci când o alertă de starea de performanţă SQL Server se ridică în SQL a servi 2008 R2

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, nu de un traducător. Deoarece Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, toate articolele din Baza noastră de cunoştinţe vor fi disponibile în limba dvs. nativă. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, precum în cazul în care un vorbitor străin poate face greşeli vorbind limba dvs. nativă. Compania Microsoft nu este responsabilă pentru nicio inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii săi. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol:2587511
Microsoft distribuie Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) fixat ca un fişier descărcabil. Deoarece remedierile sunt cumulative, fiecare nouă versiune conţine toate remedierile rapide şi toate actualizările de securitate care au fost incluse cu versiunea precedentă de actualizare SQL Server 2008 R2 Service Pack 1 (SP1).
SIMPTOME
Când o alertă de starea de performanţă SQL Server este crescut în Microsoft SQL Server 2008 R2, ar putea să primiţi următorul mesaj de eroare:
Msg 512, nivel 16, 1 de stat, procedura sp_sqlagent_get_perf_counters, 40 de linie
Subinterogare returnată valoarea mai mare de 1. Acest lucru nu este permisă atunci când subinterogare urmează =,! =, <,> </,> <= ,="">, > = sau când subinterogare este utilizat ca o expresie.</=>
În plus, mesajul de eroare se înregistrează în Jurnalul de erori SQL Server Agent în această situaţie.

Notă Această problemă apare, de asemenea, în Microsoft SQL Server 2008.
CAUZĂ
Această problemă apare deoarece subinterogare de msdb.dbo.sp_sqlagent_get_perf_counters procedura de sistem stocată calculează valoarea un contor incorect.

Subinterogare nu dispune de o relaţie de legătură interioară pentru [object_name] coloană în starea subinterogării. Prin urmare, mai multe rânduri sunt incorect restituite şi se produce problema menţionată în secţiunea „Simptome".

Notă The msdb.dbo.sp_sqlagent_get_perf_counters sistem stocate procedură se execută atunci când se ridică o alertă de starea de performanţă SQL Server.
REZOLUŢIE

Actualizarea cumulativă informaţii

Actualizarea cumulativă pachet 3 pentru SQL Server 2008 R2 SP1

Fix pentru această problemă a fost lansat în actualizarea cumulativă pachet 3. Pentru mai multe informaţii despre cum se obţine acest pachet de actualizare cumulativ pentru SQL Server 2008 R2 SP1, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:
2591748 Actualizarea cumulativă pachet 3 pentru SQL Server 2008 R2 SP1
Notă Pentru că construieşte sunt cumulative, fiecare nouă versiune de actualizare conţine toate remedierile rapide şi toate actualizările de securitate care au fost incluse cu anterioare SQL Server 2008 R2 SP1 Actualizare versiune. Vă recomandăm să consideraţi că aplicarea cea mai recentă actualizare versiune 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:
2567616 SQL a servi 2008 R2 construieşte care au fost lansate după ce a fost lansat SQL Server 2008 R2 SP1


REMEDIERE
Pentru a rezolva această problemă, actualizaţi subinterogare de msdb.dbo.sp_sqlagent_get_perf_counters sistem de procedură stocată. Pentru aceasta, adăugaţi următoarea condiție să ÎN CAZUL ÎN CARE Clauza de patru subinterogări care sunt utilizate în [valoarea] calculul coloană:
(spi1.[object_name] = spi2.[object_name])
După ce adăugaţi starea, subinterogări se aseamănă cu următorul text:
SELECT CASE spi2.cntr_value WHEN 0 THEN 1 ELSE spi2.cntr_value ENDFROM sys.dm_os_performance_counters spi2WHERE (spi1.[object_name] = spi2.[object_name])AND (spi1.counter_name + ' ' = SUBSTRING(spi2.counter_name, 1, PATINDEX('% Base%', spi2.counter_name)))AND (spi1.instance_name = spi2.instance_name)AND (spi2.cntr_type = @perfTypeLargeRawBase

STARE
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secţiunea „se aplică la".

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2587511 - Ultima examinare: 10/17/2011 11:12:00 - Revizie: 1.0

Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise

  • kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2587511 KbMtro
Feedback
display:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">