Tabellen von Datenschichtanwendung: sysdac_history_internal

Gilt für:SQL Server

Enthält Informationen zu den Maßnahmen, die zur Verwaltung von Datenebenenanwendungen (DAC) ausgeführt werden. Diese Tabelle wird im dbo-Schema der msdb-Datenbank gespeichert.

Spaltenname Datentyp BESCHREIBUNG
action_id int Bezeichner der Aktion
sequence_id int Identifiziert einen Schritt innerhalb einer Aktion.
instance_id uniqueidentifier Der Bezeichner der DAC-Instanz. Diese Spalte kann in der spalte instance_id in dbo.sysdac_instances (Transact-SQL) verknüpft werden.
action_type tinyint Bezeichner des Aktionstyps:

0 = bereitstellen

1 = erstellen

2 = umbenennen

3 = Trennen

4 = löschen
action_type_name varchar(19) Name des Aktionstyps:

deploy

erstellen

rename

Trennen

delete
dac_object_type tinyint Bezeichner des Typs des von der Aktion betroffenen Objekts:

0 = dacpac

1 = Anmeldung

2 = Datenbank
dac_object_type_name varchar(8) Name des Typs des von der Aktion betroffenen Objekts:

dacpac = DAC instance

einloggen

database
action_status tinyint Code, der den aktuellen Status der Aktion identifiziert:

0 = ausstehend

1 = Erfolg

2 = Fehler
action_status_name varchar(11) Aktueller Status der Aktion:

Ausstehend

Erfolg

Fehler
Erforderlich bit Wird von der Datenbank-Engine beim Rollback eines DAC-Vorgangs verwendet.
dac_object_name_pretran sysname Name des Objekts, bevor ein Commit für die Transaktion ausgeführt wird, in der die Aktion enthalten ist. Wird nur für Datenbanken und Anmeldenamen verwendet.
dac_object_name_posttran sysname Name des Objekts, nachdem ein Commit für die Transaktion ausgeführt wurde, in der die Aktion enthalten ist. Wird nur für Datenbanken und Anmeldenamen verwendet.
sqlscript nvarchar(max) Transact-SQL-Skript, das eine Aktion für eine Datenbank oder Anmeldung implementiert.
Nutzlast varbinary(max) DAC-Paketdefinition, die in einer binären codierten Zeichenfolge gespeichert ist.
Kommentare varchar(max) Zeichnet die Anmeldung eines Benutzers auf, der potenziellen Datenverlust in einem DAC-Upgrade als akzeptabel angegeben hat.
error_string nvarchar(max) Fehlermeldung, die im Fall eines Fehler generiert wird.
created_by sysname Der Anmeldename, unter dem die Aktion, die diesen Eintrag erstellt hat, gestartet wurde.
date_created datetime Datum und Uhrzeit, zu denen dieser Eintrag erstellt wurde.
date_modified datetime Datum und Uhrzeit, zu denen der Eintrag zuletzt geändert wurde.

Bemerkungen

Durch DAC-Verwaltungsaktionen, z. B. das Bereitstellen oder Löschen einer DAC, werden mehrere Schritte generiert. Jeder Aktion wird ein Aktionsbezeichner zugewiesen. Jedem Schritt wird eine Sequenznummer und eine Zeile in sysdac_history_internal zugewiesen, wobei die status des Schritts aufgezeichnet wird. Die einzelnen Zeilen werden mit Beginn des Aktionsschritts erstellt und bei Bedarf aktualisiert, um dem Status des Vorgangs zu entsprechen. Beispielsweise kann eine DAC-Bereitstellungsaktion action_id 12 zugewiesen werden und vier Zeilen in sysdac_history_internal abrufen:

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

DAC-Vorgänge, z. B. Löschen, entfernen keine Zeilen aus sysdac_history_internal. Sie können die folgende Abfrage verwenden, um die Zeilen für DACs, die nicht mehr auf einer instance der Datenbank-Engine bereitgestellt werden, manuell zu löschen:

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

Das Löschen von Zeilen für aktive DACs hat keinen Einfluss auf DAC-Vorgänge. Die einzige Auswirkung besteht darin, dass nicht der vollständige Verlauf für die DAC gemeldet werden kann.

Hinweis

Derzeit gibt es keinen Mechanismus zum Löschen sysdac_history_internal Zeilen in Azure SQL Database.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin. Schreibgeschützter Zugriff auf diese Ansicht steht allen Benutzern mit Berechtigungen zum Herstellen einer Verbindung mit der master-Datenbank zur Verfügung.

Weitere Informationen

Datenebenenanwendungen
dbo.sysdac_instances (Transact-SQL)
sysdac_instances_internal (Transact-SQL)