Poprawka: Przy pierwszym wykonaniu procedury przechowywane xp_cmdshell kończy się przed zakończeniem ostatniego wykonania w 2012 serwera SQL

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2671318
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Firma Microsoft rozpowszechnia poprawki 2012 Microsoft SQL Server w jednym pliku do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wydania aktualizacji wszystkich aktualizacji zabezpieczeń, które zostały zawarte w poprzednich 2012 serwera SQL.

Symptomy

Załóżmy, uruchamiać wiele procedur xp_cmdshell przechowywane w tym samym czasie na wiele sesji w 2012 r. Microsoft SQL Server. Przy pierwszym wykonaniu procedury xp_cmdshell , przechowywane w tej sytuacji nie jest ukończona, aż do zakończenia ostatniego wykonania.

Przyczyna

Ten problem występuje, ponieważ uchwyt jest dziedziczona przez procesy, które są otwierane po uruchomieniu procedury xp_cmdshell , przechowywane w tym samym czasie.

Funkcja CreateProcess API wymaga dziedziczenie uchwytów do przekierowania standardowych danych wyjściowych i komunikat o błędzie. Jeśli wiele wykonania xp_cmdshell przechowywane procedury Uruchom w tym samym czasie, nowo otwarty procesów może dziedziczyć uchwyt z istniejącymi procesami. Jednak xp_cmdshell przechowywane procedury czeka uchwyt do zamknięcia przez wszystkie procesy otwarte. W związku z tym gdy wiele procesów dziedziczyć uchwyt, wszystkie xp_cmdshell wykonania musi poczekać, aż zamyka uchwyt procesu najdłużej.

Rozwiązanie

Aby rozwiązać ten problem, zastosuj następującą aktualizację zbiorczą. Ta aktualizacja dodaje opcje CreateProcess API STARTUPINFOEX, uniemożliwiających dziedziczenie uchwytu na krzyż procesu.

Zbiorcza aktualizacja informacji

Zbiorczego pakietu aktualizacji 1 dla dodatku Service Pack 1 dla programu SQL Server 2012

Poprawkę dotyczącą tego problemu najpierw została wydana w zbiorczej aktualizacji 1. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla dodatku Service Pack 1 dla programu SQL Server 2012 r. kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2765331 Zbiorczego pakietu aktualizacji 1 dla dodatku Service Pack 1 dla programu SQL Server 2012
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich 2012 serwera SQL naprawić release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, 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:
2772858 2012 Serwera SQL buduje hotfix wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2012

Program SQL Server 2012

Poprawkę dotyczącą tego problemu najpierw została wydana w zbiorczej aktualizacji 4. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server w 2012 r. kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2758687 Zbiorczego pakietu aktualizacji 4 dla programu SQL Server 2012
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich 2012 serwera SQL naprawić release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, 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:
2692828 2012 Serwera SQL buduje hotfix wydane po wydaniu programu SQL Server 2012

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft, które są wymienione w sekcji "Informacje zawarte w tym artykule dotyczą".

Materiały referencyjne

Aby uzyskać więcej informacji na temat funkcji CreateProcess przejdź do następującej witryny sieci Web MSDN:
Ogólne informacje dotyczące funkcji CreateProcess
Aby uzyskać więcej informacji na temat procedury przechowywane xp_cmdshell przejdź do następującej witryny sieci Web MSDN:
Ogólne informacje o xp_cmdshell procedury przechowywanej.
Aby uzyskać więcej informacji dotyczących podobnego problemu kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
315939 PRB: Podrzędna dziedziczy niezamierzone uchwyty podczas wywołania funkcji CreateProcess

Właściwości

Numer ID artykułu: 2671318 - Ostatnia weryfikacja: 20 listopada 2012 - Weryfikacja: 1.0
Słowa kluczowe: 
kbtshoot kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2671318 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: 2671318

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