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


Таблицы приложений уровня данных — sysdac_history_internal

Область применения: SQL Server

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

Имя столбца Тип данных Description
action_id int Идентификатор действия
sequence_id int Идентифицирует шаг действия.
instance_id uniqueidentifier Идентификатор экземпляра DAC. Этот столбец можно присоединить к столбцу instance_id в dbo.sysdac_instances (Transact-SQL).
action_type tinyint Идентификатор типа действия:

0 = развертывание

1 = создание

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

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

4 = удаление
action_type_name varchar(19) Имя типа действия:

deploy

создание

rename

отделять

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

0 = dacpac

1 = имя входа

2 = база данных
dac_object_type_name varchar(8) Имя типа объекта, на который влияет действие:

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

Вход

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

0 = ожидание

1 = успех

2 = сбой
action_status_name varchar(11) Текущее состояние действия:

Ожидается

успех

fail
Обязательный 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, где записывается состояние шага. Каждая строка создается при запуске этапа действия и обновляется по мере необходимости для отражения состояния операции. Например, можно назначить действие развертывания уровня данных action_id 12 и получить четыре строки в sysdac_history_internal:

action_id sequence_id action_type_name dac_object_type_name
12 0 create пакет DAC
12 1 create Вход
12 2 create database
12 3 rename database

Операции DAC, такие как удаление, не удаляют строки из sysdac_history_internal. Следующий запрос можно использовать для ручного удаления строк для daCs, которые больше не развернуты на экземпляре ядро СУБД:

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.

Разрешения

Требует членства в предопределенной роли сервера sysadmin. Доступ только для чтения к этому представлению доступен всем пользователям с разрешениями на подключение к базе данных master.

См. также

Приложения уровня данных
dbo.sysdac_instances (Transact-SQL)
sysdac_instances_internal (Transact-SQL)