sp_help_alert (Transact-SQL)
報告定義給伺服器之警示的相關資訊。
語法
sp_help_alert [ [ @alert_name = ] 'alert_name' ]
[ , [ @order_by = ] 'order_by' ]
[ , [ @alert_id = ] alert_id ]
[ , [ @category_name = ] 'category' ]
[ , [ @legacy_format = ] legacy_format ]
引數
[@alert_name =] 'alert_name'
警示名稱。alert_name 是 nvarchar(128)。如果未指定 alert_name,就會傳回有關所有警示的資訊。[@order_by =] 'order_by'
用來產生結果的排序順序。order_by 是 sysname,預設值是 N 'name'。[@alert_id =] alert_id
所報告者為其相關資訊之警示的識別碼。alert_id 是 int,預設值是 NULL。[@category_name =] 'category'
警示的類別目錄。category 是 sysname,預設值是 NULL。[@legacy_format=] legacy_format
這是指是否產生舊的結果集。legacy_format 是 bit,預設值是 0。當 legacy_format 是 1 時,sp_help_alert 會傳回 Microsoft SQL Server 2000 的 sp_help_alert 所傳回的結果集。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
當 @legacy_format 是 0 時,sp_help_alert 會產生下列結果集。
資料行名稱 |
資料類型 |
描述 |
---|---|---|
id |
int |
系統指派的唯一整數識別碼。 |
name |
sysname |
警示名稱 (例如:Demo: Full msdb log)。 |
event_source |
nvarchar(100) |
事件的來源。對 MicrosoftSQL Server 7.0 版而言,它一律是 MSSQLServer。 |
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 |
SQLServerAgent 服務上次回應警示的日期。 |
last_response_time |
int |
SQLServerAgent 服務上次回應警示的時間。 |
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) |
如果 type 是 2,這個資料行會顯示效能條件的定義;否則,這個資料行就是 NULL。 |
category_name |
sysname |
僅供參考之用。不支援。我們無法保證未來的相容性。如果是 SQL Server 7.0,便一律是 '[Uncategorized]'。 |
wmi_namespace |
sysname |
如果 type 是 3,這個資料行會顯示 WMI 事件的命名空間。 |
wmi_query |
nvarchar(512) |
如果 type 是 3,這個資料行會顯示 WMI 事件的查詢。 |
type |
int |
事件類型: 1 = SQL Server 事件警示 2 = SQL Server 效能警示 3 = WMI 事件警示 |
當 @legacy_format 是 1 時,sp_help_alert 會產生下列結果集。
資料行名稱 |
資料類型 |
描述 |
---|---|---|
id |
int |
系統指派的唯一整數識別碼。 |
name |
sysname |
警示名稱 (例如:Demo: Full msdb log)。 |
event_source |
nvarchar(100) |
事件的來源。對 SQL Server 7.0 版而言,它一律是 MSSQLServer。 |
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 |
SQLServerAgent 服務上次回應警示的日期。 |
last_response_time |
int |
SQLServerAgent 服務上次回應警示的時間。 |
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=有 net send 通知。 |
flags |
int |
僅供參考之用。不支援。我們無法保證未來的相容性。. |
performance_condition |
nvarchar(512) |
如果 type 是 2,這個資料行會顯示效能條件的定義。如果 type 是 3,這個資料行會顯示 WMI 事件的查詢。否則,這個資料行是 NULL。 |
category_name |
sysname |
僅供參考之用。不支援。我們無法保證未來的相容性。如果是 SQL Server 7.0,便一律是 '[Uncategorized]'。 |
type |
int |
警示類型: 1 = SQL Server 事件警示 2 = SQL Server 效能警示 3 = WMI 事件警示 |
備註
sp_help_alert 必須從 msdb 資料庫中執行。
權限
依預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。其他使用者必須被授與 msdb 資料庫的 SQLAgentOperatorRole 固定資料庫角色。
如需有關 SQLAgentOperatorRole 的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。
範例
下列範例會報告 Demo: Sev. 25 Errors 這項警示的相關資訊。
USE msdb ;
GO
EXEC sp_help_alert @alert_name = 'Demo: Sev. 25 Errors'
GO