sp_help_alert (Transact-SQL)

適用於:SQL Server

報告伺服器所定義警示的相關信息。

Transact-SQL 語法慣例

語法

sp_help_alert [ [ @alert_name = ] N'alert_name' ]
    [ , [ @order_by = ] N'order_by' ]
    [ , [ @alert_id = ] alert_id ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @legacy_format = ] legacy_format ]
[ ; ]

引數

[ @alert_name = ] N'alert_name'

警示名稱。 @alert_name是 nvarchar(128)。 如果未 指定@alert_name ,則會傳回所有警示的相關信息。

[ @order_by = ] N'order_by'

用來產生結果的排序順序。 @order_by為 sysname,預設值為 @alert_name

[ @alert_id = ] alert_id

要報告相關信息之警示的標識碼。 @alert_id為 int,預設值為 NULL

[ @category_name = ] N'category'

警示的類別。 @category為 sysname,預設值為 NULL

[ @legacy_format = ] legacy_format

是否要產生舊版結果集。 @legacy_format為 bit,預設值為 0。 當 @legacy_format 為 時sp_help_alert會傳回在 SQL Server 2000 (8.x) 中傳sp_help_alert回的結果集。1

傳回碼值

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

結果集

當 @legacy_format0sp_help_alert會產生下列結果集。

資料行名稱 資料類型 描述
id int 系統指派的唯一整數標識碼。
name sysname 警示名稱(例如示範:完整 msdb 記錄檔)。
event_source nvarchar(100) 事件的來源。 它一律 MSSQLServer 適用於 Microsoft SQL Server 7.0 版
event_category_id int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
event_id int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
message_id int 定義警示的訊息錯誤號碼。 (通常對應至數據表中的 sysmessages 錯誤號碼)。 如果使用嚴重性來定義警示, message_id 則為 0NULL
severity int 嚴重性層級(從 925110120130140)定義警示。
enabled tinyint 目前是否啟用警示的狀態(10) 不會傳送無法啟用的警示。
delay_between_responses int 等候期間,以秒為單位,在警示的響應之間。
last_occurrence_date int 上次發生警示的數據。
last_occurrence_time int 上次發生警示的時間。
last_response_date int 上次由 SQL Server Agent 服務回應警示的日期。
last_response_time int 上次由 SQL Server Agent 服務回應警示的時間。
notification_message nvarchar(512) 選擇性的其他訊息會作為電子郵件或呼叫器通知的一部分傳送給操作員。
include_event_description tinyint 這是是否應包含來自 Microsoft Windows 應用程式記錄檔的 SQL Server 錯誤描述,作為通知訊息的一部分。
database_name sysname 發生錯誤的資料庫,警示必須引發。 如果資料庫名稱為 NULL,則不論發生錯誤的位置為何,警示都會引發。
event_description_keyword nvarchar(100) Windows 應用程式記錄檔中 SQL Server 錯誤的描述,必須類似提供的字元序列。
occurrence_count int 警示發生的次數。
count_reset_date int 上次重設的 occurrence_count 日期。
count_reset_time int occurrence_count上次重設的時間。
job_id uniqueidentifier 要執行之作業的標識碼,以回應警示。
job_name sysname 要執行以回應警示之作業的名稱。
has_notification int 如果有一或多個操作員收到此警示的通知,則為非零。 此值為下列其中一或多個值(OR一起顯示):

1=有電子郵件通知
2=有呼叫器通知
4= 有 net send 通知。
flags int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
performance_condition nvarchar(512) 如果 type2,則此資料列會顯示效能條件的定義,否則資料行為 NULL
category_name sysname 僅供參考之用。 不支援。 我們無法保證未來的相容性。 SQL Server 7.0 一律為 '[未分類]'。
wmi_namespace sysname 如果 type3,這個數據行會顯示WMI事件的命名空間。
wmi_query nvarchar(512) 如果 type3,這個數據行會顯示WMI事件的查詢。
type int 事件的類型:

1 = SQL Server 事件警示
2 = SQL Server 效能警示
3 = WMI 事件警示

當 @legacy_format1sp_help_alert會產生下列結果集。

資料行名稱 資料類型 描述
id int 系統指派的唯一整數標識碼。
name sysname 警示名稱(例如示範:完整 msdb 記錄檔)。
event_source nvarchar(100) 事件的來源。 它一 MSSQLServer 律適用於 SQL Server 7.0 版
event_category_id int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
event_id int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
message_id int 定義警示的訊息錯誤號碼。 (通常對應至數據表中的 sysmessages 錯誤號碼)。 如果使用嚴重性來定義警示, message_id 則為 0NULL
severity int 嚴重性層級(從 925110120130140)定義警示。
enabled tinyint 目前是否啟用警示的狀態(10) 不會傳送無法啟用的警示。
delay_between_responses int 等候期間,以秒為單位,在警示的響應之間。
last_occurrence_date int 上次發生警示的數據。
last_occurrence_time int 上次發生警示的時間。
last_response_date int 上次由 SQL Server Agent 服務回應警示的日期。
last_response_time int 上次由 SQL Server Agent 服務回應警示的時間。
notification_message nvarchar(512) 選擇性的其他訊息會作為電子郵件或呼叫器通知的一部分傳送給操作員。
include_event_description tinyint 這是是否應該在通知訊息中包含來自 Windows 應用程式記錄檔的 SQL Server 錯誤描述。
database_name sysname 發生錯誤的資料庫,警示必須引發。 如果資料庫名稱為 NULL,則不論發生錯誤的位置為何,警示都會引發。
event_description_keyword nvarchar(100) Windows 應用程式記錄檔中 SQL Server 錯誤的描述,必須類似提供的字元序列。
occurrence_count int 警示發生的次數。
count_reset_date int 上次重設的 occurrence_count 日期。
count_reset_time int occurrence_count上次重設的時間。
job_id uniqueidentifier 作業標識碼。
job_name sysname 要執行以回應警示的隨選工作。
has_notification int 如果有一或多個操作員收到此警示的通知,則為非零。 此值為下列其中一或多個值(與 OR 聯結):

1=有電子郵件通知
2=有呼叫器通知
4=has net send notification。
flags int 僅供參考之用。 不支援。 不保證未來的相容性。
performance_condition nvarchar(512) 如果 type2,這個數據行會顯示效能條件的定義。 如果 type3,這個數據行會顯示WMI事件的查詢。 否則,資料行為 NULL
category_name sysname 僅供參考之用。 不支援。 我們無法保證未來的相容性。 一律 [Uncategorized] 適用於 SQL Server 7.0。
type int 警示類型:

1 = SQL Server 事件警示
2 = SQL Server 效能警示
3 = WMI 事件警示

備註

sp_help_alert 必須從 msdb 資料庫執行。

權限

依預設,只有 系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。 其他用戶必須獲授與 資料庫中的 SQLAgentOperatorRole 固定資料庫角色 msdb

如需 SQLAgentOperatorRole 的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色

範例

下列範例會報告警示的相關信息 Demo: Sev. 25 Errors

USE msdb;
GO

EXEC sp_help_alert @alert_name = 'Demo: Sev. 25 Errors';
GO