Vorgehensweise: Löschen einer Datenebenenanwendung

Sie können eine Datenebenenanwendung entweder mit dem Assistenten zum Löschen von Datenebenenanwendungen oder mit einem Windows PowerShell-Skript löschen. Sie können angeben, ob die zugeordnet Datenbank beibehalten, getrennt oder gelöscht wird.

Vorbereitungen

Wenn Sie eine Instanz einer Datenebenenanwendung (DAC) löschen, wählen Sie eine von drei Optionen aus, um anzugeben, wie mit der Datenbank, die der Datenebenenanwendung zugeordnet ist, verfahren werden soll. Durch alle drei Optionen werden die Metadaten der DAC-Definition gelöscht. Die Optionen unterscheiden sich in der Art, wie mit der Datenbank, die der Datenebenenanwendung zugeordnet ist, verfahren wird. Der Assistent löscht keine der Objekte auf Instanzebene, wie Anmeldenamen, die der DAC oder Datenbank zugeordnet sind.

Option

Datenbankaktionen

Registrierung löschen

Die zugeordnete Datenbank bleibt intakt.

Datenbank trennen

Die zugeordnete Datenbank wird getrennt. Die Instanz des Datenbankmoduls kann nicht auf die Datenbank verweisen, die Daten und Protokolldateien bleiben jedoch intakt.

Datenbank löschen

Die zugeordnete Datenbank wird gelöscht. Die Daten und Protokolldateien werden gelöscht.

Nach dem Löschen einer DAC gibt es keinen automatischen Mechanismus zum Wiederherstellen der Metadaten der DAC-Definition oder -Datenbank. Es hängt von der Löschoption ab, wie Sie die DAC-Instanz manuell neu erstellen können.

Option

Wiederherstellen der DAC-Instanz

Registrierung löschen

Registrieren Sie eine DAC von der Datenbank, die nicht gelöscht wurde.

Datenbank trennen

Fügen Sie die Datenbank erneut mit sp_attachdb oder SQL Server Management Studio an, und registrieren Sie dann eine neue DAC-Instanz von der Datenbank.

Datenbank löschen

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.

HinweisHinweis

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.

Berechtigungen

Eine DAC kann nur von Mitgliedern der festen Serverrollen sysadmin bzw. serveradmin oder vom Datenbankbesitzer gelöscht werden. Außerdem kann das integrierte SQL Server-Systemadministratorkonto mit der Bezeichnung sa zum Starten des Assistenten verwendet werden.

Löschen einer DAC mit PowerShell

Erstellen Sie eine PowerShell-Skriptdatei (z. B. DeleteDAC.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 zu löschenden DAC fest. 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 hinzu, um ein ServerConnection-Objekt zu öffnen und eine Verbindung mit derselben Instanz herzustellen.

    ## 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)
    
  3. Fügen Sie Code hinzu, um die DAC-Löschereignisse zu abonnieren.

    ## 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})
    
  4. Fügen Sie Code zum Angeben der zu löschenden DAC hinzu. Im folgenden Beispiel wird der DAC-Name angegeben.

    ## Specify the DAC to delete.
    $dacName  = "MyApplication"
    
  5. Fügen Sie Code hinzu, um die Deinstallationsmethode mit den oben angegebenen Informationen auszuführen. Verwenden Sie einen dieser drei Codesätze, abhängig davon, welche Löschoption geeignet ist:

    • So löschen Sie die DAC-Registrierung, während die Datenbank intakt bleibt

      ## Only delete the DAC definition from msdb, the associated database remains active.
      $dacstore.Unmanage($dacName)
      
    • So löschen Sie die DAC-Registrierung und trennen die Datenbank

      ## Delete the DAC definition from msdb and detach the associated database.
      $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)
      
    • So löschen Sie die DAC-Registrierung und löschen die Datenbank

      ## Delete the DAC definition from msdb and drop the associated database.
      ## $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)
      

Führen Sie DeleteDAC.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 Löschen von Datenebenenanwendungen

In Management Studio können Sie den Assistenten starten, indem Sie im Objekt-Explorer mit der rechten Maustaste auf den Knoten einer Datenebenenanwendung klicken und Datenebenenanwendung löschen auswählen.

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

  • Einführung

  • Methode auswählen

  • Zusammenfassung

  • Datenebenenanwendung löschen

Seite "Einführung"

Auf dieser Seite werden die Schritte zum Löschen 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 Methode auswählen über.

Abbrechen – Beendet den Assistenten, ohne eine Datenebenenanwendung oder Datenbank zu löschen.

Seite "Methode auswählen"

Verwenden Sie diese Seite, um die Methode zum Löschen der Datenebenenanwendung anzugeben.

Registrierung löschen – Entfernt die Metadaten, die die Datenebenenanwendung definieren, während die zugeordnete Datenbank intakt bleibt.

Datenbank trennen – Entfernt die Metadaten, die die Datenebenenanwendung definieren, und trennt die zugeordnete Datenbank.

Von dieser Database Engine (Datenbankmodul)-Instanz kann nicht mehr auf die Datenbank verwiesen werden, während die Daten und Protokolldateien jedoch intakt bleiben.

Datenbank löschen – Entfernt die Metadaten, die die DAC definieren, und löscht die zugeordnete Datenbank.

Die Daten und Protokolldateien für die Datenbank werden dauerhaft gelöscht.

< Zurück – Kehrt zur Seite Einführung zurück.

Weiter > – Geht zur Seite Zusammenfassung über.

Abbrechen – Beendet den Assistenten, ohne die DAC oder Datenbank zu löschen.

Seite "Zusammenfassung"

Verwenden Sie diese Seite, um die Aktionen zu überprüfen, die der Assistent beim Löschen der DAC-Instanz ausführt.

Überprüfen Sie Ihre Auswahl – Überprüfen Sie die DAC, Datenbank und Löschmethode, die im Feld angezeigt werden. Wenn die Informationen richtig sind, wählen Sie entwederWeiter oder Fertig stellen aus, um die DAC zu löschen. Falls die DAC und die Datenbankinformationen nicht richtig sind, klicken Sie auf Abbrechen und wählen dann die richtige DAC aus. 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.

< Zurück – Kehrt zur Seite Methode auswählen zurück, um eine andere Löschmethode auszuwählen.

Weiter > – Löscht die DAC-Instanz unter Verwendung der auf der vorherigen Seite ausgewählten Methode und geht zur Seite Datenebenenanwendung löschen über.

Abbrechen – Beendet den Assistenten, ohne die DAC-Instanz zu löschen.

Seite "Datenebenenanwendung löschen"

Auf dieser Seite wird angegeben, ob der Löschvorgang erfolgreich war oder fehlgeschlagen ist.

Die DAC wird gelöscht – Gibt an, ob die Aktionen zum Löschen der DAC-Instanz 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 Löschbericht 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 entspricht dem Ordner SQL Server Management Studio\DAC Packages im Ordner Dokumente unter Ihrem Windows-Konto.

Fertig stellen – Beendet den Assistenten.

Änderungsverlauf

Aktualisierter Inhalt

Abschnitt zur Verwendung von PowerShell wurde hinzugefügt.