Poprawka: Błąd podczas wywoływane alert warunek wydajności programu SQL Server, SQL Server 2008 R2

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2587511 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Microsoft rozprowadza poprawki Microsoft SQL Server 2008 R2 Z dodatkiem Service Pack 1 (SP1) jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie aktualizacje zabezpieczeń, które zostały zawarte w poprzedniej wersji aktualizacji dodatku Service Pack 1 (SP1) programu SQL Server 2008 R2.

Symptomy

Gdy alert warunek wydajności programu SQL Server jest wywoływane w Microsoft SQL Server 2008 R2, może pojawić się następujący komunikat o błędzie:
Msg 512, 16 poziom 1 Państwo sp_sqlagent_get_perf_counters procedury 40 linii
Podkwerenda zwrócił wartość więcej niż 1. Ta operacja jest niedozwolona gdy następuje podkwerendy =,! =, <,> </,> <= ,="">, > = lub jeżeli podkwerendę jest używana jako wyrażenie.</=>
Ponadto komunikat o błędzie jest rejestrowany w dzienniku błędów programu SQL Server Agent w tej sytuacji.

Uwaga Ten problem występuje również w Microsoft SQL Server 2008.

Przyczyna

Ten problem występuje, ponieważ podkwerendy msdb.dbo.sp_sqlagent_get_perf_counters systemową procedurę przechowywaną niepoprawnie oblicza wartość licznika.

Podkwerenda brakuje relacja sprzężenia wewnętrznego dla [nazwa_obiektu] kolumny w warunku podkwerendy. W związku z tym wiele wierszy są błędnie zwracane i występuje problem, który jest wymieniony w sekcji "Symptomy".

Uwaga Na msdb.dbo.sp_sqlagent_get_perf_counters Uruchamia procedurę zapisanej w systemie podczas wywoływane alert warunek wydajności programu SQL Server.

Rozwiązanie

Zbiorcza aktualizacja informacji

Zbiorczy pakiet aktualizacji 3 dla programu SQL Server 2008 R2 z dodatkiem SP1

Poprawka usuwająca ten problem został wydany w zbiorczego pakietu aktualizacji 3. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2 z dodatkiem SP1 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2591748 Zbiorczy pakiet aktualizacji 3 dla programu SQL Server 2008 R2 z dodatkiem SP1
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie aktualizacji zawiera poprawki i wydania aktualizacji wszystkich aktualizacji zabezpieczeń, które zostały zawarte w poprzednich SQL Server 2008 R2 z dodatkiem SP1. Zaleca się, aby rozważyć zastosowanie najnowszej wersji aktualizacji, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567616 Program SQL Server 2008 R2 buduje wydane po wydaniu dodatku SP1 dla programu SQL Server 2008 R2


Obejście problemu

Aby obejść ten problem, należy zaktualizować podkwerendy msdb.dbo.sp_sqlagent_get_perf_counters procedury zapisanej w systemie. Aby to zrobić, Dodaj następujący warunek do GDZIE Klauzula cztery podkwerend, które są używane w [wartość] Obliczanie kolumny:
(spi1.[object_name] = spi2.[object_name])
Po dodaniu warunku podkwerend podobny do następującego:
SELECT CASE spi2.cntr_value WHEN 0 THEN 1 ELSE spi2.cntr_value END
FROM sys.dm_os_performance_counters spi2
WHERE (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

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Właściwości

Numer ID artykułu: 2587511 - Ostatnia weryfikacja: 17 października 2011 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • 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
Słowa kluczowe: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2587511 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:2587511

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com