Удалить (объединить) вторичный файл данных базы данных SQL Server - PullRequest
13 голосов
/ 02 февраля 2010

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

Это вообще выполнимо?

Ответы [ 2 ]

14 голосов
/ 02 февраля 2010

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

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

Выполнить это:

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;
0 голосов
/ 03 февраля 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...