[Fehler behoben] SQL Database Restore fehlgeschlagen, Datenbank in Verwendung

Summary: In diesem Blog werden Lösungen zur Behebung des Fehlers "SQL-Datenbankwiederherstellung fehlgeschlagen, Datenbank in Verwendung" beschrieben. Diese Lösungen beinhalten das Trennen aktiver Verbindungen (Benutzer und Prozesse) zur Datenbank und die Verwendung der Software Stellar Toolkit for MS SQL zur Wiederherstellung der SQL-Datenbank (db) aus einer beschädigten db- oder Sicherungsdatei (.bak). Die Lösungen gelten für MS SQL Server 2019, 2017, 2016, 2014 und niedrigere Versionen.

Wenn Sie versuchen, eine SQL Server-Datenbank aus einem Backup wiederherzustellen, erhalten Sie häufig eine Fehlermeldung, die wie folgt lautet:

Wiederherstellung fehlgeschlagen für Server ‘xxx’ (Microsoft.SqlServer.SmoExtended)
Zusätzliche Informationen: System.Data.SqlClient.SqlError: Es konnte kein exklusiver Zugriff erlangt werden, da die Datenbank in Gebrauch ist.

Gründe für den Fehler SQL-Datenbankwiederherstellung fehlgeschlagen, Datenbank in Verwendung

Im Folgenden sind einige Gründe aufgeführt, die den Wiederherstellungsprozess stören und den Fehler ‘Wiederherstellung der Datenbank fehlgeschlagen, da die Datenbank in Gebrauch ist’ auslösen können:

Nun werden wir Lösungen zur Behebung des Fehlers besprechen.

Tipp: Die SQL Server-Datenbank kann aus der Sicherungsdatei (.bak) wiederhergestellt werden. Der Vorgang der Datenbankwiederherstellung kann jedoch fehlschlagen, wenn die .bak-Datei beschädigt ist. Verwenden Sie Stellar Toolkit for MS SQL Software, die mit einem effizienten SQL-Sicherungsextraktionswerkzeug ausgestattet ist, das Datenbankadministratoren bei der Wiederherstellung der SQL-Datenbank aus einer beschädigten Sicherungsdatei (.BAK) hilft. Die Software unterstützt SQL Server 2019, 2017, 2016, 2014, 2012, & ältere Versionen.

Bevor wir beginnen

Bevor Sie mit der Behebung des Fehlers – exklusiver Zugriff konnte nicht erlangt werden, weil die Datenbank in Verwendung ist, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:

Wie behebt man das Problem ‘SQL-Datenbank kann nicht wiederhergestellt werden, da sie in Gebrauch ist’?

Wenn Sie versuchen, eine SQL Server-DB wiederherzustellen, stellen Sie sicher, dass keine aktiven Verbindungen bestehen. Wenn jemand die Datenbank verwendet, schlägt der Wiederherstellungsvorgang fehl. Um das Problem zu beheben, müssen Sie die aktiven Benutzer abmelden. Sie können dies mit einer der folgenden Methoden tun:

HINWEIS: Bevor Sie die Benutzer trennen, verwenden Sie die SQL Stored Procedure “sp_who”, um alle Benutzer zu überprüfen, die die Datenbank derzeit verwenden. Wenn Sie Benutzer finden, die einige wichtige Aufgaben ausführen, benachrichtigen Sie diese Benutzer, bevor Sie sie trennen. Ausführliche Informationen zu sp_who finden Sie unter diesem Link. Wenn Sie die Benutzer nicht benachrichtigen möchten, fahren Sie mit Methode 2 fort.

Methode 1 – Schließen Sie die bestehenden Verbindungen zur Datenbank

Gehen Sie folgendermaßen vor, um bestehende Verbindungen zur SQL db zu schließen:

Schritt 1: Öffnen Sie SSMS und verbinden Sie sich mit der db.

Schritt 2: Nach dem Verbinden mit der Datenbank erscheint auf der linken Seite des SSMS-Fensters das Objekt-Explorer-Panel.

Schritt 3: Klicken Sie im Objekt-Explorer-Panel mit der rechten Maustaste auf Datenbanken und wählen Sie dann Datenbank wiederherstellen.

Schritt 4: Führen Sie im Dialogfeld Datenbank wiederherstellen die folgenden Schritte aus:

Schritt 5: Aktivieren Sie auf der Seite Optionen das Kontrollkästchen “Vorhandene Verbindungen zur Zieldatenbank schließen”.

Sobald die SQL Server-Verbindungen geschlossen sind, fahren Sie mit dem Wiederherstellungsvorgang fort.

Methode 2 – Wechseln vom Mehrbenutzermodus zum Einzelbenutzermodus

Wenn Sie den Mehrbenutzermodus standardmäßig in den Einzelbenutzermodus ändern, werden alle verbundenen Benutzer getrennt. Diese Option kann verwendet werden, wenn Sie die Verbindung aller Benutzer trennen möchten, ohne sie zu benachrichtigen.

Um zu erzwingen, dass die Benutzer vom SQL Server offline gehen (d. h. die Verbindung trennen), setzen Sie die Datenbank vom Mehrbenutzermodus in den Einzelbenutzermodus, indem Sie die folgenden Schritte ausführen:

Schritt 1: Öffnen Sie SSMS, verbinden Sie sich mit der Datenbank.

Schritt 2: Wählen Sie im Objekt-Explorer-Fenster Neue Abfrage. Kopieren Sie den folgenden T-SQL-Codeausschnitt, fügen Sie ihn in das Abfragefenster ein und klicken Sie dann auf “Ausführen”:

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
MIT SOFORTIGEM ROLLBACK;
GO

Durch Ausführen des obigen Codes wird die Datenbank in den Einzelbenutzermodus umgestellt.

Methode 3 – Neustart des SQL Server-Dienstes

Sie können die Verbindung zu den Benutzern auch trennen, indem Sie den SQL-Dienst neu starten. Sie können den Dienst über den SQL Server-Konfigurationsmanager, SSMS, die Dienstekonsole oder die Befehlszeile neu starten.

HINWEIS: Verwenden Sie diese Methode als letzten Ausweg. Es kann nämlich sein, dass Sie nur eine einzige Datenbank wiederherstellen müssen, aber der Neustart des Servers wird die Verbindungen zu allen Datenbanken beenden.

Die Schritte zum Neustart des Dienstes über den SQL Server-Konfigurationsmanager sind wie folgt:

Schritt 1: Durchsuchen Sie den SQL Server Configuration Manager mit einer der folgenden Methoden

SQL Server 2019 C:\Windows\SysWOW64\SQLServerManager15.msc

SQL Server 2017 C:\Windows\SysWOW64\SQLServerManager14.msc

SQL Server 2016 C:\Windows\SysWOW64\SQLServerManager13.msc

SQL Server 2014 C:\Windows\SysWOW64\SQLServerManager12.msc

SQL Server 2012 C:\Windows\SysWOW64\SQLServerManager11.msc

Schritt 2: Klicken Sie im linken Bereich des Fensters “SQL Server Configuration Manager” auf “SQL Server Services“. Und im rechten Fensterbereich klicken Sie mit der rechten Maustaste auf den SQL Server-Dienst und stoppen und starten ihn.

Schritt 3: Klicken Sie auf OK, um den SQL Server Configuration Manager zu beenden.

Was tun, wenn das Problem immer noch besteht?

Wenn das Problem weiterhin besteht, liegt wahrscheinlich ein Problem mit Ihrer Datenbank vor oder die Sicherungsdatei, die für die Wiederherstellung der Datenbank verwendet wurde, ist beschädigt. In diesem Fall sollten Sie Stellar Toolkit for MS SQL verwenden. Die Software kann die Datenbank von einem beschädigten SQL Server wiederherstellen. Es kann auch eine Datenbank extrahieren – aus beschädigten Sicherungsdateien (.bak) – die wiederhergestellt werden müssen.

Um die Datenbank aus einer beschädigten SQL Server-Sicherungsdatei (.bak) mit Hilfe der Software wiederherzustellen, folgen Sie diesen Schritten:

Schritt 1: Laden Sie die Software Stellar Toolkit for MS SQL herunter, installieren und starten Sie sie.

Schritt 2: Wählen Sie in der Benutzeroberfläche der Software die Option Extract from MS SQL Backup.

Schritt 3: Im Fenster Stellar Backup Extractor for MS SQL klicken Sie auf Select File, um die .bak-Datei auszuwählen.

HINWEIS: Wählen Sie die Option “Im Ordner suchen”, wenn Sie den Speicherort der Datei nicht kennen.

Schritt 4: Nachdem Sie die .bak-Datei ausgewählt haben, klicken Sie auf Scannen.

Schritt 5: Das Fenster BackupSet erscheint mit den Details aller Backups.

Schritt 6: Wählen Sie die wiederherzustellende .bak-Datei aus der Liste Backup Type und klicken Sie auf Weiter, um mit dem Scan-Vorgang fortzufahren.

Schritt 7: Sobald der Scanvorgang abgeschlossen ist, wird ein Dialogfeld angezeigt, das die Anzahl der insgesamt in der Sicherungsdatei verfügbaren Datensätze angibt.

Schritt 8: Die Software zeigt eine Vorschau der Datenbankeinträge an.

Schritt 9: Um die wiederhergestellte .bak-Datei zu speichern, klicken Sie im Menü File auf Save.

Schritt 10: Wählen Sie in dem sich öffnenden Fenster unter Save Asdie Option MSSQL und klicken Sie dann auf Browse, um den Speicherort für die wiederhergestellte Datei auszuwählen. Klicken Sie auf OK.

Schritt11: Wählen Sie New Database oder LiveDatabase unter Saving Options. Geben Sie anschließend die erforderlichen Details im Abschnitt Mit Connect to Server an und klicken Sie dann auf Connect.

Die wiederhergestellte Datei wird an dem ausgewählten Ort gespeichert.

Fazit

In diesem Blog wurde erklärt, wie Sie das Problem SQLDatenbankwiederherstellung fehlgeschlagen, Datenbank in Verwendung beheben können. Sie können aktive Benutzer trennen, indem Sie die bestehenden Verbindungen schließen oder vom Mehrbenutzermodus in den Einbenutzermodus wechseln. Oder trennen Sie alle Benutzer, indem Sie den SQL Server-Dienst neu starten. Wenn Sie jedoch immer noch Probleme beim Wiederherstellen der Datenbank haben, kann das Stellar SQL Database Toolkit hilfreich sein. Es hilft bei der Lösung des Problems, indem es die beschädigte SQL-Datenbank repariert oder die SQL Server-Sicherungsdatei wiederherstellt.

Related Post