Datensicherung SQL-Server

  • #1
S

SVAdmi

Neues Mitglied
Themenersteller
Dabei seit
23.05.2005
Beiträge
3
Reaktionspunkte
0
Hallo zusammen!
Mir wurde vor kurzem die Administration von zwei MS-SQL-Servern überlassen. Da eine entsprechende Schulung noch aussteht bereitet mir das Thema Datensicherung ziemliches Kopfzerbrechen. Inzwischen habe ich mitbekommen, das ein SQL-Server nicht im laufenden Betrieb gesichert werden sollte bzw. darf. Bei uns ergibt sich immer ab 22:00 Uhr eine Möglichkeit die Sicherung zu starten, da zu dieser Zeit nicht mehr gearbeitet wird. Immer wieder lese ich von Sicherungsscripten und frage mich, ob diese überhaupt notwendig sind. Denn schließlich existiert doch der sogenannte Enterprise-Manager und es können darin Sicherungsjobs für Datenbanken angelegt werden. Aktuell habe ich deshalb folgende Strategie vor:
22:00 Uhr - Backup Master-Datenbank (-> Master.Datenbank.bak)
22:15 Uhr - Backup MSDB-Datenbank (-> MSDB-Datenbank.bak)
22:30 Uhr - Backup Datenbank Fibu (-> Fibu-Datenbank.bak)
22:45 Uhr - Backup Transaktionsprotokoll Fibu (-> Fibu-Transaktionsprotokoll.bak)
23:00 Uhr - Sicherung aller Dateien aller Laufwerke auf Magnetband
Nun würde mich interessieren, was die Spezialisten dazu sagen bzw. schreiben? Vielen Dank im voraus und mit freundlichen Grüßen SVAdmi
 
  • #2
SVAdmi schrieb:
Inzwischen habe ich mitbekommen, das ein SQL-Server nicht im laufenden Betrieb gesichert werden sollte bzw. darf.

FALSCH !
Es gibt zwei Arten der Datensicherung bei Datenbanken: Onlinesicherung und Offlinesicherung. Letzere ist - ich zitiere Frank Carius (MVP für Exchange) KEINE Datensicherung.

Heutztage gibt es genügend Backupprogramme (zum Beispiel Veritas Backup Exec), die mittels SQL Agent in der Lage sind Onlinedatensicherungen durchzuführen.

Das mit der Datensicherung mittels Manager ist so ne Sache... dir werden innerhalb kürzester Zeit die Transaktionsprotokolle überquellen, da diese vom Manager nicht gepruned werden.

Abhilfe schafft:
ein gescheites Backupprogramm (siehe oben) oder als billige Alternative mein Script: http://www.wintotal.de/Software/index.php?rb=1054&id=2628

Gruß
Sven
 
  • #3
Hallo Sven,
vielen Dank für die schnelle Rückmeldung und ich fühle mich sehr geehrt :-* Denn Dein Script habe ich u.a. schon mit großem Interesse zur Kenntniss genommen. Allerdings fehlen mir dazu noch ein paar Insiderkenntnisse. U.a. wie und wo wird so ein Script eigentlich angelegt? Vielleicht könntest Du mir den Begriff gepruned erläutern!
Außerdem habe ich bereits Meinungen vernommen, die nicht nur den Preis sondern auch die Funktion z.B. des Agent für BackupExec für nicht empfehlenswert halten. Wir verwenden auf unseren Servern Veritas BackExec 9.1. Den Agent müsste ich leider erst für wahrscheinlich teuer Geld organisieren.
 
  • #4
SVAdmi schrieb:
Hallo Sven,
vielen Dank für die schnelle Rückmeldung und ich fühle mich sehr geehrt :-*
Öhm wieso das denn ? Bin nur einer von Millionen Admins ;)

SVAdmi schrieb:
U.a. wie und wo wird so ein Script eigentlich angelegt?
Was meinst Du mit anlegen ?
Lad' das Script runter, stell sicher das es .cmd heisst und speicher es woimmer du willst hin...
Task im Taskplaner erstellen, im Enteprise Manager die Sicherungsmedien erstellen und fertig.

SVAdmi schrieb:
Vielleicht könntest Du mir den Begriff gepruned erläutern!
http://www.berndjungbluth.de/sqlfaq/faqa2.htm#A2.3.

SVAdmi schrieb:
Außerdem habe ich bereits Meinungen vernommen, die nicht nur den Preis sondern auch die Funktion z.B. des Agent für BackupExec für nicht empfehlenswert halten. Wir verwenden auf unseren Servern Veritas BackExec 9.1.  Den Agent müsste ich leider erst für wahrscheinlich teuer Geld organisieren.

Andersrum gefragt: Bist Du mit Veritas Backup Exec zufrieden ? Wenn ja, sind die anderen Meinungen doch nebensächlich. Ich halte BE auch nicht unbedingt für das Beste Programm... aber das ist wie so vieles einfach Ansichtssache - UND - BE tut seinen Dienst - zuverlässig und ohne Mucken ;)

Gruß
Sven
 
  • #5
Hallo,

ich habe diesen Thread gelesen und er hat mir auch ein paar Fragen beantwortet.
Eine hätte ich aber noch.
Kann man dieses Script, auch laufen lassen, wenn Requests auf die DB gemacht werden, oder geht das nur wenn alle Anwendungen beendet sind ?
Hintergrund ist der, das wir eine Software betreiben, die eine 7x24 Std. Anforderung an die DB hat.
Vielen Dank vorab.
Gruß Norbert
 
  • #6
redlav schrieb:
Kann man dieses Script, auch laufen lassen, wenn Requests auf die DB gemacht werden, oder geht das nur wenn alle Anwendungen beendet sind ?

Du kannst während das Script läuft keine connects zur DB machen, da diese in den Single-User Betrieb geschalten wird (UND readonly). Nichts anderes macht im Übrigen auch ein Backup Agent. Bei einer Datenbankgrösse von 2GB dauert der gesamte Sicherungsvorgang im Übrigen nur einige Minuten (mit einem P4 2Ghz, 2GB RAM...)

siehst du:
Code:
isql -Usa -P%SAPWD% -Qsp_dboption db_10it,->read only',true
isql -Usa -P%SAPWD% -Qsp_dboption db_10it,->single user',true

Gruß
Sven
 
  • #7
Hallo,

gibt es denn mit Bordmitteln keine Möglichkeit eine Onlinesicherung
durchzuführen, bei der auch das Logfile verkleinert wird ?

Gibt es Tools anderer Hersteller, die das können ?

Gruß Norbert
 
  • #8
redlav schrieb:
gibt es denn mit Bordmitteln keine Möglichkeit eine Onlinesicherung
durchzuführen, bei der auch das Logfile verkleinert wird ?

Das ist->ne Onlinesicherung...

Gruß
Sven
 
  • #9
Hallo,

entschuldigung, das ich nochmal Nervern muss.
Ich habe eine Sicherung über den Enterprisemanager gemacht.
Das Logfile ist aber nicht kleiner geworden.
Wenn man diesen Maintenanceplan erstellt will er zum Reorg des Logs anscheinend die DB auch Exklusiv haben.
Wir sind auch mit der Hardware nicht so gesegnet, das eine Sicherung der jetzigen DB (2,1 GB Daten und 19 GB Log) 3 Stunden dauert.
Ich bin auf dem Gebiet Laie und habe mich jetzt entgegen aller Einwände durchgesetzt und einen SQL-Server in Betrieb genommen, von dem aber unsere DB2-Admins keine Ahnung haben.
Die Anwendung läuft auch Performanter und jetzt das Problem mit der Loggröße. :mad:.
Bin für jeden Tipp dankbar.
 
  • #10
redlav schrieb:
Hallo,

entschuldigung, das ich nochmal Nervern muss.
Ich habe eine Sicherung über den Enterprisemanager gemacht.
Das Logfile ist aber nicht kleiner geworden.
Wenn man diesen Maintenanceplan erstellt will er zum Reorg des Logs anscheinend die DB auch Exklusiv haben.
Wir sind auch mit der Hardware nicht so gesegnet, das eine Sicherung der jetzigen DB (2,1 GB Daten und 19 GB Log) 3 Stunden dauert.
Ich bin auf dem Gebiet Laie und habe mich jetzt entgegen aller Einwände durchgesetzt und einen SQL-Server in Betrieb genommen, von dem aber unsere DB2-Admins keine Ahnung haben.
Die Anwendung läuft auch Performanter und jetzt das Problem mit der Loggröße. :mad:.
Bin für jeden Tipp dankbar.

Hallo,

- Datenbank via Enterprise-Manager manuell auf seperaten Datenträger sichern (wenn möglich)
- Datenbank reorganisieren (via Enterprise Manager)
- Datenbank stoppen (NICHT den DB-Server!!!)
- Logfile manuell (händisch) löschen
- Datenbank starten
- Es sollte ein kleines Logfile erstellt werden

WICHTIG:
Sollte die Datenbank nach der Aktion nicht mehr hochkommen, Datenbank im Enterprise Manager aushängen und wieder einhängen - Das tut auf jeden Fall.

Die EINZIGSTE Möglichkeit, das Logfile von Anfang an klein und handlich zu halten, ist die regelmässige Reorganisation der DB. Daher habe ich mein Script mittlerweile bei knapp 400 Kunden am laufen.

Gruß
Sven
 
  • #11
Hall Sven,

vielen Dank für deine Antwort.

Ich haben mir für morgen ein Zeitfenster von 4 Stunden reserviert, in der der Server mir allein gehört.
Werde das so machen , wie du es geschrieben hast.
Rückmeldung danach.

Gruß Norbert
 
  • #12
Hallo,

ich habe das so gemacht, wie du es beschrieben hast.
Hat alles sauber funktioniert.
Danke schonmal dafür !
Die Reorganisation der DB funktiniert aber nur dann, wenn ich die zugreifende Anwendung (Jobscheduler) stoppe.
Das ist aber eigentlich nicht möglich, da immer irgentwas in der Anwendung aktiv ist.
Ich habe eine DB-Einstellung gesehen, die Auto Shrink heißt (wir haben den Englischen Server installiert).
Sowie ich das verstanden habe, werden dadurch DB und Log automatisch verkleinert.
Oder habe ich das Falsch verstanden ?
Wieso werden nach einer Onlinesicherung nicht alle nicht mehr benötigten virtuellen Logfiles aus dem physikalischen Logfile entfernt.
Sowas kann selbst ein DB2 (was ich ja gar nicht mag).
Unsere DB2-Admins lachen sich ja einen ins Fäustchen, wenn die mitkriegen, das ich die Anwendung zum verkleinern des Logfiles herunterfahren muss.
Vielleicht kannst du noch etwas Licht ins Dunkle bringen.
Gruß Norbert
 
  • #13
Sorry wenn ich nochmal nerve!

Aber als Laie hab ich noch n paar Fragen:

1.) Hat jede Datenbank eigentlich nur ein Transaktionsprotokoll und wo ist dieses abgelegt? Als Tabelle in der Datenbank oder als Datei und wenn ja mit welchem Name bzw. Kürzel bzw. wo ist dieses zu finden?

Zum Script vom SVEN:
http://www.wintotal.de/Software/index.php?rb=1054&id=2628
2.) Muss in die Variable SAPWD der Name des Admin oder dessen Passwort? Und wo bzw. wie kann dieses geändert werden? Gilt dieses Passwort eigentlich global für den gesamten SQL-Server oder nur für eine spezielle Datenbank?

3.) Wenn man über den Enterprise-Manager die sogenannten Sicherungsmedien anlegt, dann sind dies doch genau genommen Dateien mit Kürzel .bak und .dat hat das was zu bedeuten? Denn wenn ich das Script richtig deute sollen die doch eigentlich master_dump.dat usw. heißen, oder?
Die Dateien sind dann ja wohl sowas wie Container in die irgendwas abgelegt wird, oder?

4.) Was ist unter lock_1 bis 33 eigentlich zu verstehen?

5.) Gibt es nach Abschluss der Datensicherung mit dem Script irgendeine Möglichkeit zu prüfen, ob dies tatsächlich vollständig korrekt abgelaufen ist (Protokoll etc.)?

6.) Hat jemand ne Empfehlung/Quelle, wo die einzelnen Befehle und Optionen wie isql -Usa -p ... etc. kurz und gut beschrieben sind, ohne das man dazu sofort einen SQL studieren muss und trotzdem grob weiß, was eigentlich passiert?

Wäre supi, noch möglichst viele Infos zu bekommen. Denn leider muss ich die Sache erst irgendwie zum laufen bringen und darf dann anschließend eine Schulung besuchen????!!!! :-((

Grüße
SVAdmi
 
  • #14
SVAdmi schrieb:
1.) Hat jede Datenbank eigentlich nur ein Transaktionsprotokoll und wo ist dieses abgelegt? Als Tabelle in der Datenbank oder als Datei und wenn ja mit welchem Name bzw. Kürzel bzw. wo ist dieses zu finden?
Eine DB, ein Transaktionsprotokoll. Wird normalerweise im selben Verzeichnis abgelegt wie die Datenbank.

2.) Muss in die Variable SAPWD der Name des Admin oder dessen Passwort? Und wo bzw. wie kann dieses geändert werden? Gilt dieses Passwort eigentlich global für den gesamten SQL-Server oder nur für eine spezielle Datenbank?
Die Variable SAPWD ist das Passwort für den Benutzer sa. Das ist der Oberadmin bei MSSQL.
Daher gilt das PW immer für den kompletten Server.

3.) Wenn man über den Enterprise-Manager die sogenannten Sicherungsmedien anlegt, dann sind dies doch genau genommen Dateien mit Kürzel .bak und .dat hat das was zu bedeuten? Denn wenn ich das Script richtig deute sollen die doch eigentlich master_dump.dat usw. heißen, oder?
Die Dateien sind dann ja wohl sowas wie Container in die irgendwas abgelegt wird, oder?
Der Name an sich ist beliebig und es bedarf eigentlich keiner Endung. Ich hatte mich beim Script schreiben einfach für .dat (dat=datenbank) entschieden.

4.) Was ist unter lock_1 bis 33 eigentlich zu verstehen?
Hiermit erkennt das Script, das bereits eine Sicherung gelaufen ist und benennt die erste Sicherung in .bak um, damit immer zwei Sicherungsstände vorhanden sind.

5.) Gibt es nach Abschluss der Datensicherung mit dem Script irgendeine Möglichkeit zu prüfen, ob dies tatsächlich vollständig korrekt abgelaufen ist (Protokoll etc.)?
In meinem Script jetzt nicht explizit. Du kannst aber das Protokoll zur Hand nehmen, welches der MSSQL Server so oder so schon führt.

6.) Hat jemand ne Empfehlung/Quelle, wo die einzelnen Befehle und Optionen wie isql -Usa -p ... etc. kurz und gut beschrieben sind, ohne das man dazu sofort einen SQL studieren muss und trotzdem grob weiß, was eigentlich passiert?
Ein sehr gutes Buch:
http://www.edv-buchversand.de/mspre...Ccher&cnt=print&print=0&id=ms-530
Ansonsten: isql.exe /? wäre auch ne Möglichkeit

Gruß
Sven
 
Thema:

Datensicherung SQL-Server

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben