Проблемы
Рассмотрим следующий сценарий.
-
У вас есть база данных Microsoft SQL Server 2012 или более ранней версии с несколькими файловыми группами, а вторичная файловая группа является файловой группой по умолчанию.
-
Резервная копия базы данных, а затем ее восстановление на сервере SQL Server 2014.
-
Вы задаете первичную файловую группу как файловую группу по умолчанию, а затем попробуем удалить вспомогательную файловую группу.
В этом случае вы не можете удалить вторичную файловую группу, даже если удаляются все файлы данных. В сообщении об ошибке показано, что вторичная файловая группа не может быть удалена, так как она не пуста.
Причина
Проблема возникает из-за того, что при обновлении версии базы данных в SQL Server 2014 создаются системные объекты в файловой группе по умолчанию, а не в первичной файловой группе. Дополнительная файловая группа по-прежнему включает некоторые системные объекты.
Решение
Это исправление содержит флаг трассировки 3861 для перемещения системных таблиц в первичную файловую группу. После установки исправления, описанного в этой статье, при запуске SQL Server с помощью флага трассировки 3861 в качестве параметра запуска он может переместить системные таблицы в первичную файловую группу. Если вы еще не восстановили резервную копию базы данных, вы можете включить флаг трассировки на уровне сервера:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 4 для SQL Server 2014 /en-us/help/2999197
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".