分享方式:


sp_update_alert (Transact-SQL)

適用於:SQL Server

更新現有警示的設定。

Transact-SQL 語法慣例

語法

sp_update_alert
    [ @name = ] N'name'
    [ , [ @new_name = ] N'new_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @message_id = ] message_id ]
    [ , [ @severity = ] severity ]
    [ , [ @delay_between_responses = ] delay_between_responses ]
    [ , [ @notification_message = ] N'notification_message' ]
    [ , [ @include_event_description_in = ] include_event_description_in ]
    [ , [ @database_name = ] N'database_name' ]
    [ , [ @event_description_keyword = ] N'event_description_keyword' ]
    [ , [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @occurrence_count = ] occurrence_count ]
    [ , [ @count_reset_date = ] count_reset_date ]
    [ , [ @count_reset_time = ] count_reset_time ]
    [ , [ @last_occurrence_date = ] last_occurrence_date ]
    [ , [ @last_occurrence_time = ] last_occurrence_time ]
    [ , [ @last_response_date = ] last_response_date ]
    [ , [ @last_response_time = ] last_response_time ]
    [ , [ @raise_snmp_trap = ] raise_snmp_trap ]
    [ , [ @performance_condition = ] N'performance_condition' ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @wmi_namespace = ] N'wmi_namespace' ]
    [ , [ @wmi_query = ] N'wmi_query' ]
[ ; ]

引數

[ @name = ] N'name'

要更新的警示名稱。 @name為 sysname,沒有預設值。

[ @new_name = ] N'new_name'

警示的新名稱。 名稱必須是唯一的。 @new_name為 sysname,預設值為 NULL

[ @enabled = ] enabled

指定是否啟用警示 (1) 或未啟用 (0)。 @enabled為 tinyint,預設值為 NULL。 必須啟用警示才能引發。

[ @message_id = ] message_id

警示定義的新訊息或錯誤號碼。 一般而言,message_id會對應至 sysmessages 數據表中的錯誤號碼。 @message_id為 int,預設值為 NULL。 只有在警示的嚴重性層級設定為 0時,才能使用訊息標識符。

[ @severity = ] 嚴重性

警示定義的新嚴重性層級(從 125) 。 任何傳送至具有指定嚴重性之 Windows 應用程式記錄檔的 SQL Server 訊息會啟動警示。 @severity為 int,預設值為 NULL。 只有在警示的訊息標識碼設定為 0時,才能使用嚴重性層級。

[ @delay_between_responses = ] delay_between_responses

新的等候期間,以秒為單位,在警示的響應之間。 @delay_between_responses為 int,預設值為 NULL

[ @notification_message = ] N'notification_message'

作為電子郵件、 net send 或呼叫器通知的一部分,傳送給操作員之其他訊息的修訂文字。 @notification_message為 nvarchar(512),預設值為 NULL

[ @include_event_description_in = ] include_event_description_in

指定是否應該在通知訊息中包含來自 Windows 應用程式記錄檔的 SQL Server 錯誤描述。 @include_event_description_in為 tinyint,可以是其中一或多個值。

描述
0 None
1 電子郵件
2 呼叫器
4 net send
7 全部

[ @database_name = ] N'database_name'

發生錯誤的資料庫名稱,才能引發警示。 @database_name為 sysname,預設值為 NULL。 不允許以括弧 ([]) 括住的名稱。

[ @event_description_keyword = ] N'event_description_keyword'

必須在錯誤訊息記錄檔中 SQL Server 錯誤的描述中找到的字元序列。 @event_description_keyword為 nvarchar(100),預設值為 NULL。 此參數適用於篩選物件名稱(例如, 。 customer_table

注意

無法使用 Transact-SQL LIKE 運算式模式比對字元。

[ @job_id = ] 'job_id'

@job_id為 uniqueidentifier,預設值為 NULL

[ @job_name = ] N'job_name'

作業標識碼。 @job_name為 sysname,預設值為 NULL。 如果 指定了job_id則必須省略job_name

[ @occurrence_count = ] occurrence_count

重設警示發生的次數。 @occurrence_count為 int,預設值NULL為 ,且只能設定為 0

[ @count_reset_date = ] count_reset_date

重設上次重設發生次數的日期。 @count_reset_date為 int,預設值為 NULL

[ @count_reset_time = ] count_reset_time

重設上次重設發生次數的時間。 @count_reset_time為 int,預設值為 NULL

[ @last_occurrence_date = ] last_occurrence_date

重設上次發生警示的日期。 @last_occurrence_date為 int,預設值NULL為 ,且只能設定為 0

[ @last_occurrence_time = ] last_occurrence_time

重設上次發生警示的時間。 @last_occurrence_time為 int,預設值為 NULL,且只能設定為 0

[ @last_response_date = ] last_response_date

重設 SQLServerAgent 服務上次回應警示的日期。 @last_response_date為 int,預設值為 NULL,且只能設定為 0

[ @last_response_time = ] last_response_time

重設 SQLServerAgent 服務上次回應警示的時間。 @last_response_time為 int,預設值NULL為 ,且只能設定為 0

[ @raise_snmp_trap = ] raise_snmp_trap

僅供參考之用。 不支援。 我們無法保證未來的相容性。

[ @performance_condition = ] N'performance_condition'

以 格式 <itemcomparatorvalue>表示的值。 @performance_condition是 nvarchar(512),由下列元素組成。

Format 元素 描述
項目 性能物件、性能計數器或計數器的具名實例
比較儀 下列其中一個運算子:>、、 <=
計數器的數值

[ @category_name = ] N'category_name'

警示類別目錄的名稱。 @category_name為 sysname,預設值為 NULL

[ @wmi_namespace = ] N'wmi_namespace'

要查詢事件的 WMI 命名空間。 @wmi_namespace為 sysname,預設值為 NULL

[ @wmi_query = ] N'wmi_query'

指定警示 WMI 事件的查詢。 @wmi_query為 nvarchar(512),預設值為 NULL

傳回碼值

0 (成功) 或 1 (失敗)。

備註

只有 sysmessages 寫入 Windows 應用程式記錄檔,才能引發警示。

sp_update_alert 只會變更提供參數值的警示設定。 如果省略參數,則會保留目前的設定。

權限

若要執行此預存程式,用戶必須是系統管理員固定伺服器角色的成員

範例

下列範例會將 的啟用設定 Test Alert 變更為 0

USE msdb;
GO

EXEC dbo.sp_update_alert
    @name = N'Test Alert',
    @enabled = 0;
GO