Mein SQL Server 2005 stellt aufgrund aktiver Verbindungen keine Sicherung wieder her. Wie kann ich es erzwingen?
sql-server
sql-server-2005
backup
restore
disconnect
Jader Dias
quelle
quelle
Antworten:
SQL Server Management Studio 2005
Wenn Sie mit der rechten Maustaste auf eine Datenbank klicken
Tasks
und dann klicken und dann klickenDetach Database
, wird ein Dialogfeld mit den aktiven Verbindungen angezeigt.Durch Klicken auf den Hyperlink unter "Nachrichten" können Sie die aktiven Verbindungen beenden.
Sie können diese Verbindungen dann beenden, ohne die Datenbank zu trennen.
Weitere Informationen hier .
SQL Server Management Studio 2008
Die Benutzeroberfläche wurde für SQL Server Management Studio 2008 geändert. Hier sind die Schritte (über: Tim Leung ).
quelle
Sie möchten Ihre Datenbank in den Einzelbenutzermodus versetzen, die Wiederherstellung durchführen und dann wieder auf Mehrbenutzer einstellen:
Referenz: Pinal Dave ( http://blog.SQLAuthority.com )
Offizielle Referenz: https://msdn.microsoft.com/en-us/library/ms345598.aspx
quelle
ROLLBACK IMMEDIATE
oderROLLBACK AFTER 60
. Die einzige Möglichkeit, diese Daten zu speichern, besteht darin, nach dem Rollback eine weitere Sicherung durchzuführen. Sie stellen jedoch aus einem anderen Backup wieder her. Also, wozu warten? Vermisse ich etwasDieser Code hat bei mir funktioniert, er beendet alle vorhandenen Verbindungen einer Datenbank. Sie müssen lediglich die Zeile Set @dbname = 'databaseName' so ändern, dass sie Ihren Datenbanknamen enthält.
danach konnte ich es wiederherstellen
quelle
Versuche dies:
quelle
Durch einen Neustart von SQL Server werden Benutzer getrennt. Der einfachste Weg, den ich gefunden habe - gut auch, wenn Sie den Server offline schalten möchten.
Aber aus irgendeinem sehr seltsamen Grund macht die Option "Offline nehmen" dies nicht zuverlässig und kann die Verwaltungskonsole hängen oder verwirren. Neustart und Offline-Arbeiten
Manchmal ist dies eine Option - wenn Sie beispielsweise einen Webserver gestoppt haben, der die Quelle der Verbindungen ist.
quelle
Ich bin auf dieses Problem gestoßen, als ich einen Wiederherstellungsprozess in SQL Server 2008 automatisiert habe. Mein (erfolgreicher) Ansatz war eine Mischung aus zwei der bereitgestellten Antworten.
Zuerst laufe ich über alle Verbindungen dieser Datenbank und töte sie.
Dann habe ich die Datenbank auf einen single_user-Modus gesetzt
Dann führe ich die Wiederherstellung aus ...
Beenden Sie die Verbindungen erneut
Und setzen Sie die Datenbank wieder auf multi_user.
Auf diese Weise stelle ich sicher, dass keine Verbindungen vorhanden sind, die die Datenbank halten, bevor der Einzelmodus aktiviert wird, da der erstere einfriert, wenn dies der Fall ist.
quelle
Keines davon funktionierte für mich, konnte aktuelle Benutzer nicht löschen oder trennen. Es konnten auch keine aktiven Verbindungen zur Datenbank angezeigt werden. Durch einen Neustart von SQL Server (Rechtsklick und Auswahl von Neustart) konnte ich dies tun.
quelle
Wenn Sie eine Web-App über IIS ausführen, die die Datenbank verwendet, müssen Sie möglicherweise auch den App-Pool für die App stoppen (nicht recyceln), während Sie sie wiederherstellen, und dann neu starten. Durch das Stoppen des App-Pools werden aktive http-Verbindungen beendet und keine weiteren Verbindungen mehr zugelassen. Andernfalls können Prozesse ausgelöst werden, die eine Verbindung zur Datenbank herstellen und diese dadurch sperren. Dies ist ein bekanntes Problem, beispielsweise beim Umbraco Content Management System beim Wiederherstellen seiner Datenbank
quelle
Keines der oben genannten hat bei mir funktioniert. In meiner Datenbank wurden keine aktiven Verbindungen mit Activity Monitor oder sp_who angezeigt. Ich musste letztendlich:
Nicht die eleganteste Lösung, aber sie funktioniert und erfordert keinen Neustart von SQL Server (für mich keine Option, da der DB-Server eine Reihe anderer Datenbanken gehostet hat).
quelle
Ich mache das lieber so,
Ändern Sie den Datenbanksatz offline mit sofortigem Rollback
und stellen Sie dann Ihre Datenbank wieder her. nachdem,
Datenbank online ändern mit sofortigem Rollback
quelle