sysdac_history_internal (Transact-SQL)

包含为管理数据层应用程序 (DAC) 而执行的操作的相关信息。 此表存储在 msdb 数据库的 dbo 架构中。

列名

数据类型

说明

action_id

int

操作的标识符

sequence_id

int

标识某一操作内的步骤。

instance_id

uniqueidentifier

DAC 实例的标识符。 该列可以按 dbo.sysdac_instances (Transact-SQL) 中的 instance_id 列进行联接。

action_type

tinyint

操作类型的标识符:

0 = deploy

1 = create

2 = rename

3 = detach

4 = delete

action_type_name

varchar(19)

操作类型的名称:

deploy

create

rename

detach

delete

dac_object_type

tinyint

受操作影响的对象类型的标识符:

0 = dacpac

1 = login

2 = database

dac_object_type_name

varchar(8)

受操作影响的对象类型的名称:

dacpac = DAC 实例

login

database

action_status

tinyint

标识当前操作状态的代码:

0 = pending

1 = success

2 = fail

action_status_name

varchar(11)

操作的当前状态:

pending

success

fail

Required

bit

数据库引擎在回滚 DAC 操作时使用。

dac_object_name_pretran

sysname

在提交包含操作的事务前对象的名称。 仅用于数据库和登录名。

dac_object_name_posttran

sysname

在提交包含操作的事务后对象的名称。 仅用于数据库和登录名。

sqlscript

nvarchar(max)

对数据库或登录名实现操作的 Transact-SQL 脚本。

payload

varbinary(max)

在二进制编码字符串中保存的 DAC 包定义。

Comments

varchar(max)

记录接受了 DAC 升级中的潜在数据损失的用户的登录名。

error_string

nvarchar(max)

在操作遇到错误时生成的错误消息。

created_by

sysname

启动了创建此条目的操作的登录名。

date_created

datetime

该条目的创建日期和时间。

date_modified

datetime

最后修改该条目的日期和时间。

注释

DAC 管理操作(例如部署或删除 DAC)会产生多个步骤。 为每个操作都分配一个操作标识符。 为每个步骤都分配一个序列号和 sysdac_history_internal 中的一行(在其中记录该步骤的状态)。 在该操作步骤开始时创建每一行,并且根据需要进行更新以便反映该操作的状态。 例如,可以向一个部署 DAC 操作分配 action_id 12,并且在 sysdac_history_internal 中获取四行:

action_id

sequence_id

action_type_name

dac_object_type_name

12

0

create

dacpac

12

1

create

login

12

2

create

database

12

3

rename

database

删除之类的 DAC 操作不从 sysdac_history_internal 中删除行。 使用以下查询可以手动删除在数据库引擎实例上不再部署的 DAC 行:

DELETE FROM msdb.dbo.sysdac_history_internal
WHERE instance_id NOT IN
   (SELECT instance_id
    FROM msdb.dbo.sysdac_instances_internal);

为处于活动状态的 DAC 删除行并不影响 DAC 操作;唯一影响是您将不能报告 DAC 的完整历史记录。

注意注意

目前,没有用于删除 Windows Azure SQL Database 上的 sysdac_history_internal 行的机制。

权限

要求具有 sysadmin 固定服务器角色的成员身份。 为具有连接到 master 数据库的权限的所有用户提供对此视图的只读访问权限。

请参阅

参考

dbo.sysdac_instances (Transact-SQL)

sysdac_instances_internal (Transact-SQL)

概念

数据层应用程序