Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

SQL Express - Datenbankdump - Was ist zu sichern?

Hilfe bei Problemen mit Installation & Benutzung des VMware ESX/ESXi Server 3.

Moderatoren: Dayworker, irix

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

SQL Express - Datenbankdump - Was ist zu sichern?

Beitragvon mullfreak » 13.11.2008, 08:34

Hallo,

bisher sichere ich die zwei Vmware-Datenbanken auf dem SQL Express.

Ist eigentlich die Master-DB auch mitzusichern? Dieses verwaltet ja Informationen zu allen DB´s, den Benutzern und Verbindungen.

Gruß
Mull

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 13.11.2008, 21:51

Hi,
wenn ich mich nicht ganz täusche empfielt Microsoft das du die "master", "model" und die "msdb" sicher solltest. Alle drei enthalten wichtige Systeminfos.

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 16.11.2008, 12:21

Hi Peter,

danke für Deine Antwort.

Ich sichere alle DB´s des SQL-Express.

Gruß
Mull

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 16.11.2008, 12:32

Hi,
mach ich zwar auch, weil es einfacher sit zu konfigurieren und man nicht daran denken muss neue Datenbanken in das BAckup zu klicken. Die Temp brauchst du aber nicht...

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 18.11.2008, 13:32

Hi,

nach ein paar Tagen dumpen, hat die VIM_UMDB 450MB erreicht. Die eigentliche VIM_UMDB.mdf hat 33MB und die VIM_UMDB.ldf hat 70MB.

Wie kanns sein, dass der Dump so groß ist?

Gruß
Mull

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 18.11.2008, 16:41

Hi,
lass mal eine Cleanup Task und einen Datenbankverkleinerungstask laufen. Das Hilft normalerweise.

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 18.11.2008, 17:14

Hi Peter,

im Management Studio kann ich mit rechter Maustaste auf die Datenbank unter "Tasks" --> "Verkleinern" folgendes ausführen: Datenbank - Dateien.

Meinst Du das?

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 18.11.2008, 17:42

Hi,
am besten planst du einen Wartungplan (im Management Studio unter Verwaltung/Wartungsplan) einen neuen anlegen. Dort die beiden Tasks Verlaufscleanup und Datenbank verkleinern reinpacken und konfigurieren.

1. Verlaufscleanup
- Verbindung zum DB Server konfigurien wenn es nicht lokal ist (Management und Datenbank auf selbem Server liegen)
- am besten alle 3 Optionen anhacken
- Zeitraum auszählen

2. Datenbank verkleinern
- Verbindung zum DB Server konfigurien wenn es nicht lokal ist (Management und Datenbank auf selbem Server liegen)
- Datenbanken auswählen (ich nehme hier immer alle!)
- Speicherplatz an OS zurückgeben auswählen, sonst siehst du nicht das die Dateien kleiner werden.

Zum schluss den Zeitplan für der Wartungplan einrichten und am besten direkt einmal laufen lassen.

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 18.11.2008, 21:42

Hi Peter,

unter der Verwaltung kann ich nix mit Wartungsplan finden. Ich nehme an Du verwendest den "richtigen" SQL-Server. Ich hingegen den SQL Express.

Wenns geht, müsste ich die zwei Task skripten und per Batch mit SQLCMD aufrufen, wie ich es mit den Dump-Jobs mache.

Gruß
Mull

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 18.11.2008, 22:12

Hi,
ja du hast recht ich benutze eine SQL 2005 Server.Aber ein kleiner Tipp bei MS das Managment Studio vom Server runterladen das ist Free. Das auf deinem Desktop installieren, dann kannst du die Wartungspläne einfach einrichten.

Das mit der Express Version zu machen ist echter Fummelkram!

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 19.11.2008, 18:56

Hi Peter,

das Management Studio für den großen Bruder des SQL Express 2005 kann ich nirgends zum Download finden.

Hast Du evtl. einen Link für mich. Ich lade mir jetzt mal die Testversion vom SQL 2005 runter. Mal sehen ob da was dabei ist.

Gruß
Mull

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 20.11.2008, 13:35

Hi,
in der Testversion ist die dabei einfach nur die Management Tools installieren. Sorry da ich eine Version über den SQL Server auf meiner Kiste habe habe ich auch noch nie versucht ide einzeln runterzuladen. Ein Kollege hat mir nur den Tip gegeben, dass amn damit auch die Express Version super administrieren kann.

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 20.11.2008, 13:41

OK. Ich probiere es nochmal. Bei meinem gestrigen Versuch konnte ich bei der Serverinstallation keine Auswahl treffen, nur die MGM-Tools zu installieren.

Gruß

Member
Beiträge: 196
Registriert: 05.09.2007, 09:02

Beitragvon chrish » 21.11.2008, 15:51

PeterDA hat geschrieben: Ein Kollege hat mir nur den Tip gegeben, dass amn damit auch die Express Version super administrieren kann.

Gruß Peter

Klappt das bei euch? Also ich bekomme keine Verbindung zustande.

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 21.11.2008, 16:27

Hi,
ich konnte es noch nicht testen. Zudem ist heute mein neuer AMD Phenom Prozessor eingetroffen und ich sitze gerade an WS 6.5 mit ESX 3.5. Endlich krieg ich das mal zu Laufen.

Dann werde ich mich intensiv mit der Thematik MS SQL Express und Sicherung beschäftigen. Hab mir dazu auch schon Bücher usw. besorgt. Vielleicht kommt was gescheites dabei raus, dann schreib ich ein How-To und stells hier mal ein.

Gruß
Mull

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 22.11.2008, 08:42

Hi,
sorry ich war mit meinem Tipp wohletwas schnell. :oops: Habe mir das ganze gestern mal angeschaut. Um sich auf der Kiste anzumelden muss man 2 Dinge machen.

1. die Remote Anmeldung am SQL 2005 Express freischalten
2. einen Benutzer zur Admin Gruppe hinzufügen.

Das geht alles über dieses "komisch" Konfigurationstool.

Dannach kann man sich mit der Kiste verbinden.
Ich musste dann aber feststellen das es die Planung für die Wartungspläne dann nicht gibt. Ich hatte keine SQL Express von einem VCenter sondern nur eine von einem HP Webjetadmin. Ich ich nehme jedoch an, dass das vom SQL Express identisch ist.
Da man also scheinbar keine Wartungpläne per klick GUI erstellen kann muss man das wohl per T-SQL machen. Ich schau mir das die nächsten Tage noch mal an und versuche ein Script zu posten.

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 22.11.2008, 17:48

Hi Peter,

unten habe ich jetzt mal meine erste Version eines vollständigen Backup-Skriptes angefügt. Es werden alle Datenbanken außer die temdb gesichert. Es erfolgt jeweils eine Vollsicherung und anschließend die Sicherung der Transaktionsprotokolle.
Die vorherigen Sicherungen bleiben erhalten und werden nicht gelöscht. Hier bitte Vorsicht: Die Dateigröße der Sicherungen können schnell anwachsen.
Die Transaktionsprotokolle der "master"-DB werden nicht gesichert, dies ist auch lt. Microsoft nicht möglich.

Eine Rücksicherung auf dem Server habe ich getestet mit Erfolg. Durch das Backup der Transaktionsprotokolle verliert man auch keine Daten, die noch nicht "richtig" in die DB geschrieben worden sind.

Bei einer Rücksicherung auf einem neuen Server (Name und IP identisch) erhalte ich jedoch eine Fehlermeldung. Dies funktioniert noch nicht. Daran muss ich noch arbeiten.

Gruß
Mull

Code: Alles auswählen

--Skript zur Sicherung der SQL-Serverdatenbanken
--eines Virtual Center Servers mit SQL-Express 2005.
--Vollsicherungen inkl. Transaktionsprotokollen.
--Hinweis:
--Der jeweilige Speicherort unter TO DISK ist anzupassen!!!
--Vorherige Sicherungen werden nicht gelöscht!!!
--
--MM 22/11/2008

ALTER DATABASE VIM_VCDB
SET RECOVERY FULL
GO
BACKUP DATABASE VIM_VCDB
TO DISK = 'C:\Backup\VIM_VCDB.bak'
WITH NAME = 'VIM_VCDB-Full Database Backup',
SKIP,
NOUNLOAD,
STATS = 10
GO
BACKUP LOG VIM_VCDB
TO DISK = 'C:\Backup\VIM_VCDB.bak'
WITH NAME = 'VIM_VCDB-Transaction Log Backup',
SKIP,
NOUNLOAD,
STATS = 10

ALTER DATABASE VIM_UMDB
SET RECOVERY FULL
GO
BACKUP DATABASE VIM_UMDB
TO DISK = 'C:\Backup\VIM_UMDB.bak'
WITH NAME = 'VIM_UMDB-Full Database Backup',
SKIP,
NOUNLOAD,
STATS = 10
GO
BACKUP LOG VIM_UMDB
TO DISK = 'C:\Backup\VIM_UMDB.bak'
WITH NAME = 'VIM_UMDB-Transaction Log Backup',
SKIP,
NOUNLOAD,
STATS = 10

ALTER DATABASE master
SET RECOVERY FULL
GO
BACKUP DATABASE master
TO DISK = 'C:\Backup\master.bak'
WITH NAME = 'master-Full Database Backup',
SKIP,
NOUNLOAD,
STATS = 10

ALTER DATABASE model
SET RECOVERY FULL
GO
BACKUP DATABASE model
TO DISK = 'C:\Backup\model.bak'
WITH NAME = 'model-Full Database Backup',
SKIP,
NOUNLOAD,
STATS = 10
GO
BACKUP LOG model
TO DISK = 'C:\Backup\model.bak'
WITH NAME = 'model-Transaction Log Backup',
SKIP,
NOUNLOAD,
STATS = 10

ALTER DATABASE msdb
SET RECOVERY FULL
GO
BACKUP DATABASE msdb
TO DISK = 'C:\Backup\msdb.bak'
WITH NAME = 'msdb-Full Database Backup',
SKIP,
NOUNLOAD,
STATS = 10
GO
BACKUP LOG msdb
TO DISK = 'C:\Backup\msdb.bak'
WITH NAME = 'msdb-Transaction Log Backup',
SKIP,
NOUNLOAD,
STATS = 10

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 23.11.2008, 21:13

Hi,
das sieht doch gut aus! Was man sich jedoch je nach Backupstrategie überlegen sollte ist auf welchen Level man das Wiederherstellungsmodell einstellt. Will man immer nur die gesamte DB wiederherstellen unabhängig von einzelnen einträgen sollte man schauen, dass in der Datenbank unter Eigenschaften/Optionen das Wiederherstellungsmodell auf Einfach steht. Dann werfen die Transaktionslogs auch nicht so riessig.

Was ich vor dem sichern immer mache ist zum einen einen Verlaufscleanup und eine Datenbankverkleinerung durchzuführen.

Ich habe gerade mal geschaut wie das T-SQL für die beiden aussieht

1. Verlaufscleanup

Code: Alles auswählen

declare @dt datetime select @dt = cast(N'2008-10-26T21:08:50' as datetime) exec msdb.dbo.sp_delete_backuphistory @dt
GO
EXEC msdb.dbo.sp_purge_jobhistory  @oldest_date='2008-10-26T21:08:50'
GO
EXECUTE msdb..sp_maintplan_delete_log null,null,'2008-10-26T21:08:50'


2. Datenbankverkleinerung

Code: Alles auswählen

DBCC SHRINKDATABASE(N'DATENBANKNAME', 10, TRUNCATEONLY)


Ich hoffe das hilft dir weiter!

Gruß Peter

Member
Beiträge: 79
Registriert: 12.03.2008, 14:59

Hilfe : VIM_VCDB' is full

Beitragvon 4huf_1 » 26.11.2008, 09:14

Hallo

Ich hab am 24.11. das Backup-Script von oben von mullfreak laufen lassen und das hat auch funktioniert.
Heute kann ich mich nun nicht mehr am Virtualcenter anmelden.
Im Eventlog steht
"The transaction log for database 'VIM_VCDB' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases "


Leider hab ich von SQL nicht wirklich Ahnung.
Was hat das Skript an meiner bis dahin funktionieren Datenbank verändert ?
Wie bekomme ich das wieder gerade gebogen ?
Ich hab zwar ein wenig gegoogelt, aber außer das das Recovery-Model vorher vermutlich "simple" war nichts so richtig gefunden.


Als SQL-Server läuft der SQL 2005 Express.

Danke Ronald

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 26.11.2008, 09:27

Hi 4huf_1
das Backupskript hat nichts an deiner Datenbank geändert! Sie ist einfach voll und für den SQL 2005 Express gibt es ja Größernbeschränkungen für die Datenbank.

Du must jetzt einen Cleanuptask laufen lassen und dann am besten auch die Datenbank verkleinern damit du den Platz wieder auf der Platte freibekommst. Das zweite muss du aber nicht machen, dann ist in der Datenbank zwar Platz, die Datei ist aber weiterhin maximal groß.

Wichtig wäre in diesem Zusammenhang auch mal gleich zu schauen auf was das Wiederhgerstellungsmodell steht. Steht es auf "vollständig" wird dir die Datenbank wieer sehr schenll voll laufen.

Gruß Peter

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 26.11.2008, 09:30

Hi,

wie Peter schon sagte, das Skript verändert nichts an der DB. Peter hat es auch schon erwähnt, mit:
USE [VIM_VCDB]
GO
DBCC SHRINKDATABASE(N'VIM_VCDB', 10, TRUNCATEONLY)
GO

die Datenbank zu "shrinken".

Dieses hab ich in mein Skript (noch) nicht eingebaut.

Bitte führe mal ein Cleanuptask aus.

Gruß
Mull

Profi
Beiträge: 683
Registriert: 08.11.2005, 14:48

Beitragvon mullfreak » 26.11.2008, 09:32

Hi,

hier stehen auch noch ein paar Grundinfo´s:
http://support.microsoft.com/kb/873235

Gruß
Mull

Member
Beiträge: 79
Registriert: 12.03.2008, 14:59

Beitragvon 4huf_1 » 26.11.2008, 09:59

Hi, Danke für die Antwort
Leider führt
USE [VIM_VCDB]
GO
DBCC SHRINKDATABASE(N'VIM_VCDB', 10, TRUNCATEONLY)
GO

zu dieser Fehlermeldung

DBCC SHRINKDATABASE: File ID 1 of database ID 5 was skipped because the file does not have enough free space to reclaim.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Im Filesystem ist ausreichend Platz.

Was mit dem "Cleanuptask" gemeint ist weis ich leider nicht.
Im Objektexplorers des SQL-Studions, Datenbankname/Rechtsklick/Task gibt es nur
"Shrink/Database", "Shrink/Files", "Back up" und "Restore".

MfG Ronald


Zurück zu „ESX 3 & ESXi 3“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste