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) |
動作的目前狀態: 暫止 成功 失敗 |
必要項 |
bit |
在回復 DAC 作業時,由 Database Engine 使用。 |
dac_object_name_pretran |
sysname |
認可包含動作之交易前的物件名稱。 僅用於資料庫與登入。 |
dac_object_name_posttran |
sysname |
認可包含動作之交易後的物件名稱。 僅用於資料庫與登入。 |
sqlscript |
nvarchar(max) |
在資料庫或登入上實作動作的 Transact-SQL 指令碼。 |
payload |
varbinary(max) |
儲存在二進位編碼字串中的 DAC 封裝定義。 |
註解 |
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 的完整記錄。
[!附註]
目前在 Windows Azure SQL 資料庫 上沒有刪除 sysdac_history_internal 資料列的機制。
權限
需要 sysadmin 固定伺服器角色的成員資格。 具有連接 master 資料庫權限的所有使用者都可取得這個檢視表的唯讀存取權。
請參閱
參考
dbo.sysdac_instances (Transact-SQL)
sysdac_instances_internal (Transact-SQL)