Teilen über


Registrieren einer Datenbank als eine DAC

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

Verwenden Sie entweder den Assistenten zum Registrieren von Datenschichtanwendungen oder ein Windows PowerShell-Skript, um eine Definition für eine Datenschichtanwendung (DAC) zu erstellen, in der die Objekte in einer vorhandenen Datenbank beschrieben werden, und registrieren Sie die DAC-Definition in der msdb-Systemdatenbank (master in Azure SQL-Datenbank).

Vorbereitungen

Beim Registrierungsprozess wird eine DAC-Definition erstellt, die die Objekte in der Datenbank definiert. Eine DAC-Instanz setzt sich aus der Kombination von DAC-Definition und Datenbank zusammen. Bei der Registrierung einer Datenbank als DAC in einer Instanz der Datenbank-Engine wird die registrierte DAC in das SQL Server-Hilfsprogramm integriert, wenn der Hilfsprogramm-Sammlungssatz das nächste Mal von der Instanz an den Steuerungspunkt für das Hilfsprogramm gesendet wird. Die DAC ist dann unter dem Knoten Bereitgestellte Datenschichtanwendungen im Management Studio Utility Explorer angezeigt und wird berichtet auf der Detailseite Bereitgestellte Datenschichtanwendungen.

Einschränkungen

Die DAC-Registrierung kann nur für eine Datenbank in SQL-Datenbank oder SQL Server 2005 (9.x) Service Pack 4 (SP4) oder höher ausgeführt werden. Die DAC-Registrierung ist nicht möglich, wenn eine DAC bereits für die Datenbank registriert ist. Wenn die Datenbank durch Bereitstellung einer DAC erstellt wurde, kann der Assistent zum Registrieren von Datenschichtanwendungenbeispielsweise nicht ausgeführt werden.

Es kann keine DAC registriert werden, wenn die Datenbank Objekte, die in einer DAC nicht unterstützt werden, oder enthaltene Benutzer enthält. Weitere Informationen zu den in einer DAC unterstützten Objekttypen finden Sie unter DAC Support For SQL Server Objects and Versions.

Berechtigungen

Zum Registrieren einer DAC in einer Instanz von Datenbank-Engine sind mindestens die ALTER ANY-Anmeldeberechtigung und die VIEW DEFINITION-Berechtigung im Datenbankbereich sowie SELECT-Berechtigungen für sys.sql_expression_dependencies und die Mitgliedschaft in der festen Serverrolle dbcreator erforderlich. Mitglieder der festen Serverrolle sysadmin oder des integrierten SQL Server-Systemadministratorkontos sa sind ebenfalls zum Registrieren einer DAC berechtigt. Zum Registrieren einer DAC, die keine Anmeldungen in SQL-Datenbank enthält, müssen Sie Mitglied der Rollen dbmanager oder serveradmin sein. Zum Registrieren einer DAC, die Anmeldungen in SQL-Datenbank enthält, müssen Sie Mitglied der Rollen dbmanager oder serveradmin sein.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

So registrieren Sie eine DAC mithilfe eines Assistenten

  1. Erweitern Sie im Objekt-Explorerden Knoten für die Instanz, die die Datenbank enthält, die als DAC registriert werden soll.

  2. Erweitern Sie den Knoten Datenbanken .

  3. Klicken Sie mit der rechten Maustaste auf die zu registrierende Datenbank, zeigen Sie auf Tasks, und wählen Sie dann Als Datenschichtanwendung registrieren… aus.

  4. Bearbeiten Sie die Dialogfenster des Assistenten:

    1. Seite "Einführung"

    2. Seite "Eigenschaften festlegen"

    3. Seite "Überprüfung und Zusammenfassung"

    4. Seite "DAC registrieren"

Seite "Einführung"

Auf dieser Seite werden die Schritte zum Registrieren einer Datenebenenanwendung beschrieben.

Diese Seite nicht mehr anzeigen. – Aktivieren Sie dieses Kontrollkästchen, damit die Seite in Zukunft nicht mehr angezeigt wird.

Weiter > – Geht zur Seite Eigenschaften festlegen über.

Abbrechen – Beendet den Assistenten, ohne eine DAC zu registrieren.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Seite "Eigenschaften festlegen"

Verwenden Sie diese Seite, um Eigenschaften auf DAC-Ebene anzugeben, z. B. den Anwendungsnamen und die Version.

Der Anwendungsname. – Eine Zeichenfolge mit dem Namen, der die DAC-Definition identifiziert. Das Feld enthält den Namen der Datenbank.

Version: – Ein numerischer Wert, der die Version der DAC identifiziert. Die DAC-Version wird in Visual Studio verwendet, um die Version der DAC zu identifizieren, an der die Entwickler arbeiten. Bei der Bereitstellung einer DAC wird die Version in der msdb-Datenbank gespeichert und kann später unter dem Knoten Datenschichtanwendungen in angezeigt werden.

Beschreibung: – Optional. Ein Text, der den Zweck der DAC erläutert. Bei der Bereitstellung einer DAC wird die Beschreibung in einer msdb-Datenbank gespeichert und kann später unter dem Knoten Datenschichtanwendung in angezeigt werden.

< Zurück – Sie kehren zur Seite Einführung zurück.

Weiter > – Überprüft, ob eine DAC aus den in der Datenbank enthaltenen Objekten erstellt werden kann, und zeigt die Ergebnisse auf der Seite Überprüfung und Zusammenfassung an.

Abbrechen – Beendet den Assistenten, ohne die DAC zu registrieren.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Seite "Überprüfung und Zusammenfassung"

Verwenden Sie diese Seite, um die Aktionen zu überprüfen, die der Assistent beim Registrieren der DAC ausführt. Die Seite durchläuft drei Statusübergänge, während überprüft wird, ob eine DAC aus den in der Datenbank enthaltenen Objekten erstellt werden kann.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Abrufen von Objekten

Datenbank- und Serverobjekte werden abgerufen. – Zeigt eine Statusanzeige an, während der Assistent alle erforderlichen Objekte aus der Datenbank und der Instanz der Datenbank-Engine abruft.

< Zurück– Sie kehren zur Seite Eigenschaften festlegen zurück, auf der Sie Ihre Einträge ändern.

Weiter > – Registriert die DAC und zeigt die Ergebnisse auf der Seite DAC registrieren an.

Abbrechen – Beendet den Assistenten, ohne die DAC zu registrieren.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Überprüfen von Objekten

Prüfung SchemaName . ObjectName . - Zeigt eine Statusanzeige an, während der Assistent die Abhängigkeiten der abgerufenen Objekten überprüft und sicherstellt, dass sie alle für eine DAC gültig sind. Schemaname.Objektname gibt das derzeit überprüfte Objekt an.

< Zurück– Sie kehren zur Seite Eigenschaften festlegen zurück, auf der Sie Ihre Einträge ändern.

Weiter > – Registriert die DAC und zeigt die Ergebnisse auf der Seite DAC registrieren an.

Abbrechen – Beendet den Assistenten, ohne die DAC zu registrieren.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Zusammenfassung

Die folgende Einstellung wird verwendet, um die DAC zu registrieren. – Zeigt einen Bericht der Eigenschaften und Objekte an, die in der DAC enthalten sind.

Bericht speichern – Klicken Sie auf diese Schaltfläche, um eine Kopie des Überprüfungsberichts in einer HTML-Datei zu speichern. Der Standardordner ist ein Ordner SQL Server Management Studio\DAC Packages im Ordner „Dokumente“ unter Ihrem Windows-Konto.

< Zurück– Sie kehren zur Seite Eigenschaften festlegen zurück, auf der Sie Ihre Einträge ändern.

Weiter > – Registriert die DAC und zeigt die Ergebnisse auf der Seite DAC registrieren an.

Abbrechen – Beendet den Assistenten, ohne die DAC zu registrieren.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Seite "DAC registrieren"

Auf dieser Seite wird angegeben, ob der Registrierungsvorgang erfolgreich war oder fehlgeschlagen ist.

Die DAC wird registriert – Gibt an, ob die einzelnen Aktionen zum Registrieren der DAC erfolgreich waren oder ob ein Fehler aufgetreten ist. Überprüfen Sie die Informationen, um zu bestimmen, ob die einzelnen Aktionen erfolgreich waren oder fehlgeschlagen sind. Für alle Aktionen, die fehlerhaft waren, ist in der Spalte Ergebnis ein Link enthalten. Klicken Sie auf den Link, um einen Bericht des für diese Aktion aufgetretenen Fehlers anzuzeigen.

Bericht speichern – Klicken Sie auf diese Schaltfläche, um den Registrierungsbericht in einer HTML-Datei zu speichern. In der Datei ist der Status der einzelnen Aktionen aufgeführt, einschließlich aller durch die Aktionen generierten Fehler. Der Standardordner ist ein Ordner SQL Server Management Studio\DAC Packages im Ordner „Dokumente“ unter Ihrem Windows-Konto. Der Dateiname hat das Format <DACPackageName>_RegisterDACReport_yyyymmdd.html, wobei <DACPackageName> dem Namen des bereitgestellten Pakets, JJJJ dem aktuellen Jahr, MM dem aktuellen Monat und TT dem aktuellen Tag entspricht.

Fertig stellen – Beendet den Assistenten.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Registrieren einer DAC mit PowerShell

So registrieren Sie eine DAC mithilfe der Methode „Register()“ in einem PowerShell-Skript

  1. Erstellen Sie ein SMO-Serverobjekt, und legen Sie es auf die Instanz fest, die die als DAC zu registrierende Datenbank enthält.

  2. Fügen Sie eine Variable hinzu, die den Namen der Datenbank angibt.

  3. Geben Sie die Metadaten für die DAC an, z. B. DAC-Namen, Version und Beschreibung.

  4. Führen Sie die Register-Methode mit den oben angegebenen Informationen aus.

Beispiel (PowerShell)

Im folgenden Beispiel wird die Datenbank MyDB als DAC registriert.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .
  
## Specify the database to register as a DAC.
$dbname = "MyDB"
  
## Specify the DAC metadata.
$applicationname = "MyApplication"
$version = "1.0.0.0"
$description = "This DAC defines the database used by my application."
  
## Register the DAC.
$registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
$registerunit.Description = $description
$registerunit.Register()

Weitere Informationen