Tabelle applicazioni livello dati - sysdac_history_internal

Si applica a: sìSQL Server (tutte le versioni supportate)

Contiene informazioni sulle azioni eseguite per gestire le applicazioni livello dati. Questa tabella viene archiviata nello schema dbo del database msdb.

Nome colonna Tipo di dati Descrizione
action_id int Identificatore dell'azione
sequence_id int Consente di identificare un passaggio all'interno di un'azione.
instance_id uniqueidentifier Identificatore dell'istanza di applicazione livello dati. Questa colonna può essere unita alla colonna instance_id in dbo.sysdac_instances (Transact-SQL).
action_type tinyint Identificatore del tipo di azione:

0 = distribuzione

1 = creazione

2 = rinomina

3 = scollegamento

4 = eliminazione
action_type_name varchar(19) Nome del tipo di azione:

deploy

create

rename

Staccare

delete
dac_object_type tinyint Identificatore del tipo di oggetto interessato dall'azione:

0 = dacpac

1 = account di accesso

2 = database
dac_object_type_name varchar(8) Nome del tipo di oggetto interessato dall'azione:

dacpac = istanza di applicazione livello dati

Login

database
action_status tinyint Codice di identificazione dello stato corrente dell'azione:

0 = in sospeso

1 = esito positivo

2 = esito negativo
action_status_name varchar(11) Stato corrente dell'azione:

In sospeso

Successo

Fallire
Obbligatorio bit Utilizzato dal Motore di database per il rollback di un'operazione dell'applicazione livello dati.
dac_object_name_pretran sysname Nome dell'oggetto prima dell'esecuzione del commit della transazione contenente l'azione. Utilizzato solo per database e account di accesso.
dac_object_name_posttran sysname Nome dell'oggetto dopo l'esecuzione del commit della transazione contenente l'azione. Utilizzato solo per database e account di accesso.
sqlscript nvarchar(max) Script Transact-SQL che implementa un'azione in un database o account di accesso.
Payload varbinary(max) Definizione del pacchetto di applicazione livello dati salvata in una stringa codificata binaria.
Commenti ntext Consente di registrare l'accesso di un utente che ha accettato la possibile perdita dei dati in un aggiornamento dell'applicazione livello dati.
error_string nvarchar(max) Messaggio di errore generato se l'azione rileva un errore.
created_by sysname Account di accesso che ha avviato l'azione di creazione questa voce.
date_created datetime Data e ora di creazione della voce.
date_modified datetime Data e ora dell'ultima modifica della voce.

Commenti

Le azioni di gestione di applicazione livello dati, quali ad esempio la distribuzione o l'eliminazione di un'applicazione livello dati, generano più passaggi. A ogni azione viene assegnato un identificatore dell'azione. A ogni passaggio vengono assegnati un numero di sequenza e una riga in sysdac_history_internal, in cui viene registrato lo stato del passaggio. Ogni riga viene creata all'avvio del passaggio dell'azione e aggiornata in base alle necessità per riflettere lo stato dell'operazione. Ad esempio, un'azione distribuisci applicazione livello dati può essere assegnata action_id 12 e ottenere quattro righe in 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 ridenominazione database

Le operazioni di applicazione livello dati, ad esempio l'eliminazione, non rimuovono le righe sysdac_history_internal. È possibile utilizzare la query seguente per eliminare manualmente le righe per le applicazioni livello dati non più distribuite su un'istanza di Motore di database:

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

L'eliminazione delle righe per le applicazioni livello dati attive non influisce sulle operazioni di applicazione livello dati; l'unico effetto è che non sarà possibile registrare la cronologia completa dell'applicazione livello dati.

Nota

Attualmente, non esiste alcun meccanismo per eliminare sysdac_history_internal righe in database SQL di Azure .

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del server sysadmin. L'accesso in sola lettura a questa vista è disponibile per tutti gli utenti con le autorizzazioni per connettersi al database master.

Vedere anche

Applicazioni livello dati
dbo.sysdac_instances (Transact-SQL)
sysdac_instances_internal (Transact-SQL)