Registrieren einer Datenbank als eine DAC
Verwenden Sie entweder den Assistenten zum Registrieren von Datenebenenanwendungenoder ein Windows PowerShell-Skript, um eine Definition für eine Datenebenenanwendung (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 Windows Azure SQL-Datenbank).
Vorbereitungen: Einschränkungen, Berechtigungen
So aktualisieren Sie eine DAC mit: dem Assistenten zum Registrieren von Datenebenenanwendungen, PowerShell
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 verwalteten Instanz des Datenbankmoduls 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 Datenebenenanwendungen im Hilfsprogramm-Explorer von Management Studio vorhanden und wird auf der Detailseite Bereitgestellte Datenebenenanwendungen angezeigt.
Einschränkungen
Die DAC-Registrierung kann nur für eine Datenbank in SQL-Datenbank oder SQL Server 2005 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 Datenebenenanwendungen beispielsweise 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-Unterstützung für SQL Server-Objekte und -Versionen.
[Nach oben]
Berechtigungen
Zum Registrieren einer DAC in einer Instanz von Database Engine (Datenbankmodul) sind mindestens die ALTER ANY LOGIN-Berechtigung 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 loginmanager oder serveradmin sein.
[Nach oben]
Verwenden des Assistenten zum Registrieren von Datenebenenanwendungen
So registrieren Sie eine DAC mithilfe eines Assistenten
Erweitern Sie im Objekt-Explorer den Knoten für die Instanz, die die Datenbank enthält, die als DAC registriert werden soll.
Erweitern Sie den Knoten Datenbanken.
Klicken Sie mit der rechten Maustaste auf die zu registrierende Datenbank, zeigen Sie auf Tasks, und wählen Sie dann Als Datenebenenanwendung registrieren… aus.
Schließen Sie die Dialogfelder des Assistenten ab:
Seite "Einführung"
Seite "Eigenschaften festlegen"
Seite "Überprüfung und Zusammenfassung"
Seite "DAC registrieren"
[Nach oben]
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.
[Registrierungs-Assistent]
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.
[Registrierungs-Assistent]
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.
[Registrierungs-Assistent]
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, wo 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.
[Registrierungs-Assistent]
Überprüfen von Objekten
SchemaName**.ObjectName wird überprüft. – 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.**ObjectName gibt das derzeit überprüfte Objekt an.
< Zurück– Sie kehren zur Seite Eigenschaften festlegen zurück, wo 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.
[Registrierungs-Assistent]
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, wo 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.
[Registrierungs-Assistent]
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.
[Registrierungs-Assistent]
Registrieren einer DAC mit PowerShell
So registrieren Sie eine DAC mithilfe der Register()-Methode in einem PowerShell-Skript
Erstellen Sie ein SMO-Serverobjekt, und legen Sie es auf die Instanz fest, die die als DAC zu registrierende Datenbank enthält.
Fügen Sie eine Variable hinzu, die den Namen der Datenbank angibt.
Geben Sie die Metadaten für DAC an, z. B. den DAC-Namen, Version und Beschreibung.
Führen Sie die Register-Methode mit den oben angegebenen Informationen aus.
[Nach oben]
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()
[Nach oben]