Aus welchen Gründen und in welchen Situationen würden Sie die Funktion "Offline schalten" verwenden ALTER DATABASE dbName SET OFFLINE
.
Welche Aufgaben können Sie mit einer Offlinedatenbank ausführen? Welche Aufgaben können Sie nur mit einer Offline-Datenbank ausführen?
sql-server
Greg B
quelle
quelle
In Entwicklungs- / Staging-Umgebungen ist es manchmal hilfreich, eine Datenbank offline zu schalten, um sicherzustellen, dass Sie eine Verbindung mit der richtigen Instanz der Datenbank in der Anwendung herstellen und nicht irgendwo eine aufgebockte Verbindungszeichenfolge haben.
In dieser Situation ist es jedoch eine viel bessere Idee, unterschiedliche Datenbanknamen für die verschiedenen Umgebungen und einen Erstellungsprozess zu haben, der Ihre Verbindungszeichenfolgen automatisch konfiguriert ...
In ähnlicher Weise möchte ich Datenbanken für einen bestimmten Zeitraum offline schalten, bevor ich sie außer Betrieb nehme, und zwar in dem (nicht so) zufälligen Fall, dass sie aus irgendeinem Grund wieder online gehen müssen. Ich bin einige Male von Entwicklern gebissen worden, die Haken in einer meiner Datenbanken haben, von denen ich nichts weiß, wenn ich sie loswerden will. Das Offline-Schalten ist viel einfacher und zeitsparender als das Löschen und das Wiederherstellen bei Bedarf.
Eine andere Sache wäre eine Notfallsicherung. Ich musste das schon mal machen. Manchmal wird in Ihrer App ein böser Fehler gefunden, der Daten in Ihrer Datenbank beschädigt, auch wenn er nicht bösartig ist. Das Offline-Schalten der Datenbank ist eine schnelle Möglichkeit, die Blutung zu stoppen, bis Sie den Fehler identifiziert haben. Sie können es dann wieder online schalten, um den Schaden in der Datenbank zu bewerten.
quelle
Während einige der hier gegebenen Antworten Ihnen einige Ideen dazu geben, was Sie mit einer Datenbank mit eingeschränktem Zugriff tun können, kann mit einer Datenbank, die offline ist, nicht viel getan werden. Sie können keine Daten usw. aktualisieren, aktualisieren, hinzufügen oder löschen.
quelle
Mein übergeordneter Grund, den ich öfter an die DBAs verkaufen muss, als ich aufzählen möchte ...
"Das SAN muss repariert werden ... und nein, ich kann nicht einfach ein Laufwerk im laufenden Betrieb austauschen, die Rückwandplatine / Controller sind fehlerhaft."
DB-Instanzen verhalten sich sehr schlecht, wenn ihre Festplatten nicht mehr funktionieren.
Daher habe ich die SQL-Instanzen heruntergefahren, bevor ich das SAN offline geschaltet habe, und sie dann einzeln wiederhergestellt, damit sie keine Ressourcen bestreiten. Die erste Instanz beansprucht alle Clusterressourcen und wird zum Active DB-Knoten. Nachfolgende Instanzen werden ausgeführt als passive Knoten.
quelle
Es gibt viele Gründe, warum Sie dies tun müssten ..
Zum Beispiel,
Der wichtigste Punkt ..
(In einigen Datenbanken erstellen Sie nur eine Sperre für alle Tabellen.)
quelle