Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Microsoft distribuerar Microsoft SQL Server 2008 R2 Service Pack 1 (SP1)-korrigeringsfiler som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets uppdateringar som ingick i den tidigare versionen av SQL Server 2008 R2 Service Pack 1 (SP1).

Symptom

När en avisering om SQL Server-villkor höjs i Microsoft SQL Server 2008 R2 kan följande fel meddelande visas:

Meddelande 512, nivå 16, State 1, procedur sp_sqlagent_get_perf_counters, rad 40Subquery gav mer än 1 värde. Det här är inte tillåtet när under frågan följer =,! =, <, <=, >, >= eller när under frågan används som ett uttryck.

Dessutom loggas fel meddelandet i SQL Server Agent-felloggen i den här situationen.Obs! Det här problemet uppstår också i Microsoft SQL Server 2008.

Orsak

Det här problemet beror på att en räknares värde beräknas felaktigt i under frågan på den lagrade proceduren msdb.dbo.sp_sqlagent_get_perf_counters systemet. Under frågan saknar en inre kopplings relation för kolumnen [object_name] i villkoret för under frågan. Därför returneras flera rader felaktigt och problemet som nämns i avsnittet "Symptom" inträffar.Obs! Den msdb.dbo.sp_sqlagent_get_perf_counters systemlagrade proceduren körs när en SQL Server-programfunktion höjs.

Lösning

Kumulativ uppdaterings information

Kumulativt uppdaterings paket 3 för SQL Server 2008 R2 SP1

Korrigeringen för det här problemet släpptes först i det samlade uppdaterings paketet 3. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 SP1 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2591748 Kumulativt uppdaterings paket 3 för SQL Server 2008 R2 SP1Obs! Eftersom build-versionerna är kumulativa innehåller varje ny uppdaterings utgåva alla snabb korrigeringar och alla säkerhets uppdateringar som ingick i den föregående versionen av SQL Server 2008 R2 SP1. Vi rekommenderar att du använder den senaste uppdateringen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 SP1

Lösning

Undvik det här problemet genom att uppdatera under frågan för den msdb.dbo.sp_sqlagent_get_perf_counters systemet. För att göra detta lägger du till följande villkor i WHERE -satsen i de fyra under frågor som används i kolumn beräkningen [värde] :

(spi1.[object_name] = spi2.[object_name])

När du har lagt till villkoret ser under frågorna ut så här:

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

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×