Ознаки
Нижче описано такий сценарій.
- У вас є база даних Microsoft SQL Server 2012 або попередньої версії, яка містить кілька груп файлів, і додаткова група файлів – це група файлів за замовчуванням.
- Ви створюєте резервну копію бази даних, а потім відновлюєте її на SQL ServerSQL Server 2014.
- Ви встановлюєте основну групу файлів як стандартну, а потім намагаєтеся видалити її.
У цьому сценарії не можна видалити допоміжну файлову групу, навіть якщо буде видалено всі файли даних у ній. У повідомленні про помилку вказано, що додаткову групу файлів не можна вилучити, оскільки вона не пуста.
Причина
Проблема виникає тому, що в результаті оновлення версії бази даних системні об'єкти створюються в стандартній групі файлів, а не в основній, у SQL Server 2014. Додаткова група файлів усе ще містить деякі системні об'єкти.
Спосіб усунення проблеми
У цьому виправленні запроваджено позначку трасування 3861 для переміщення системних таблиць до основної групи файлів.
Якщо після застосування виправлення, описаного в цій статті, під час запуску SQL Server з використанням параметра автозавантаження Trace Flag 3861 системні таблиці можуть переміщуватися в основну групу файлів.
Якщо резервну копію бази даних ще не відновлено, можна ввімкнути позначку трасування на рівні сервера:
dbcc traceon(3861,-1)
<Restore the database>
dbcc traceoff(3861,-1)
Вперше виправлено цю проблему в наступному сукупному оновленні SQL ServerSQL Server.
Сукупний пакет оновлень 4 за SQL Server 2014 р. /uk-ua/help/2999197
Відомості про сукупні оновлення для SQL ServerSQL Server
Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Перегляньте останні сукупні оновлення для SQL Server.
Стан
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".