Restore - Dateiwiederherstellung automatisieren

16/07/2008 - 14:36 von Ronny | Report spam
Hallo liebe Community,

ich hab ein Problem beim Restore einer Datenbank. Am besten beschreib ich
kurz das Scenario.

Zuerst hab ich ein Vollbackup mit TSQL durchgeführt und eine bestimmte
Datenbank gesichert. Ich nenn sie zur Vereinfachung einfach mal "test".
Jetzt möchte ich dieses Backup in einer anderen MSSQL Installation
wiederherstellen. Und zwar auch mit TSQL.

RESTORE DATABASE Test
FROM DISK =
'\\myPC\freigabe\test_full\2008_7_15_14_16_10_340035625#Test.full'
WITH FILE=1, RECOVERY;

Dabei kommt immer ein Betriebssystemfehler, dass die entsprechende Test.mdf
Datei nicht gefunden werden kann. Es funktioniert jedoch, wenn ich noch
folgendes hinzufüge:
MOVE 'Test' TO 'c:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\Test.mdf',
MOVE 'Test_log' TO 'c:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\Test_log.ldf';

Soweit so gut. Nun zwei Fragen dazu:

1. Kann man die Pfade relativ angeben? Also dass ich sowas wie MOVE ... TO
'Test.mdf' angebe?
2. Was mir allerdings viel wichtiger wàre, wàr es die ganze Sache weiter zu
verallgemeinern. Kann man die Dateien irgendwie automatisch aus dem Backup
anlegen lassen? Also das eine entsprechende MDF Datei automatisch angelegt
wird? Und, sollte ein Log vorhanden sein, dass dieses auch automatisch
erstellt wird? Wenn ich z.B. nicht genau weiß, wie die Log-Datei hieß,
könnte das doch zu Problemen führen. Bspw. wenn das Log Test_mylog.ldf hieß
und ich es mit MOVE ... TO zu Test_log.ldf wiederherstellen lasse, oder?

Also was ich im Grunde suche ist eine Art automatisierte Erzeugung der
Datendatei (inkl. eventuelles Log) aus dem Backup.

Danke für die Hilfe,
MFG,
Ronny
 

Lesen sie die antworten

#1 Berni210
16/07/2008 - 15:03 | Warnen spam
Moin,

Backups funktionieren nur von lokalen Laufwerken - zumindest in der
"Standardinstallation". Ob man dies irgendwie umstellen kann hab ich noch
nicht erforscht.
Zweitens ist mir aufgefallen, daß du deine Datenbankdateien im
Standardverzeichnis anlegt - sind schon Leute für weniger erschossen worden
;o)) - lieber auf einer anderen Platte anlegen.
Was du mit Automatisierung meinst ist mir nicht ganz klar. Du hast doch den
befehl selbst da stehen und den kannst du natürlich innerhalb eines
Wartungsplanes automatisch ausführen lassen.

Gruß

Bernd

"Ronny" wrote:

Hallo liebe Community,

ich hab ein Problem beim Restore einer Datenbank. Am besten beschreib ich
kurz das Scenario.

Zuerst hab ich ein Vollbackup mit TSQL durchgeführt und eine bestimmte
Datenbank gesichert. Ich nenn sie zur Vereinfachung einfach mal "test".
Jetzt möchte ich dieses Backup in einer anderen MSSQL Installation
wiederherstellen. Und zwar auch mit TSQL.

RESTORE DATABASE Test
FROM DISK =
'\\myPC\freigabe\test_full\2008_7_15_14_16_10_340035625#Test.full'
WITH FILE=1, RECOVERY;

Dabei kommt immer ein Betriebssystemfehler, dass die entsprechende Test.mdf
Datei nicht gefunden werden kann. Es funktioniert jedoch, wenn ich noch
folgendes hinzufüge:
MOVE 'Test' TO 'c:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\Test.mdf',
MOVE 'Test_log' TO 'c:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\Test_log.ldf';

Soweit so gut. Nun zwei Fragen dazu:

1. Kann man die Pfade relativ angeben? Also dass ich sowas wie MOVE ... TO
'Test.mdf' angebe?
2. Was mir allerdings viel wichtiger wàre, wàr es die ganze Sache weiter zu
verallgemeinern. Kann man die Dateien irgendwie automatisch aus dem Backup
anlegen lassen? Also das eine entsprechende MDF Datei automatisch angelegt
wird? Und, sollte ein Log vorhanden sein, dass dieses auch automatisch
erstellt wird? Wenn ich z.B. nicht genau weiß, wie die Log-Datei hieß,
könnte das doch zu Problemen führen. Bspw. wenn das Log Test_mylog.ldf hieß
und ich es mit MOVE ... TO zu Test_log.ldf wiederherstellen lasse, oder?

Also was ich im Grunde suche ist eine Art automatisierte Erzeugung der
Datendatei (inkl. eventuelles Log) aus dem Backup.

Danke für die Hilfe,
MFG,
Ronny


Ähnliche fragen