Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Společnost Microsoft distribuuje Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 R2 Service Pack 1 (SP1).

Příznaky

Když je v Microsoft SQL serveru 2008 R2 aktivována výstraha výkon serveru SQL, může se zobrazit tato chybová zpráva:

Msg 512, úroveň 16, stav 1, postup sp_sqlagent_get_perf_counters, řádek 40Subquery vrátil více než 1 hodnotu. Tento postup není povolený, pokud poddotaz následuje =,! =, <, <=, >, >= nebo když je poddotaz použit jako výraz.

Kromě toho se chybová zpráva v této situaci zaznamená do protokolu chyb agenta SQL serveru.Poznámka K tomuto problému dochází taky v Microsoft SQL serveru 2008.

Příčina

K tomuto problému dochází proto, že poddotazem uložené procedury msdb.dbo.sp_sqlagent_get_perf_counters systému vypočítá hodnotu čítače nesprávně. Poddotaz nemá v podmínce poddotazu relaci vnitřního spojení pro sloupec [object_name] . Z toho důvodu je nesprávně vráceno více řádků a problém uvedený v části Příznaky se zobrazí.Poznámka Pokud je aktivována výstraha výkon systému SQL Server, spustí se uložená procedura msdb.dbo.sp_sqlagent_get_perf_counters systémem.

Řešení

Informace o kumulativní aktualizaci

Kumulativní balíček aktualizací 3 pro SQL Server 2008 R2 SP1

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci balíčku 3. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2 SP1, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2591748 Kumulativní balíček aktualizací 3 pro SQL Server 2008 R2 SP1Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová aktualizace obsahuje všechny opravy hotfix a všechny aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 R2 SP1. Doporučujeme zvážit použití nejnovější aktualizace, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

2567616 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2 SP1

Alternativní řešení

Tento problém vyřešíte tak, že aktualizujete poddotaz pro uloženou proceduru msdb.dbo.sp_sqlagent_get_perf_counters . Chcete-li to udělat, přidejte následující podmínku do klauzule WHERE těchto čtyř poddotazů, které se používají při výpočtu sloupce [hodnota] :

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

Po přidání podmínky budou poddotazy vypadat takto:

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

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×