Backup und Restore

Wiederherstellung zu einem bestimmten Zeitpunkt

Erstellen Sie im EM in einer Datenbank test diese Tabelle
Geben Sie einige Zeilen ein.


Erstellen im QA:

/* Datenbank öffnen */
use test
go
create table obst (
lfdNr int IDENTITY (1, 1) NOT NULL ,
Bezeichnung char (10) NOT NULL ,
Farbe char (10) NULL ,
Zeit datetime NULL ,
Wer_wars char (30) NULL
)
go
alter table obst with nocheck add
constraint DF_obst_Zeit default (getdate()) for Zeit,
constraint DF_obst_Wer_wars default (suser_sname()) for Wer_wars

/* Sicherungsmedium erstellen (Dateipfad anpassen) */
sp_addumpdevice 'disk', 'testbak','C:\Lehrgang\testbak.bak'

/* ein paar Datensätze einfügen */
insert obst values ('Erdbeere','rot',default,default)
insert obst values ('Kiwi','grün',default,default)
insert obst values ('Pflaume','blau',default,default)
insert obst values ('Melone','grün',default,default)

/* Datensätze anzeigen */
select * from obst

/* Vollsicherung mit Überschreiben*/
backup database test to testbak with init, name='test_vollbackup'

/* Datensätze anfügen */
insert obst values ('Apfel','rot',default,default)
insert obst values ('Birne','gelb',default,default)

/* Datensätze anzeigen */
select * from obst

/* Log sichern */
backup log test to testbak with noinit, name='test_logbackup'

/* noch mehr Datensätze anfügen */
insert obst values ('Banane', 'gelb',default,default)
insert obst values ('Aubergine', 'lila',default,default)

/* etwas später ganz falsche Dinge tun */
update obst set farbe = 'violett'

/* Datensätze anzeigen */
select * from obst

/* aktuelles Log sichern Uhrzeit merken  - nicht abschneiden! */
backup log test to testbak with noinit, no_truncate, name='test_logbackup1'

/* Wiederherstellung bis kurz vor der Katastrophe
Erst einmal Sicherungssätze anschauen */
restore headeronly from testbak
restore filelistonly from testbak

/* Datenbank als testneu wieder herstellen
ACHTUNG: logische Namen der Datenbankfiles überprüfen! 
1. Vollsicherung zurücksichern; Datenbank nicht abschließen
2. Erstes Logfile zurücksichern; Datenbank nicht abschließen
3. Zweites Logfile zurücksichern, Zeitpunkt angeben; Datenbank abschließen */

restore database testneu from testbak with norecovery,
    move 'test' to 'C:\Programme\Microsoft SQL Server\MSSQL\Data\testneu.mdf',
    move 'test_log' to 'C:\Programme\Microsoft SQL Server\MSSQL\Data\testneu.ldf'
restore log testneu from testbak with norecovery, file=2
restore log testneu from testbak with recovery, file=3, stopat ='16.11.2004 23:23:00'

/* Neue Datenbank öffnen; Ergebnis anschauen */
use testneu
select * from obst

/* Erneute Sicherung*/
backup database testneu to testbak with noinit

Zurück zu Übung 1

Weiter mit Übung 3

Zur Übersicht