1

Ich habe eine .bak-Datei (SQL Server 2008), die 2 MDF- und 2 LDF-Dateien enthält.Wie stelle ich die Datenbank mit 2 MDF- und 2 LDF-Dateien wieder her, wobei nur 1 MDF/LDF-Paar übrig bleibt?

Wenn ich versuche, eine Datenbank daraus wiederherzustellen, erstellt es alle 4 dieser Dateien.

Ich habe das noch nie zuvor gesehen und fragte mich, wie ich zum guten alten 1 Dateipaarsystem (1 MDF/1 LDF) gehe?

Jede Einsicht in 2 Dateipaare, die sich in der Sicherung befinden, hilft ebenfalls.

P. S .: mein Setup keine Ndf Dateien hat, sind beide Mdf

Antwort

2

Es klingt wie Sie müssen die Daten von der sekundären MDF (ist es nicht ndf?) In die erste verschieben. Dies alles setzt voraus, dass Sie die Wiederherstellung durchgeführt haben.

Nehmen wir an, Ihre 2 Dateien sind m1 und m2.

Verwenden Sie DBCC SHRINKFILE, um Ihr ndf zu verschieben und zu leeren.

--move all data out of this file 
DBCC SHRINKFILE ('m2', EMPTYFILE) 

Sie werden wahrscheinlich SQL Server in single user mode neu starten. (source)

--if trying to delete LDF file, do a Transaction log backup of your DB now 

--remove this file from the 
ALTER DATABASE DB_NAME_HERE_NO_QUOTES REMOVE FILE m2 
+0

Es ist NICHT NDF es Mdf ... –

+0

hatte diese zweimal zu tun (1 für MDF- und 1 für LDF) und es funktionierte. Außerdem ist eine Transaktionsprotokollsicherung erforderlich, bevor die Protokolldatei verkleinert und entfernt wird. –

1

Verwendung mehrerer Dateien in einer Datenbank, um die Datenbank über Laufwerke mehrere Datenträger hilft zu verteilen.

Sie können die Anzahl der Dateien beim Wiederherstellen der Datenbank nicht ändern, aber Sie können angeben, wo die Dateien wiederhergestellt werden. Überprüfen Sie den RESTORE DATABASE Befehl MOVE Optionen.

Nach der Datenbankwiederherstellung können Sie Datenbankdateien entfernen. Sie müssen die Datei mit der Option auf empty file verkleinern. Dann können Sie die Datei mit dem Befehl ALTER DATABASE löschen.