Удалить (объединить) файл вторичных данных базы данных SQL Server

У меня есть резервная копия базы данных, для которой SQL Server Management Studio говорит, что в ней есть три файла: файл .mdf, файл .ndf и один .ldf. Этот вторичный файл данных (.ndf один) был создан без какой-либо очевидной причины, поэтому я хочу полностью удалить его (без потери данных, конечно), желательно во время восстановления базы данных из резервной копии.

Это вообще возможно?

Ответы

Ответ 1

Хорошо, нашел решение.

Сначала создайте резервную копию базы данных.

Выполните следующее:

USE database_name;

Затем выполните это и замените logical_ndf_file_name логическим именем вашего файла NDF (который вы можете легко найти через Database- > Properties_Files):

DBCC SHRINKFILE('logical_ndf_file_name', EMPTYFILE);
ALTER DATABASE database_name REMOVE FILE logical_ndf_file_name;

Ответ 2

Я побежал пустым, а затем удалялся ndf во время загрузки продукта. Я думаю, что важно запустить drop ndf в той же транзакции, что и пустой, чтобы гарантировать, что база данных не пытается записать файл, который вы удаляете, но после того, как пустая база данных отмечает, что файлы непригодны для использования, подтверждается попыткой другого пустой shorty after.