Poprawka: Po uruchomieniu skryptu języka Transact-SQL w kroku zadania agenta programu SQL Server, SQL Server 2005 lub SQL Server 2008, wynik skrypt języka Transact-SQL może zostać obcięty

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 955695 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Ważne Ten artykuł zawiera informacje na temat sposobu modyfikacji rejestru. Upewnij się, że wykonanie kopii zapasowej rejestru przed przystąpieniem do modyfikacji. Upewnij się, że wiesz, jak przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat kopii zapasowej, przywracania i modyfikowania rejestru kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
322756 Jak wykonać kopię zapasową i przywrócić rejestr w systemie Windows
Microsoft rozprowadza poprawki Microsoft SQL Server 2005 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2005 ustalić wersji.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Symptomy

Rozważmy następujący scenariusz.
  • W Microsoft SQL Server 2005 lub SQL Server 2008 w kroku zadania agenta serwera SQL jest uruchomić skrypt języka Transact-SQL.
  • W kroku pierwszym instrukcja zwraca komunikat o błędzie.
  • Instrukcje później również zwracać komunikaty o błędach.
W tym scenariuszu podczas wykonywania zadania agenta programu SQL Server może się okazać późniejszym sprawozdaniu nie są przetwarzane i że krok niepoprawnie zwraca sukces stanu. Wyniki późniejszym sprawozdaniu są obcinane.

Przyczyna

Agenta programu SQL Server 2005 używa sterownika SQL Native Client (Sqlncli.dll), aby połączyć się z wystąpieniem programu SQL Server 2005. Agenta programu SQL Server 2000 używa sterownika ODBC dla programu SQL Server (Sqlsrv32.dll), aby połączyć się z Microsoft SQL Server 2000. Zmiana danych tabelarycznych tokenu błąd strumienia (TDS) zwracane z serwera SQL do programu SQL Server Agent skutkuje różnicy w zachowaniu między dwoma sterownikami. Powoduje zachowanie różnica dwóch wersji programu SQL Server Agent.

Rozwiązanie

SQL Server 2005

Poprawkę dotyczącą tego problemu najpierw została wydana w aktualizacji zbiorczej 9. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla dodatku Service Pack 2 dla programu SQL Server 2005 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
953752 Zbiorcza aktualizacja pakietu 9 dla dodatku Service Pack 2 dla programu SQL Server 2005
Uwaga Ponieważ kumulują kompilacje każdej nowej wersji poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2005 ustalić wersji. 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:
937137 SQL Server 2005 tworzy wydane po wydaniu dodatku Service Pack 2 dla programu SQL Server 2005
Poprawki Microsoft SQL Server 2005 są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji dodatku Service Pack 2 dla programu SQL Server 2005, należy zastosować poprawkę dodatku Service Pack 2 dla programu SQL Server 2005. Domyślnie wszystkie poprawki, która jest dostępna w dodatku service pack dla programu SQL Server znajduje następny dodatek service pack dla programu SQL Server.

SQL Server 2008

Poprawkę dotyczącą tego problemu jest włączona do versiom RTM programu SQL Server 2008. Jednak aby włączyć poprawkę, może nadal masz zmiany rejestru, które są opisane w sekcji "Więcej informacji".

Obejście problemu

Aby obejść ten problem, należy dodać jako pierwsza instrukcja w kroku manekina instrukcji SELECT.

Stan

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

Więcej informacji

Ostrzeżenie Modyfikacja rejestru za pomocą Edytora rejestru lub inną metodą może spowodować poważne problemy. Te problemy mogą wymagać ponownego zainstalowania systemu operacyjnego. Firma Microsoft nie gwarantuje, że można rozwiązać te problemy. Modyfikowanie rejestru na własne ryzyko.
Aby włączyć tę poprawkę, należy utworzyć wpis rejestru i wartość tego wpisu rejestru na 0:
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<mssql.x>\SQLServerAgent\TruncateJobResultOnError<b00></b00></mssql.x>

Uwaga W tym wpisie rejestru. <mssql.x></mssql.x>reprezentuje identyfikator wystąpienia programu SQL Server. Należy zmienić go na poprawną wartość wystąpienia.

Aby wyłączyć tę poprawkę, ustaw wpis rejestru TruncateJobResultOnError na 1.

Kroki do odtworzenia problemu

  1. Utwórz procedurę przechowywaną. Na przykład utworzyć próbkę rozszerzona procedura przechowywana, o nazwie xp_hello.
  2. Tworzenie zadania agenta serwera SQL, a następnie dodaj następujące instrukcje w kroku zadania agenta serwera SQL:
    declare @txt int
    exec xp_hello @txt OUTPUT
    RAISERROR('One or more operations failed to complete.', 16, 1)
    
  3. Uruchom zadanie agenta programu SQL Server.
Gdy xp_hello rozszerzona procedura składowana zwraca błąd poziomu ważności 1 i TruncateJobResultOnError wpisu rejestru jest ustawiona na 0, zadanie krok oznaczona flagą nie powiodło się. Wyniki xp_hello rozszerzona procedura przechowywana i instrukcja RAISERROR są przechwytywane w historii zadania. Przeglądając historię zadania można znaleźć, że poziom ważności kroków jest 16.

Gdy xp_hello rozszerzona procedura składowana zwraca błąd poziomu ważności 1 i TruncateJobResultOnError wpisu rejestru jest ustawiona na 1, krok zadania jest oznaczony jako sukcesu. Wynik xp_hello rozszerzona procedura przechowywana jest przechwytywane w historii zadania. Wynik instrukcja RAISERROR jest obcinana. Podczas recenzowania historii zadania można znaleźć, że poziom ważności kroków jest 1.

Gdy xp_hello rozszerzona procedura przechowywana zwraca błąd poziomu ważności 11 i TruncateJobResultOnError wpisu rejestru jest ustawiona na 0, zadanie krok oznaczona flagą nie powiodło się. Wyniki xp_hello rozszerzona procedura przechowywana i instrukcja RAISERROR są przechwytywane w historii zadania. Przeglądając historię zadania można znaleźć, że poziom ważności kroków jest 16.

Po xp_hello rozszerzona procedura przechowywana zwraca błąd poziomu ważności 11 i TruncateJobResultOnError wpisu rejestru jest ustawiona na 1, krok zadania jest oznaczony jako nie powiodło się. Wynik xp_hello rozszerzona procedura przechowywana jest przechwytywane w historii zadania. Wynik instrukcja RAISERROR jest obcinana. Przeglądając historię zadania można znaleźć się poziom ważności kroki 11.

Aby uzyskać więcej informacji na temat różnicy w poziomie ważności komunikatów o błędach kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
309802Poprawka: Wywołanie instrukcja RAISERROR w wsadowego języka Transact-SQL może spowodować, że zadanie nie powiedzie się i utratę danych wyjściowych w programie SQL Server SQLAgent
903086 Poprawka: Zadanie wsadowe przestanie działać, a dane wyjściowe zadania zostaną obcięte, po uruchomieniu skryptu języka Transact-SQL jako zadania agenta programu SQL Server, SQL Server 2000
Aby uzyskać więcej informacji, jakie pliki są zmieniane oraz informacje dotyczące wymagań wstępnych, aby zastosować pakiet aktualizacji zbiorczej, który zawiera poprawki, którą opisano w tym artykule bazy wiedzy Microsoft Knowledge Base kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
953752 Zbiorcza aktualizacja pakietu 9 dla dodatku Service Pack 2 dla programu SQL Server 2005

Materiały referencyjne

Aby uzyskać więcej informacji o liście kompilacje, które są dostępne po zainstalowaniu dodatku Service Pack 2 dla programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
937137 SQL Server 2005 tworzy wydane po wydaniu dodatku Service Pack 2 dla programu SQL Server 2005
Aby uzyskać więcej informacji o przyrostowych modelu obsługi programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
935897 Przyrostowe modelu obsługi jest dostępne z zespołu programu SQL Server do dostarczania poprawek zgłoszonych problemów
Aby uzyskać więcej informacji na temat uzyskiwania dodatku Service Pack 2 dla programu SQL Server 2005 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
913089 Jak uzyskać najnowszy dodatek service pack dla programu SQL Server 2005
Aby uzyskać więcej informacji na temat nowych funkcji i ulepszeń w dodatku Service Pack 2 dla programu SQL Server 2005 odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://go.microsoft.com/fwlink/?LinkId = 71711
Aby uzyskać informacje dotyczące schematu nazewnictwa dla aktualizacji programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
822499 Nowy schemat nazewnictwa dla pakietów aktualizacji oprogramowania Microsoft SQL Server
Aby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft

Właściwości

Numer ID artykułu: 955695 - Ostatnia weryfikacja: 16 czerwca 2011 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
Słowa kluczowe: 
kbsql2005tool kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbmt KB955695 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:955695

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