Löschen einer DatenebenenanwendungDelete a Data-tier Application

GILT FÜR: jaSQL ServerjaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Sie können eine Datenebenenanwendung entweder mit dem Assistenten zum Löschen von Datenebenenanwendungen oder mit einem Windows PowerShell-Skript löschen.You can delete a data-tier application by using either the Delete Data-tier Application wizard or a Windows PowerShell script. Sie können angeben, ob die zugeordnete Datenbank beibehalten, getrennt oder gelöscht wird.You can specify whether the associated database is retained, detached, or dropped.

VorbereitungenBefore You Begin

Wenn Sie eine Instanz einer Datenebenenanwendung (Data-Tier Application, DAC) löschen, legen Sie mit einer von drei Optionen fest, wie mit der der Datenebenenanwendung zugeordneten Datenbank verfahren werden soll.When you delete a data-tier application (DAC) instance, you choose one of three options specifying what is to be done with the database associated with the data-tier application. Durch alle drei Optionen werden die Metadaten der DAC-Definition gelöscht.All three options delete the DAC definition metadata. Die Optionen unterscheiden sich in der Art, wie mit der Datenbank, die der Datenebenenanwendung zugeordnet ist, verfahren wird.The options differ in what they do with the database associated with the data-tier application. Der Assistent löscht keine der Objekte auf Instanzebene, wie Anmeldenamen, die der DAC oder Datenbank zugeordnet sind.The wizard does not delete any of the instance-level objects associated with the DAC or database, such as logins.

OptionOption DatenbankaktionenDatabase actions
Registrierung löschenDelete registration Die zugeordnete Datenbank bleibt intakt.The associated database remains intact.
Datenbank trennenDetach database Die zugeordnete Datenbank wird getrennt.The associated database is detached. Die Instanz der Datenbank-Engine kann nicht auf die Datenbank verweisen, die Daten und Protokolldateien bleiben jedoch intakt.The instance of the Database Engine cannot reference the database, but the data and log files are intact.
Datenbank löschenDelete database Die zugeordnete Datenbank wird gelöscht.The associated database is dropped. Die Daten und Protokolldateien werden gelöscht.The data and log files are deleted.

EinschränkungenLimitations and Restrictions

Nach dem Löschen einer DAC gibt es keinen automatischen Mechanismus zum Wiederherstellen der Metadaten der DAC-Definition oder -Datenbank.There is no automatic mechanism to restore the DAC definition metadata or the database after you delete a DAC. Es hängt von der Löschoption ab, wie Sie die DAC-Instanz manuell neu erstellen können.How you can manually rebuild the DAC instance depends on the delete option.

OptionOption Wiederherstellen der DAC-InstanzHow to Rebuild the DAC Instance
Registrierung löschenDelete registration Registrieren Sie eine DAC von der Datenbank, die nicht gelöscht wurde.Register a DAC from the database left in place.
Datenbank trennenDetach database Fügen Sie die Datenbank erneut mit sp_attachdb oder SQL Server Management StudioSQL Server Management Studioan, und registrieren Sie anschließend eine neue DAC-Instanz von der Datenbank.Re-attach the database by using sp_attachdb or SQL Server Management StudioSQL Server Management Studio, and then register a new DAC instance from the database.
Datenbank löschenDelete database Stellen Sie die Datenbank von einer vollständigen Sicherung, die vor dem Löschen der DAC erstellt wurde, wieder her, und registrieren Sie dann eine neue DAC-Instanz von der Datenbank.Restore the database from a full backup made before the DAC was deleted, and then register a new DAC instance from the database.

Warnung

Wenn Sie eine DAC-Instanz wiederherstellen, indem Sie eine DAC von einer wiederhergestellten oder erneut angefügten Datenbank registrieren, werden einige Teile der ursprünglichen DAC, z. B. die Richtlinie zur Serverauswahl, nicht neu erstellt.Rebuilding a DAC instance by registering a DAC from a restored or re-attached database will not recreate some parts of the original DAC, such as the server selection policy.

BerechtigungenPermissions

Eine DAC kann nur von Mitgliedern der festen Serverrollen sysadmin bzw. serveradmin oder vom Datenbankbesitzer gelöscht werden.A DAC can only be deleted by members of the sysadmin or serveradmin fixed server roles, or by the database owner. Außerdem kann das integrierte SQL ServerSQL Server -Systemadministratorkonto mit der Bezeichnung sa zum Starten des Assistenten verwendet werden.The built-in SQL ServerSQL Server system administrator account named sa can also launch the wizard.

Verwenden des Assistenten zum Löschen von DatenebenenanwendungenUsing the Delete Data-tier Application Wizard

So löschen Sie eine DAC mithilfe eines AssistentenTo Delete a DAC Using a Wizard

  1. Erweitern Sie im Objekt-Explorerden Knoten für die Instanz, die die zu löschende DAC enthält.In Object Explorer, expand the node for the instance containing the DAC to be deleted.

  2. Erweitern Sie den Knoten Verwaltung .Expand the Management node.

  3. Erweitern Sie den Knoten Datenebenenanwendungen .Expand the Data-tier Applications node.

  4. Klicken Sie mit der rechten Maustaste auf die zu löschende DAC, und wählen Sie anschließend Datenebenenanwendung löschen... aus.Right-click the DAC to be deleted, and then select Delete Data-tier Application...

  5. Bearbeiten Sie die Dialogfenster des Assistenten:Complete the wizard dialogs:

    1. EinführungIntroduction

    2. Methode auswählenChoose Method

    3. ZusammenfassungSummary

    4. Datenebenenanwendung löschenDelete Data-tier Application

Seite "Einführung"Introduction Page

Auf dieser Seite werden die Schritte zum Löschen einer Datenebenenanwendung beschrieben.This page describes the steps for deleting a data-tier application.

Diese Seite nicht mehr anzeigen.Do not show this page again. – Aktivieren Sie dieses Kontrollkästchen, damit die Seite in Zukunft nicht mehr angezeigt wird.- Click the check box to stop the page from being displayed in the future.

Weiter > – Geht zur Seite Methode auswählen über.Next > - Proceeds to the Choose Method page.

Abbrechen – Beendet den Assistenten, ohne eine Datenebenenanwendung oder Datenbank zu löschen.Cancel - Ends the wizard without deleting a data-tier application or database.

Verwenden des Assistenten zum Löschen von DatenebenenanwendungenUsing the Delete Data-tier Application Wizard

Seite "Methode auswählen"Choose Method Page

Auf dieser Seite können Sie die Option zum Behandeln der der zu löschenden DAC zugeordneten Datenbank angeben.Use this page to specify the option for handling the database associated with the DAC to be deleted.

Registrierung löschen – Entfernt die Metadaten, die die Datenebenenanwendung definieren, während die zugeordnete Datenbank intakt bleibt.Delete registration - Removes the metadata defining the data-tier application, but leaves the associated database intact.

Datenbank trennen – Entfernt die Metadaten, die die Datenebenenanwendung definieren, und trennt die zugeordnete Datenbank.Detach database - Removes the metadata defining the data-tier application and detaches the associated database.

Von dieser Datenbank-EngineDatabase Engine-Instanz kann nicht mehr auf die Datenbank verwiesen werden, während die Daten und Protokolldateien jedoch intakt bleiben.The database can no longer be referenced by that instance of the Datenbank-EngineDatabase Engine, but the data and log files remain intact.

Datenbank löschen – Entfernt die Metadaten, die die DAC definieren, und löscht die zugeordnete Datenbank.Delete database - Removes the metadata defining the DAC and drops the associated database.

Die Daten und Protokolldateien für die Datenbank werden dauerhaft gelöscht.The data and log files for the database are permanently deleted.

< Zurück – Kehrt zur Seite Einführung zurück.< Previous - Returns to the Introduction page.

Weiter > – Geht zur Seite Zusammenfassung über.Next > - Proceeds to the Summary page.

Abbrechen – Beendet den Assistenten, ohne die DAC oder Datenbank zu löschen.Cancel - Ends the wizard without deleting the DAC or database.

Verwenden des Assistenten zum Löschen von DatenebenenanwendungenUsing the Delete Data-tier Application Wizard

Seite "Zusammenfassung"Summary Page

Verwenden Sie diese Seite, um die Aktionen zu überprüfen, die der Assistent beim Löschen der DAC-Instanz ausführt.Use this page to review the actions the wizard will take when deleting the DAC instance.

Überprüfen Sie Ihre Auswahl – Überprüfen Sie die DAC, Datenbank und Löschmethode, die im Feld angezeigt werden.Review your selection summary - Review the DAC, database, and deletion method displayed in the box. Wenn die Informationen richtig sind, wählen Sie entweder Weiter oder Fertig stellen aus, um die DAC zu löschen.If the information is correct, select either Next or Finish to delete the DAC. Falls die DAC und die Datenbankinformationen nicht richtig sind, klicken Sie auf Abbrechen und wählen dann die richtige DAC aus.If the DAC and database information is not correct, select Cancel and select the correct DAC. Wenn die Löschmethode nicht richtig ist, wählen Sie Zurück aus, um zur Seite Methode auswählen zurückzukehren, und wählen eine andere Methode aus.If the deletion method is not correct, select Previous to return to the Choose Method page and select a different method.

< Zurück – Kehrt zur Seite Methode auswählen zurück, um eine andere Löschmethode auszuwählen.< Previous - Returns to the Choose Method page to choose a different delete method.

Weiter > – Löscht die DAC-Instanz unter Verwendung der auf der vorherigen Seite ausgewählten Methode und geht zur Seite Datenebenenanwendung löschen über.Next > - Deletes the DAC instance using the method you chose on the previous page, and proceeds to the Delete Data-tier Application page.

Abbrechen – Beendet den Assistenten, ohne die DAC-Instanz zu löschen.Cancel - Ends the wizard without deleting the DAC instance.

Verwenden des Assistenten zum Löschen von DatenebenenanwendungenUsing the Delete Data-tier Application Wizard

Seite "Datenebenenanwendung löschen"Delete Data-tier Application Page

Auf dieser Seite wird angegeben, ob der Löschvorgang erfolgreich war oder fehlgeschlagen ist.This page reports the success or failure of the delete operation.

Die DAC wird gelöscht – Gibt an, ob die Aktionen zum Löschen der DAC-Instanz erfolgreich waren oder fehlgeschlagen sind.Deleting the DAC - Reports the success or failure of each action taken to delete the DAC instance. Überprüfen Sie die Informationen, um zu bestimmen, ob die einzelnen Aktionen erfolgreich waren oder fehlgeschlagen sind.Review the information to determine the success or failure of each action. Für alle Aktionen, die fehlerhaft waren, ist in der Spalte Ergebnis ein Link enthalten.Any action that encountered an error will have a link in the Result column. Klicken Sie auf den Link, um einen Bericht des für diese Aktion aufgetretenen Fehlers anzuzeigen.Select the link to view a report of the error for that action.

Bericht speichern – Klicken Sie auf diese Schaltfläche, um den Löschbericht in einer HTML-Datei zu speichern.Save Report - Select this button to save the deletion report to an HTML file. In der Datei ist der Status der einzelnen Aktionen aufgeführt, einschließlich aller durch die Aktionen generierten Fehler.The file reports the status of each action, including all errors generated by any of the actions. Der Standardordner entspricht dem Ordner "SQL Server Management Studio\DAC Packages" im Ordner "Dokumente" unter Ihrem Windows-Konto.The default folder is a SQL Server Management Studio\DAC Packages folder in the Documents folder of your Windows account..

Fertig stellen – Beendet den Assistenten.Finish - Ends the wizard.

Verwenden des Assistenten zum Löschen von DatenebenenanwendungenUsing the Delete Data-tier Application Wizard

Löschen einer DAC mit PowerShellDelete a DAC Using PowerShell

So löschen Sie eine DAC mit einem PowerShell-SkriptTo delete a DAC using a PowerShell script

  1. Erstellen Sie ein SMO-Serverobjekt, und legen Sie es auf die Instanz fest, die die zu löschende DAC enthält.Create a SMO Server object and set it to the instance that contains the DAC to be deleted.

  2. Öffnen Sie ein ServerConnection -Objekt, und stellen Sie eine Verbindung mit derselben Instanz her.Open a ServerConnection object and connect to the same instance.

  3. Verwenden Sie add_DacActionStarted und add_DacActionFinished , um die DAC-Aktualisierungsereignisse zu abonnieren.Use add_DacActionStarted and add_DacActionFinished to subscribe to the DAC upgrade events.

  4. Geben Sie die zu löschende DAC an.Specify the DAC to delete.

  5. Verwenden Sie je nach geeigneter Löschoption einen dieser drei Codesätze:Use one of these three sets of code, depending on which delete option is appropriate:

    • Verwenden Sie die Unmanage() -Methode, um die DAC-Registrierung zu löschen, während die Datenbank intakt bleibt.To delete the DAC registration but leave the database intact, use the Unmanage() method.

    • Verwenden Sie die Methode Uninstall() , und geben Sie DetachDatabasean, um die DAC-Registrierung zu löschen und die Datenbank zu trennen.To delete the DAC registration and detach the database, use the Uninstall() method and specify DetachDatabase.

    • Verwenden Sie die Uninstall() -Methode, und geben Sie DropDatabasean, um die DAC-Registrierung zu löschen und die Datenbank zu löschen.To delete the DAC registration and drop the database, use the Uninstall() method and specify DropDatabase.

Beispiel für das Löschen der DAC und Belassen der Datenbank (PowerShell)Example Deleting the DAC but Leaving the Database (PowerShell)

Im folgenden Beispiel wird die DAC „MyApplication“ mithilfe der Unmanage() -Methode gelöscht. Dabei wird die DAC gelöscht, die Datenbank bleibt jedoch intakt.The following example deletes a DAC named MyApplication using the Unmanage() method to delete the DAC but leave the database intact.

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$srv = get-item .  
  
## Open a Common.ServerConnection to the same instance.  
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)  
$serverconnection.Connect()  
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)  
  
## Subscribe to the DAC delete events.  
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})  
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "MyApplication"  
  
## Only delete the DAC definition from msdb, the associated database remains active.  
$dacstore.Unmanage($dacName)  

Löschen einer DAC mit PowerShellDelete a DAC Using PowerShell

Beispiel für das Löschen einer DAC und Trennen der Datenbank (PowerShell)Example Deleting the DAC and Detaching the Database (PowerShell)

Im folgenden Beispiel wird die DAC „MyApplication“ mithilfe der Uninstall() -Methode gelöscht und die Datenbank getrennt.The following example deletes a DAC named MyApplication using the Uninstall() method to delete the DAC and detach the database.

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$srv = get-item .  
  
## Open a Common.ServerConnection to the same instance.  
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)  
$serverconnection.Connect()  
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)  
  
## Subscribe to the DAC delete events.  
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})  
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "MyApplication"  
  
## Delete the DAC definition from msdb and detach the associated database.  
$dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)  

Löschen einer DAC mit PowerShellDelete a DAC Using PowerShell

Beispiel für das Löschen einer DAC und Löschen der Datenbank (PowerShell)Example Deleting the DAC and Dropping the Database (PowerShell)

Im folgenden Beispiel wird die DAC „MyApplication“ mithilfe der Uninstall() -Methode gelöscht und die Datenbank gelöscht.The following example deletes a DAC named MyApplication using the Uninstall() method to delete the DAC and drop the database.

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$srv = get-item .  
  
## Open a Common.ServerConnection to the same instance.  
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)  
$serverconnection.Connect()  
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)  
  
## Subscribe to the DAC delete events.  
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})  
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "MyApplication"  
  
## Delete the DAC definition from msdb and drop the associated database.  
## $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)  

Löschen einer DAC mit PowerShellDelete a DAC Using PowerShell

Weitere InformationenSee Also

Datenebenenanwendungen Data-tier Applications
Datenebenenanwendungen Data-tier Applications
Bereitstellen einer Datenebenenanwendung Deploy a Data-tier Application
Registrieren einer Datenbank als eine DAC Register a Database As a DAC
Sichern und Wiederherstellen von SQL Server-Datenbanken Back Up and Restore of SQL Server Databases
Anfügen und Trennen von Datenbanken (SQL Server)Database Detach and Attach (SQL Server)