Share via


sysdac_history_internal (Transact-SQL)

Contiene información sobre las acciones realizadas para administrar las aplicaciones de capa de datos (DAC). Esta tabla está almacenada en el esquema dbo de la base de datos msdb.

Nombre de columna

Tipo de datos

Descripción

action_id

int

Identificador de la acción

sequence_id

int

Identifica un paso dentro de una acción.

instance_id

uniqueidentifier

Identificador de la instancia de DAC. Esta columna se puede combinar en la columna instance_id en dbo.sysdac_instances (Transact-SQL).

action_type

tinyint

Identificador del tipo de acción:

0 = implementación (deploy)

1 = creación (create)

2 = cambio de nombre (rename)

3 = separación (detach)

4 = eliminación (delete)

action_type_name

varchar(19)

Nombre del tipo de acción:

deploy

create

rename

detach

delete

dac_object_type

tinyint

Identificador del tipo de objeto afectado por la acción:

0 = paquete DAC (dacpac)

1 = inicio de sesión (login)

2 = base de datos (database)

dac_object_type_name

varchar(8)

Nombre del tipo de objeto afectado por la acción:

dacpac = instancia de DAC

login

database

action_status

tinyint

Código que identifica el estado actual de la acción:

0 = pendiente (pending)

1 = correcta (success)

2 = error (fail)

action_status_name

varchar(11)

Estado actual de la acción:

pending

success

fail

Required

bit

Lo utiliza el Motor de base de datos cuando se revierte una operación de DAC.

dac_object_name_pretran

sysname

Nombre del objeto antes de que se confirme la transacción que contiene la acción. Solo se utiliza para las bases de datos e inicios de sesión.

dac_object_name_posttran

sysname

Nombre del objeto después de que se confirme la transacción que contiene la acción. Solo se utiliza para las bases de datos e inicios de sesión.

sqlscript

nvarchar(max)

Script Transact-SQL que implementa una acción en una base de datos o inicio de sesión.

payload

varbinary(max)

Definición de paquete DAC guardada en una cadena con codificación binaria.

comments

varchar(max)

Registra el inicio de sesión de un usuario que aceptó una posible pérdida de datos en una actualización de DAC.

error_string

nvarchar(max)

Mensaje de error generado si la acción encuentra un error.

created_by

sysname

Inicio de sesión que inició la acción que creó esta entrada.

date_created

datetime

Fecha y hora en que se creó esta entrada.

date_modified

datetime

Fecha y hora en la que se modificó por última vez la entrada.

Comentarios

Las acciones de administración de una DAC, por ejemplo su implementación o eliminación, generan varios pasos. A cada acción se le asigna un identificador de acción. A cada paso se le asigna un número de secuencia y una fila en sysdac_history_internal, donde se graba el estado del paso. Cada fila se crea cuando el paso de la acción comienza y se actualiza según convenga para reflejar el estado de la operación. Por ejemplo, a la acción de implementar una DAC se le podría asignar el action_id 12 y puede obtener cuatro filas en sysdac_history_internal:

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

Las operaciones DAC, como la eliminación, no quitan las filas de sysdac_history_internal. Puede usar la consulta siguiente para eliminar de modo manual las filas de DAC que ya no se implementan en una instancia del Motor de base de datos:

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

Al eliminar las filas de las DAC activas, no se afecta a las operaciones de DAC; el único efecto es que no se podrá notificar el historial completo de la DAC.

Nota

Actualmente, no hay ningún mecanismo para eliminar las filas de sysdac_history_internal en SQL Azure.

Historial de cambios

Contenido actualizado

Se agregó un método para eliminar filas.

Se han agregado las columnas required y comments.