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 内の行が 1 つずつ割り当てられ、ここにステップのステータスが記録されます。アクション ステップが開始されると各行が作成され、操作のステータスを反映する必要に応じて更新されます。たとえば、DAC の配置アクションには action_id 12 が割り当てられ、sysdac_history_internal 内の 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 の行が削除されません。現在データベース エンジンのインスタンスに配置されていない 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 の行を削除するメカニズムはありません。 |
関連項目
参照
概念
変更履歴
変更内容 |
---|
行を削除する方法を追加しました。 |
required 列および comments 列を追加しました。 |