sys.dm_operation_status

适用于: Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics

返回有关对Azure SQL 数据库服务器中的数据库执行的操作的信息。

列名称 数据类型 描述
session_activity_id uniqueidentifier 操作的 ID。 不为 null。
resource_type int 指示针对其执行操作的资源类型。 不为 null。 在当前版本中,此视图仅跟踪对SQL 数据库执行的操作,并且相应的整数值为 0。
resource_type_desc nvarchar(2048) 针对其执行操作的资源类型的说明。 在当前版本中,此视图仅跟踪对SQL 数据库执行的操作。
major_resource_id sql_variant 对其执行操作的SQL 数据库的名称。 不为 null。
minor_resource_id sql_variant 仅限内部使用。 不为 null。
operation nvarchar(60) 对SQL 数据库执行的操作,例如 CREATE 或 ALTER。
state tinyint 操作的状态。

0 = 等待批准
1 = 正在进行
2 = 已完成
3 = 失败
4 = 正在取消
5 = 已取消
state_desc nvarchar(120) PENDING = 操作正在等待提供资源或配额。

IN_PROGRESS = 操作已启动并且正在进行。

COMPLETED = 操作已成功完成。

FAILED = 操作失败。 有关详细信息, 请参阅error_desc 列。

CANCEL_IN_PROGRESS = 操作正在取消。

CANCELLED = 在用户的要求下停止操作。
percent_complete int 操作已完成的百分比。 下面列出了有效值。 不为 null。

0 = 操作未启动

50 = 正在进行的操作。 对于还原操作,此值介于 1 到 99 之间,指示操作的百分比。

100 = 操作完成
error_code int 指示在操作失败过程中发生的错误的代码。 如果值为 0,则指示操作已成功完成。
error_desc nvarchar(2048) 在操作失败过程中发生的错误的说明。
error_severity int 在操作失败过程中发生的错误的严重性级别。 有关错误严重性的详细信息,请参阅数据库引擎错误严重性
error_state int 保留供将来使用。 不保证以后的兼容性。
start_time datetime 开始操作的时间戳。
last_modify_time datetime 上次修改长时间运行的操作的记录的时间戳。 操作成功完成后,此字段会在操作完成时显示时间戳。

权限

此视图仅在数据库中可用于 master 服务器级主体登录名。

注解

若要使用此视图,必须连接到 master 数据库。 sys.dm_operation_status使用SQL 数据库服务器数据库中的视图master跟踪对SQL 数据库执行的以下操作的状态:

  • 创建数据库

  • 复制数据库。 数据库副本在此视图中创建关于源服务器和目标服务器的记录。

  • 更改数据库

  • 更改服务层的性能级别

  • 更改数据库的服务层,例如从“基本”更改为“标准”。

  • 设置地理复制关系

  • 终止地理复制关系

  • 还原数据库

  • 删除数据库

此视图中的信息保留约 1 小时。 可以使用 Azure 活动日志 查看过去 90 天内操作的详细信息。 对于保留期超过 90 天,请考虑 将活动日志 条目发送到 Log Analytics 工作区。

示例

显示与数据库 mydb关联的最新异地复制操作:

SELECT *
FROM sys.dm_operation_status
WHERE major_resource_id = 'mydb'
ORDER BY start_time DESC;

后续步骤