次の方法で共有


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 列を追加しました。