sp_update_alert (Transact-SQL)
適用於:SQL Server
更新現有警示的設定。
語法
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 = ] 嚴重性
警示定義的新嚴重性層級(從 1
到 25
) 。 任何傳送至具有指定嚴重性之 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