Как восстановить базу данных с 2 mdf и 2 ldf файлами, оставив только 1 mdf / ldf пару? - PullRequest
1 голос
/ 22 декабря 2010

У меня есть файл .bak (SQL Server 2008), который содержит 2 файла mdf и 2 файла ldf.

Когда я пытаюсь восстановить базу данных из нее, он создает все 4 из этих файлов.

Я никогда не видел этого раньше, и мне было интересно, как перейти к старой доброй системе с 1 файловой парой (1 мдф / 1 лдф)?

Любое понимание двух пар файлов, находящихся в резервной копии, также поможет.

p.s .: в моей настройке нет файлов Ndf, оба Mdf

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Похоже, вам нужно переместить данные из вторичного mdf (не так ли ndf?) В первый.Все это предполагает, что вы сделали восстановление.

Допустим, ваши 2 файла m1 и m2.

Используйте DBCC SHRINKFILE для перемещения и опустошенияваш ndf.

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

Скорее всего, вам придется перезапустить SQL Server в однопользовательском режиме .( источник )

--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
1 голос
/ 22 декабря 2010

Использование нескольких файлов в базе данных помогает распределить базу данных по нескольким дискам.

Вы не можете изменить количество файлов при восстановлении базы данных, но вы можете указать, где файлы будут восстановлены. Проверьте команду RESTORE DATABASE , опции MOVE.

После восстановления базы данных вы можете удалить файлы базы данных. Вы должны сжать файл с параметром пустой файл . Затем вы можете удалить файл с помощью команды ALTER DATABASE .

...