Поделиться через


sysdac_history_internal (Transact-SQL)

Содержит сведения о действиях, предпринятых для управления приложениями уровня данных (DAC). Данная таблица хранится в схеме dbo базы данных msdb.

Имя столбца

Тип данных

Описание

action_id

int

Идентификатор действия

sequence_id

int

Идентифицирует шаг действия.

instance_id

uniqueidentifier

Идентификатор экземпляра приложения уровня данных. Этот столбец может быть соединен со столбцом instance_id в dbo.sysdac_instances (Transact-SQL).

action_type

tinyint

Идентификатор типа действия:

0 = развернуть

1 = создать

2 = переименовать

3 = отсоединить

4 = удалить

action_type_name

varchar(19)

Имя типа действия:

deploy

создание

rename

detach

delete

dac_object_type

tinyint

Идентификатор типа объекта, на который влияет действие:

0 = пакет DAC

1 = имя входа

2 = база данных

dac_object_type_name

varchar(8)

Имя типа объекта, на который влияет действие:

dacpac = экземпляр DAC

имя входа

база данных

action_status

tinyint

Код, отображающий текущее состояние действия:

0 = ожидание

1 = успешно

2 = ошибка

action_status_name

varchar(11)

Текущее состояние действия:

ожидание

успешно

ошибка

Обязательно

bit

Используется в Database Engine при откате операции DAC.

dac_object_name_pretran

sysname

Имя объекта до транзакции, содержащей действие, выделено. Используется только для баз данных и имен входа.

dac_object_name_posttran

sysname

Имя объекта после транзакции, содержащей действие, выделено. Используется только для баз данных и имен входа.

sqlscript

nvarchar(max)

Сценарий Transact-SQL, выполняющий действие над базой данных или именем входа.

полезная нагрузка

varbinary(max)

Определение пакета DAC, сохраненное в строке, закодированной двоичным кодом.

комментарии

varchar(max)

Регистрирует имя пользователя, который подтвердил свое согласие с потенциальной потерей данных при обновлении DAC.

error_string

nvarchar(max)

Если действие выполняется с ошибкой, выдается сообщение.

created_by

sysname

Имя входа, запустившее действие, создавшее данную запись.

date_created

datetime

Дата и время создания записи.

date_modified

datetime

Дата и время последнего изменения записи.

Замечания

Управляющие действия DAC, такие как развертывание или удаление DAC, создают несколько этапов. Каждому из действий присваивается идентификатор действия. Каждому этапу присваивается порядковый номер и строка в sysdac_history_internal, где регистрируется состояние этапа. Каждая строка создается при запуске этапа действия и обновляется по мере необходимости для отражения состояния операции. Например, действию по развертыванию DAC может быть присвоен action_id, равный 12, и оно может получить четыре строки в sysdac_history_internal:

action_id

sequence_id

action_type_name

dac_object_type_name

12

0

создать

пакет DAC

12

1

create

login

12

2

create

database

12

3

rename

database

Операции DAC, такие как удаление, не удаляют строки из таблицы sysdac_history_internal. Для удаления вручную строк DAC, более не развернутых на экземпляре Database Engine, можно использовать следующий запрос:

DELETE FROM msdb.dbo.sysdac_history_internal
WHERE instance_id NOT IN
   (SELECT instance_id
    FROM msdb.dbo.sysdac_instances_internal);

Удаление строк из текущих DAC не затрагивает работу DAC; действие заключается лишь в том, что для DAC нельзя будет получить полный отчет по истории.

ПримечаниеПримечание

На данный момент механизм удаления строк sysdac_history_internal в службах SQL Azure отсутствует.

Журнал изменений

Обновленное содержимое

Добавлен метод удаления строк.

Добавлены столбцы required и comments.