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 = 部署

1 = 建立

2 = 重新命名

3 = 卸離

4 = 刪除

action_type_name

varchar(19)

動作類型的名稱:

deploy

create

rename

detach

delete

dac_object_type

tinyint

受到動作影響之物件類型的識別碼:

0 = dacpac

1 = 登入

2 = 資料庫

dac_object_type_name

varchar(8)

受到動作影響之物件類型的名稱:

dacpac = DAC 執行個體

login

database

action_status

tinyint

識別動作目前狀態的代碼:

0 = 暫止

1 = 成功

2 = 失敗

action_status_name

varchar(11)

動作的目前狀態:

暫止

成功

失敗

Required

bit

回復 DAC 作業時,由 Database Engine 使用。

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 中的每個步驟都會指派一個序號和一個資料列。當動作步驟啟動時,會建立每個資料列,並在需要時進行更新,以反映作業的狀態。例如,針對 sysdac_history_internal 中的部署 DAC 動作,會指派 action_id 12 並得到 4 個資料列。

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 中的資料列。您可以使用下列查詢,針對 Database Engine 執行個體上不再部署的 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 的完整記錄。

[!附註]

目前沒有機制可刪除 SQL Azure 上的 sysdac_history_internal 資料列。

變更記錄

更新的內容

加入刪除資料列的方法。

加入了 requiredcomments 資料行。