Registrieren einer Datenbank als eine DAC

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Verwenden Sie entweder den Assistenten zum Registrieren von Anwendungen auf Datenebene oder ein Windows PowerShell-Skript, um eine Datenebenenanwendungsdefinition (DAC) zu erstellen, die die Objekte in einer vorhandenen Datenbank beschreibt, und registrieren Sie die DAC-Definition in der msdb Systemdatenbank (masterin Azure SQL-Datenbank).

Vorbereitungen

Beim Registrierungsprozess wird eine DAC-Definition erstellt, die die Objekte in der Datenbank definiert. Die Kombination aus der DAC-Definition und der Datenbank aus einer DAC-Instanz. 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. The DAC will then be present in the Deployed Data-tier Applications node of the Management Studio Utility Explorer and reported in the Deployed Data-tier Applications details page.

Einschränkungen

Die DAC-Registrierung kann nur für eine Datenbank in der SQL-Datenbank oder sql Server 2005 (9.x) Service Pack 4 (SP4) oder höher ausgeführt werden. Die DAC-Registrierung kann nicht ausgeführt werden, wenn bereits ein DAC für die Datenbank registriert ist. Wenn die Datenbank z. B. durch Bereitstellen eines DAC erstellt wurde, können Sie den Assistenten zum Registrieren von Anwendungen auf Datenebene nicht ausführen.

Sie können einen DAC nicht registrieren, wenn die Datenbank Objekte enthält, die in einem DAC nicht unterstützt werden oder Benutzer enthalten sind. Weitere Informationen zu den in einer DAC unterstützten Objekttypen finden Sie unter DAC Support For SQL Server Objects and Versions.

Berechtigungen

Das Registrieren eines DAC in einer Instanz des Datenbankmoduls erfordert mindestens ALTER ANY-Anmelde- und Datenbankbereichs-VIEW DEFINITION-Berechtigungen, SELECT-Berechtigungen für sys.sql_expression_dependenciesund Mitgliedschaft in der festen Serverrolle dbcreator. Mitglieder der festen Serverrolle sysadmin oder des integrierten SQL Server-Systemadministratorkontos sa sind ebenfalls zum Registrieren einer DAC berechtigt. Für die Registrierung eines DAC, der keine Anmeldungen in der SQL-Datenbank enthält, ist die Mitgliedschaft in den Rollen "dbmanager " oder "serveradmin " erforderlich. Für die Registrierung eines DAC, der Anmeldeinformationen in der SQL-Datenbank enthält, ist die Mitgliedschaft in den Rollen "loginmanager " oder "serveradmin " erforderlich.

Verwenden des Assistenten zum Registrieren von Anwendungen auf Datenebene

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 das Kontrollkästchen, um zu verhindern, dass die Seite in Zukunft angezeigt wird.

Weiter > – Fahren Sie mit der Seite "Eigenschaften festlegen" fort.

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, die den Namen angibt, mit dem die DAC-Definition identifiziert wird, wurde das Feld mit dem Datenbanknamen aufgefüllt.

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 eines DAC wird die Version in der msdb Datenbank gespeichert und kann später unter dem Knoten "Data-tier Applications" in SQL Server Management Studio angezeigt werden.

Eine Beschreibung. – Optional. Ein Text, der den Zweck der DAC erläutert. Bei der Bereitstellung eines DAC wird die Beschreibung in der msdb Datenbank gespeichert und kann später unter dem Knoten "Data-tier Applications" in Management Studio angezeigt werden.

< Zurück – Gibt Sie zur Seite "Einführung " zurück.

Als Nächstes > : Überprüft, ob ein DAC aus den Objekten in der Datenbank 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 des 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

Objekte abrufen

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 – Gibt Sie zur Seite "Eigenschaften festlegen" zurück, um Ihre Einträge zu ändern.

Als Nächstes > : Registriert den DAC und zeigt die Ergebnisse auf der DAC-Seite "Registrieren" an.

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

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

Überprüfen von Objekten

Schemaname wird überprüft.ObjectName. - Zeigt eine Statusleiste an, während der Assistent die Abhängigkeiten der abgerufenen Objekte überprüft und überprüft, ob sie alle gültigen Objekte für einen DAC sind. Schemaname.Objektname gibt das derzeit überprüfte Objekt an.

<Zurück – Gibt Sie zur Seite "Eigenschaften festlegen" zurück, um Ihre Einträge zu ändern.

Als Nächstes > : Registriert den DAC und zeigt die Ergebnisse auf der DAC-Seite "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 im 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 – Gibt Sie zur Seite "Eigenschaften festlegen" zurück, um Ihre Einträge zu ändern.

Als Nächstes > : Registriert den DAC und zeigt die Ergebnisse auf der DAC-Seite "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. Jede Aktion, bei der ein Fehler aufgetreten ist, weist einen Link in der Spalte "Ergebnis " auf. 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 ist im Format DACPackageName>_RegisterDACReport_yyyymmdd.html, wobei< DACPackageName> der Name des bereitgestellten Pakets ist, yyyy = das aktuelle Jahr, mm = der aktuelle Monat und dd = der aktuelle Tag.<

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()

Siehe auch