Applies ToSQL Server 2008 Enterprise SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise

Microsoft distribuira Microsoft SQL Server 2008 R2 servisnim paketom Service Pack 1 (SP1) kao jednu datoteku za preuzimanje. Budući da su popravci kumulativni, svako novo izdanje sadrži sve hitne popravke i sva bezbednosna ažuriranja koja su obuhvaćena prethodnim izdanom ažuriranja sustava SQL Server 2008 R2 sa servisnim paketom Service Pack 1 (SP1).

Simptomi

Kada se u programu Microsoft SQL Server 2008 R2 podiže upozorenje o stanju performansi sustava SQL Server, možda će vam se prikazati sljedeća poruka o pogrešci:

MSG 512, razina 16, State 1, procedura sp_sqlagent_get_perf_counters, linijski 40Podupit vratio je više od 1 vrijednosti. To nije dopušteno kada podupit slijedi =,! =, <, <=, >, >= ili kada se podupita koristi kao izraz.

Uz to, poruka o pogrešci zapisana je u zapisniku pogreške programa SQL Server agent u ovom slučaju.Napomena Taj se problem pojavljuje i u programu Microsoft SQL Server 2008.

Uzrok

Taj se problem pojavljuje jer podupit pohranjene procedure msdb.dBO.sp_sqlagent_get_perf_counters sustava izračunava vrijednost counter neispravno. Podupit nema odnos unutarnjeg spoja za stupac [object_name] u stanju podupita. Stoga se višestruki reci neispravno vraćaju, a pojavljuje se problem naveden u odjeljku "simptomi".Napomena Uskladišteni postupak msdb.dBO.sp_sqlagent_get_perf_counters sustava pokreće se kada se podiže upozorenje o stanju uspješnosti sustava SQL Server.

Rješenje

Kumulativne informacije o ažuriranju

Kumulativno ažuriranje paketa 3 za SQL Server 2008 R2 SP1

Popravak tog problema prvi je put izdan u paketu Kumulativno ažuriranje 3. Dodatne informacije o dobivanju tog kumulativnog paketa za ažuriranje za SQL Server 2008 R2 SP1 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2591748 Kumulativno ažuriranje paketa 3 za SQL Server 2008 R2 SP1Napomena Budući da su grade kumulativne, svako novo izdanje ažuriranja sadrži sve hitne popravke i sva bezbednosna ažuriranja koja su obuhvaćena prethodnim izdanjima sustava SQL Server 2008 R2 SP1 za ažuriranje. Preporučujemo da razmotrite primjenu najnovijeg izdanja ažuriranja koja sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2567616 Verzije sustava SQL Server 2008 R2 koje su objavljene nakon objavljivanja sustava SQL Server 2008 R2 SP1

Zaobilazno rješenje

Da biste zaobišli taj problem, ažurirajte podupit spremljene procedure msdb.dBO.sp_sqlagent_get_perf_counters sustava. Da biste to učinili, dodajte sljedeći uvjet u uvjet Where od četiri podupita koji se koriste u izračunu stupaca [value] :

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

Kada dodate uvjet, podupiti nalikuju na sljedeće:

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 je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.