managed_backup.sp_get_backup_diagnostics (Transact-SQL)

适用于:SQL Server 2016 (13.x) 及更高版本

返回由智能管理记录的扩展事件。

使用此存储过程监视 Smart 管理员记录的扩展事件。SQL Server 托管备份到 Microsoft Azure 事件记录在此系统中,可以使用此存储过程进行查看和监视。

Transact-SQL 语法约定

语法

managed_backup.sp_get_backup_diagnostics
    [ [ @xevent_channel = ] 'event_type'
    [ , [ @begin_time = ] 'time1' ]
    [ , [ @end_time = ] 'time2' ] ]
[ ; ]

参数

[ @xevent_channel = ] 'event_type'

扩展事件的类型。 默认值设置为返回之前 30 分钟内记录的所有事件。 记录的事件取决于所启用扩展事件的类型。 您可以使用此参数对存储过程进行筛选,仅显示特定类型的事件。 可以指定完整的事件名称,也可以指定子字符串,例如: AdminAnalyticOperationalDebug@event_channel是 varchar(255)。

若要获取当前启用的事件类型的列表,请使用该 managed_backup.fn_get_current_xevent_settings 函数。

[ @begin_time = ] 'time1'

应显示的事件对应的时间段的开始时间。 @begin_time为默认值为 NULL 的日期/时间。 如果未指定此项,则会显示过去 30 分钟内的事件。

[ @end_time = ] 'time2'

应显示的事件对应的时间段的结束时间。 @end_time是默认值为 NULL 的日期/时间。 如果未指定此项,则最多显示当前时间的事件。

返回的表

此存储过程返回包含以下信息的表:

列名称 数据类型 描述
event_type nvarchar(512) 扩展事件的类型
Event nvarchar(512) 事件日志摘要
Timestamp timestamp 显示何时引发事件的事件的时间戳

权限

需要对存储过程具有 EXECUTE 权限。 它还需要 VIEW 标准版RVER STATE 权限,因为它在内部调用需要此权限的其他系统对象。

示例

以下示例返回过去 30 分钟记录的所有事件。

USE msdb;
GO
EXEC managed_backup.sp_get_backup_diagnostics;

以下示例返回某一特定时间范围内记录的所有事件。

USE msdb;
GO
EXEC managed_backup.sp_get_backup_diagnostics @xevent_channel = 'Admin',
  @begin_time = '2022-06-01', @end_time = '2022-06-10';

以下示例返回过去 30 分钟内记录的所有分析事件

USE msdb;
GO
EXEC managed_backup.sp_get_backup_diagnostics @xevent_channel = 'Analytic';