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)