次の方法で共有


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 パッケージ定義。

コメント

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 の完全な履歴をレポートできなくなる点のみです。

注意

現在、Windows Azure SQL データベースで sysdac_history_internal の行を削除するメカニズムはありません。

権限

sysadmin 固定サーバー ロールのメンバーシップが必要です。 このビューは、master データベースに接続するための権限を持つすべてのユーザーが読み取り専用で使用できます。

関連項目

参照

dbo.sysdac_instances (Transact-SQL)

sysdac_instances_internal (Transact-SQL)

概念

データ層アプリケーション