Benutzer mit den meisten Antworten
Backup: single_user oder read_only

Frage
-
Hallo Forum,
ich werde eine Datenübertragung zwischen 2 SQL-Servern (2005) vornehmen. Danach soll der erste SQL-Server gewartet werden. Um zu verhindern, dass niemand in der Backupphase (ca. 3 Std.) auf den alten Server zugreift und Daten verändert habe ich vor:
1. alle Datenbanken auf dem alten Server in "read only" Modus stellen
2. Die Backups von allen DBs machen
3. Die Restore(s) auf dem neuen Server machen
4. Die Applikation auf den neuen Server umstellen.
5. der alte Server wird ein paar Tage offline bleiben.Ist die Vorgehensweise korrekt? Oder soll ich die Datenbanken in "single_user" Modus setzen? Oder doch "read_only"?
Vielen Dank für Eure HilfeP.
Antworten
-
Hallo Purclot,
bei beiden Varianten musst Du nach dem Restore die Datenbanken wieder umstellen. Single_User heißt nicht, das Du der Single_User sein musst. Vielleicht ist da eine Anwendung wieder schneller.Du könntest die Logins sperren und/oder auf Restricted_User gehen, wenn es keine Anwender mit solchen Rechten gibt:
RESTRICTED_USER ermöglicht nur Mitgliedern der festen Datenbankrolle db_owner und der festen Serverrollen dbcreator und sysadmin eine Verbindung mit der Datenbank, begrenzt jedoch nicht deren Anzahl. Alle Verbindungen zur Datenbank werden in dem durch die Beendigungsklausel der ALTER DATABASE-Anweisung angegebenen Zeitraum getrennt. Sobald die Datenbank in den Status RESTRICTED_USER gewechselt hat, werden Verbindungsversuche von nicht qualifizierten Benutzern abgelehnt.Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort markiert Purclot Donnerstag, 26. April 2012 11:16
-
ich werde eine Datenübertragung zwischen 2 SQL-Servern (2005) vornehmen. Danach soll der erste SQL-Server gewartet werden. Um zu verhindern, dass niemand in der Backupphase (ca. 3 Std.) auf den alten Server zugreift und Daten verändert habe ich vor:
1. alle Datenbanken auf dem alten Server in "read only" Modus stellen
2. Die Backups von allen DBs machen
3. Die Restore(s) auf dem neuen Server machen
4. Die Applikation auf den neuen Server umstellen.
5. der alte Server wird ein paar Tage offline bleiben.Ist die Vorgehensweise korrekt? Oder soll ich die Datenbanken in "single_user" Modus setzen? Oder doch "read_only"?
Vielen Dank für Eure Hilfefalls Du die Datenbanken nicht im RecoveryMode = Simple betreibst, wuerde ich - wenn es so wie vorgeschlagen ablaufen sollte - wuerde ich in aller Ruhe ein Full Backup & Restore - die 3h wuerden dann nicht relevant sein - und dann Log Backups machen und sofort die DB auf dem alten Server auf Readonly setzen und gleichzeitig die Logs auf dem neuen Server einspielen.
die Schritte waeren dann wohl etwa so:
1. Full backup aller DB
2. Restore des Fullbackups auf dem neuen Server im Mode with Recovery/Standby
3. Log backup auf dem alten Server und DB sofort nach log backup auf readonly setzen
4. restore Log backup auf den neuem Server
5. Applikation auf den neuen Server umstellen
6. alter Server ein paar Tage offline halten.
soferen Du mindestens SQL Server 2005 Standard Edition verwendest waere eine bessere Idee aber, die DB vom alten Server auf dem neuen Server spiegeln (Mirroring) und dann ein manuelles Failover vom alten zum neuen Server machen. den alten Server updaten/upgraden und dann wieder ein failover vom neuen Server zum alten Server machen. Abhaengig von Applikation kannst Du diese evt. sogar derart konfigurieren, dass sie automatisch auf den neuen Server verbindet, wenn der alte nicht mehr zugaenglich ist.
Wird der alte Server nach der Migration noch gebraucht, dh. updated ihr in oder sollte er einfach ein paar Tagen noch fuer Notfall bereitstehen ?
- Als Antwort vorgeschlagen Uwe RickenMVP Mittwoch, 25. April 2012 16:56
- Als Antwort markiert Purclot Donnerstag, 26. April 2012 11:16
Alle Antworten
-
Hallo Purclot,
bei beiden Varianten musst Du nach dem Restore die Datenbanken wieder umstellen. Single_User heißt nicht, das Du der Single_User sein musst. Vielleicht ist da eine Anwendung wieder schneller.Du könntest die Logins sperren und/oder auf Restricted_User gehen, wenn es keine Anwender mit solchen Rechten gibt:
RESTRICTED_USER ermöglicht nur Mitgliedern der festen Datenbankrolle db_owner und der festen Serverrollen dbcreator und sysadmin eine Verbindung mit der Datenbank, begrenzt jedoch nicht deren Anzahl. Alle Verbindungen zur Datenbank werden in dem durch die Beendigungsklausel der ALTER DATABASE-Anweisung angegebenen Zeitraum getrennt. Sobald die Datenbank in den Status RESTRICTED_USER gewechselt hat, werden Verbindungsversuche von nicht qualifizierten Benutzern abgelehnt.Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort markiert Purclot Donnerstag, 26. April 2012 11:16
-
ich werde eine Datenübertragung zwischen 2 SQL-Servern (2005) vornehmen. Danach soll der erste SQL-Server gewartet werden. Um zu verhindern, dass niemand in der Backupphase (ca. 3 Std.) auf den alten Server zugreift und Daten verändert habe ich vor:
1. alle Datenbanken auf dem alten Server in "read only" Modus stellen
2. Die Backups von allen DBs machen
3. Die Restore(s) auf dem neuen Server machen
4. Die Applikation auf den neuen Server umstellen.
5. der alte Server wird ein paar Tage offline bleiben.Ist die Vorgehensweise korrekt? Oder soll ich die Datenbanken in "single_user" Modus setzen? Oder doch "read_only"?
Vielen Dank für Eure Hilfefalls Du die Datenbanken nicht im RecoveryMode = Simple betreibst, wuerde ich - wenn es so wie vorgeschlagen ablaufen sollte - wuerde ich in aller Ruhe ein Full Backup & Restore - die 3h wuerden dann nicht relevant sein - und dann Log Backups machen und sofort die DB auf dem alten Server auf Readonly setzen und gleichzeitig die Logs auf dem neuen Server einspielen.
die Schritte waeren dann wohl etwa so:
1. Full backup aller DB
2. Restore des Fullbackups auf dem neuen Server im Mode with Recovery/Standby
3. Log backup auf dem alten Server und DB sofort nach log backup auf readonly setzen
4. restore Log backup auf den neuem Server
5. Applikation auf den neuen Server umstellen
6. alter Server ein paar Tage offline halten.
soferen Du mindestens SQL Server 2005 Standard Edition verwendest waere eine bessere Idee aber, die DB vom alten Server auf dem neuen Server spiegeln (Mirroring) und dann ein manuelles Failover vom alten zum neuen Server machen. den alten Server updaten/upgraden und dann wieder ein failover vom neuen Server zum alten Server machen. Abhaengig von Applikation kannst Du diese evt. sogar derart konfigurieren, dass sie automatisch auf den neuen Server verbindet, wenn der alte nicht mehr zugaenglich ist.
Wird der alte Server nach der Migration noch gebraucht, dh. updated ihr in oder sollte er einfach ein paar Tagen noch fuer Notfall bereitstehen ?
- Als Antwort vorgeschlagen Uwe RickenMVP Mittwoch, 25. April 2012 16:56
- Als Antwort markiert Purclot Donnerstag, 26. April 2012 11:16