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

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

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

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

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

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


person roman m    schedule 22.12.2010    source источник


Ответы (2)


Похоже, вам нужно переместить данные из вторичного 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
person p.campbell    schedule 22.12.2010
comment
пришлось сделать это дважды (1 для mdf и 1 для ldf), и это сработало. Кроме того, перед сжатием и удалением файла журнала необходимо создать резервную копию журнала транзакций. - person roman m; 22.12.2010

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

Вы не можете изменить количество файлов при восстановлении базы данных, но можете указать, куда восстанавливаются файлы. Ознакомьтесь с командой ВОССТАНОВИТЬ БАЗУ ДАННЫХ, ПЕРЕМЕЩЕНИЕ вариантов.

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

person bobs    schedule 22.12.2010