sp_altermessage (języka Transact-SQL)
Zmienia stan wiadomości zdefiniowane przez użytkownika w wystąpienie Aparat baz danych programu SQL Server.Zdefiniowany przez użytkownika wiadomości można przeglądać za pomocą sys.messages katalogu widoku.
Składnia
sp_altermessage [ @message_id = ] message_number ,[ @parameter = ]'write_to_log'
,[ @parameter_value = ]'value'
Argumenty
[@ identyfikator_wiadomości = ] message_number
Jest numerem błędu wiadomości do zmiany z sys.messages.message_numberjest int z braku wartości domyślnej.[ @ Parametr = ] **'**write_to_log"
Używane z @ parameter_value oznacza, że wiadomość jest zapisywane w Microsoft informacje aplikacji systemu Windowswrite_to_logjest sysname z braku wartości domyślnej.write_to_logmusi być zestaw na WITH_LOG lub NULL.Jeśli write_to_log zestaw WITH_LOG lub NULL i wartość dla @ parameter_value jest true, wiadomości są zapisywane informacje aplikacji systemu WindowsJeśli write_to_log jest zestaw na WITH_LOG lub NULL i wartość dla @ parameter_value jest false, wiadomość nie jest zawsze zapisywany w dzienniku aplikacji systemu Windows, ale mogą być zapisane w zależności od tego, jak podniesiono błąd.Jeśli write_to_log jest określony, wartość dla @ parameter_value musi być także określona.Ostrzeżenie
Jeśli wiadomości są zapisywane w dzienniku aplikacji systemu Windows, są również zapisywane na Aparat baz danych, plikdziennik błędów .
[ @ parameter_value = ]**'**value"
Używane z parametr @ wskazuje, że błąd jest zapisywane w Microsoft informacje aplikacji systemu Windowsvaluejest varchar(5), z braku wartości domyślnej.Jeśli true, błąd jest zawsze zapisywane informacje aplikacji systemu WindowsJeśli false, błąd nie jest zawsze zapisywany w dzienniku aplikacji systemu Windows, ale mogą być zapisane w zależności od tego, jak podniesiono błąd.Jeśli value jest określony, write_to_log dla parametr @ musi być także określona.
Wartości kodów powrotnych
0 (sukces) lub 1 (błąd)
Zestawy wyników
Brak
Uwagi
Efekt sp_altermessage z WITH_LOG opcji jest podobny do parametru RAISERROR Z dziennika, z wyjątkiem sp_altermessage zmienia sposób rejestrowania istniejącą wiadomość.Jeśli wiadomość została zmieniona się WITH_LOG, zawsze jest zapisywany w dzienniku aplikacji systemu Windows, niezależnie od tego, w jaki sposób użytkownik wywoła błąd.Nawet jeśli RAISERROR jest wykonywane bez opcji WITH_LOG, błąd jest zapisywany w dzienniku aplikacji systemu Windows.
Komunikaty systemowe nie mogą być modyfikowane za pomocą sp_altermessage.
Uprawnienia
Wymaga członkostwa w serveradmin stała rola serwera.
Przykłady
Poniższy przykład powoduje, że istniejący komunikat 55001 do rejestrowane informacje aplikacji systemu Windows
sp_altermessage 55001, 'WITH_LOG', 'true';
GO