Vorgehensweise: Registrieren einer Datenbank als DAC

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

Vorbereitungen

Sie können eine DAC aus einer SQL Azure-Datenbank-Datenbank oder einer Datenbank in SQL Server 2005 Service Pack 4 (SP4) oder später registrieren. Bei einer verwalteten Instanz des Datenbankmoduls wird die registrierte DAC in das SQL Server-Hilfsprogramm integriert, wenn der Hilfsprogramm-Sammlungssatz das nächste Mal mittels Instanz an den Steuerungspunkt für das Hilfsprogramm gesendet wird. Die DAC ist dann unter dem Knoten Bereitgestellte Datenebenenanwendungen im Hilfsprogramm-Explorer von Management Studio vorhanden und wird auf der Detailseite Bereitgestellte Datenebenenanwendungen angezeigt.

Hinweis   Zum Registrieren einer DAC in einer Instanz von Database Engine (Datenbankmodul) sind mindestens die ALTER ANY LOGIN-Berechtigung und die VIEW DEFINITION-Berechtigung 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 berechtigt, eine DAC zu registrieren. Um eine DAC zu registrieren, die keine Anmeldungen in SQL Azure enthält, müssen Sie Mitglied der Rollen dbmanager oder serveradmin sein. Um eine DAC zu registrieren, die Anmeldungen in SQL Azure enthält, müssen Sie Mitglied der Rolle loginmanager oder serveradmin sein.

Einschränkungen

Die DAC-Registrierung kann nur unter SQL Azure oder SQL Server 2005 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 Datenebenenanwendungen beispielsweise nicht ausgeführt werden.

Sie können keine DAC registrieren, wenn die Datenbank Objekte enthält, die in einer DAC nicht unterstützt werden. Weitere Informationen zu den in einer DAC unterstützten Objekttypen finden Sie unter DAC-Unterstützung für SQL Server-Objekte und -Versionen.

Registrieren einer DAC mit PowerShell

Erstellen Sie eine Datei namens RegisterDAC.ps1, die den folgenden Code enthält.

  1. Fügen Sie Code hinzu, um ein SMO-Serverobjekt zu erstellen, und legen Sie es auf die Instanz mit der Datenbank fest, aus der Sie eine DAC extrahieren möchten. Mit dem folgenden Beispiel wird ein Serverobjekt auf die Standardinstanz auf dem lokalen Computer festgelegt:

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Fügen Sie Code zum Angeben der Datenbank hinzu. In diesem Beispiel wird eine Datenbank namens "MyDB" angegeben:

    ## Specify the database to register as a DAC.
    $dbname = "MyDB"
    
  3. Fügen Sie Code zum Angeben der Metadaten für die DAC hinzu. In diesem Beispiel werden Name, Version und Beschreibung der DAC angegeben:

    ## Specify the DAC metadata.
    $applicationname = "MyApplication"
    $version = "1.0.0.0"
    $description = "This DAC defines the database used by my application."
    
  4. Fügen Sie Code hinzu, um die Registrierungsmethode mit den oben angegebenen Informationen auszuführen.

    ## Register the DAC.
    $registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
    $registerunit.Description = $description
    $registerunit.Register()
    

Führen Sie RegisterDAC.ps1 entweder von einer PowerShell-Sitzung aus, in die Sie die SQL Server PowerShell-Snap-Ins geladen haben, oder verwenden Sie das Eingabeaufforderungs-Hilfsprogramm sqlps.

Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen

In Management Studio können Sie den Assistenten zum Registrieren von Datenebenenanwendungen wie folgt starten:

  • Klicken Sie mit der rechten Maustaste auf einen Datenbankknoten im Objekt-Explorer, zeigen Sie auf Tasks, und wählen Sie dann Datenebenenanwendung registrieren aus.

Der Assistent erstellt eine DAC-Definition, in der die Objekte der Datenbank festgelegt sind, die durch den in der Objekt-Explorer-Hierarchie ausgewählten Knoten dargestellt wird. Die DAC-Definition wird in der msdb-Systemdatenbank gespeichert (Master in SQL Azure). Eine DAC-Instanz setzt sich aus der Kombination von DAC-Beschreibung und Datenbank zusammen. Informationen zur DAC-Instanz werden in das SQL Server-Hilfsprogramm hochgeladen, wenn der nächste Hilfsprogramm-Sammlungssatz an den Steuerungspunkt für das Hilfsprogramm übertragen wird. Die Informationen können im Knoten Bereitgestellte Datenebenenanwendungen des Hilfsprogramm-Explorers angezeigt werden.

Klicken Sie auf einen Link in der unten angezeigten Liste, um zu den Details für eine Assistentenseite zu navigieren:

  • Seite "Einführung"

  • Seite "Eigenschaften festlegen"

  • Seite "Überprüfung und Zusammenfassung"

  • 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.

Seite "Eigenschaften festlegen"

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

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 Datenebenenanwendungen in SQL Server Management Studio angezeigt werden.

Beschreibung – Optional. Ein Text, der den Zweck der DAC erläutert. Bei der Bereitstellung einer DAC wird die Beschreibung in der msdb-Datenbank gespeichert und kann später unter dem Knoten Datenebenenanwendungen in Management Studio 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.

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.

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 des Datenbankmoduls 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.

Überprüfen von Objekten

SchemaName**.ObjectNamewird überprüft** – Zeigt eine Statusanzeige an, während der Assistent die Abhängigkeiten der abgerufenen Objekte überprüft und sicherstellt, dass sie alle für eine DAC gültig sind. SchemaName**.**ObjectName 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.

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.

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 fehlgeschlagen sind. Ü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 weist das Format <DACPackageName>_RegisterDACReport_yyyymmdd.html auf, wobei <DACPackageName> dem Namen des bereitgestellten Pakets, yyyy dem aktuellen Jahr, mm dem aktuellen Monat und dd dem aktuellen Tag entspricht.

Fertig stellen – Beendet den Assistenten.

Änderungsverlauf

Aktualisierter Inhalt

Abschnitt zur Verwendung von PowerShell wurde hinzugefügt.