Condividi tramite


sysdac_history_internal (Transact-SQL)

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. È possibile creare un join di questa colonna con la colonna instance_id in dbo.sysdac_instances (Transact-SQL).

action_type

tinyint

Identificatore del tipo di azione:

0 = distribuzione

1 = creazione

2 = ridenominazione

3 = scollegamento

4 = eliminazione

action_type_name

varchar(19)

Nome del tipo di azione:

distribuzione

creazione

ridenominazione

scollegamento

eliminazione

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

account di accesso

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

esito positivo

esito negativo

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

varchar(max)

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.

Osservazioni

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, dove 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, a un'azione di distribuzione di applicazione livello dati potrebbero essere assegnati l'action_id 12 e quattro righe in sysdac_history_internal:

action_id

sequence_id

action_type_name

dac_object_type_name

12

0

creazione

dacpac

12

1

creazione

account di accesso

12

2

creazione

database

12

3

ridenominazione

database

Le operazioni di applicazione livello dati, quali l'eliminazione, non rimuovono le righe da 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]

Al momento non è disponibile alcun meccanismo per eliminare le righe sysdac_history_internal nel Database SQL di Windows Azure.

Autorizzazioni

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

Vedere anche

Riferimento

dbo.sysdac_instances (Transact-SQL)

sysdac_instances_internal (Transact-SQL)

Concetti

Applicazioni livello dati