sp_help_alert (Transact-SQL)
適用於:SQL Server
報告伺服器所定義警示的相關信息。
語法
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為 sysname,預設值為 NULL
。 如果未 指定@alert_name ,則會傳回所有警示的相關信息。
[ @order_by = ] N'order_by'
用來產生結果的排序順序。 @order_by為 sysname,預設值為 @alert_name。
[ @alert_id = ] alert_id
要報告相關信息之警示的標識碼。 @alert_id為 int,預設值為 NULL
。
[ @category_name = ] N'category_name'
警示的類別。 @category_name為 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
(失敗)。
結果集
此數據表只會在 sql Server 2005 (9.x) 和更新版本@legacy_format 0
時顯示輸出。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
id |
int | 系統指派的唯一整數標識碼。 |
name |
sysname | 警示名稱 (例如 , Demo: Full msdb log |
event_source |
nvarchar(100) | 事件的來源。 |
event_category_id |
int | 僅供參考之用。 不支援。 我們無法保證未來的相容性。 |
event_id |
int | 僅供參考之用。 不支援。 我們無法保證未來的相容性。 |
message_id |
int | 定義警示的訊息錯誤號碼。 (通常對應至數據表中的 sysmessages 錯誤號碼)。 如果使用嚴重性來定義警示, message_id 則為 0 或 NULL 。 |
severity |
int | 嚴重性層級(從 9 到 25 、 110 、 120 、 130 或 140 )定義警示。 |
enabled |
tinyint | 目前是否啟用警示的狀態(1 0 ) 不會傳送無法啟用的警示。 |
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 notification。 |
flags |
int | 僅供參考之用。 不支援。 我們無法保證未來的相容性。 |
performance_condition |
nvarchar(512) | 如果 type 為 2 ,則此資料列會顯示效能條件的定義,否則資料行為 NULL 。 |
category_name |
sysname | 僅供參考之用。 不支援。 我們無法保證未來的相容性。 一律 [Uncategorized] 適用於 SQL Server 7.0。 |
wmi_namespace |
sysname | 如果 type 為 3 ,這個數據行會顯示WMI事件的命名空間。 |
wmi_query |
nvarchar(512) | 如果 type 為 3 ,這個數據行會顯示WMI事件的查詢。 |
type |
int | 事件的類型:1 = SQL Server 事件警示2 = SQL Server 效能警示3 = WMI 事件警示 |
備註
sp_help_alert
必須從 msdb
資料庫執行。
權限
您可以授與此 EXECUTE
程序的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。
其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb
:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
如需這些角色權限的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色。
範例
下列範例會報告警示的相關信息 Demo: Sev. 25 Errors
。
USE msdb;
GO
EXEC sp_help_alert @alert_name = 'Demo: Sev. 25 Errors';
GO