Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ознаки

Розглянемо такий сценарій:

  • У програмі Microsoft SQL Server 2014 є дві таблиці, а розділи першої таблиці зіставляються з різними файлами та filegroups за допомогою тієї самої схеми й функції розділу.

  • Ви перемикаєте один із цих розділів до другої таблиці, а потім Скоротіть другу таблицю.

  • Ви перетягуєте файли та групи filegroups, які зіставляються з розділом, що переключається.

  • Під час другої таблиці запускається оператор SELECT.

У цьому сценарії з'являється таке повідомлення про помилку:

MSG 606, рівень 21, невідповідність стану 1Metadata. Ідентифікатор filegroup<ідентифікатором "Ідентифікатор _ групи ">, указаного для таблиці <ім'я таблиці> не існує. Запустіть DBCC CHECKDB або CHECKDB.

Під час запуску DBCC CHECKDB або CHECKDB з'являється таке повідомлення про помилку:

Не вдається обробити <індексування> таблиці <TableName> через те, що файл FileGroup (ідентифікатор Filegroup <filegroteномер>) неприпустимий.

Спосіб вирішення

Цю проблему вирішено в таких сукупних поновленнях SQL Server:

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Радимо завантажити та інсталювати найновіші накопичувальне оновлення для сервера SQL Server:

Примітка. Це виправлення запобігає лише майбутнім поясам цієї проблеми. Якщо ви вже зіткнулися з цією проблемою, експортуйте дані до нової бази даних без пошкодження наявних метаданих. Для цього виконайте описані нижче дії.

  1. Щоб визначити, чи є розділ неприпустимим груповою групою, виконайте наведений нижче запит, щоб побачити, чи повертає результат:

    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Зробіть таблицю з корупцією для метаданих, які можна переглянути знову. Якщо запит від кроку 1 повертає результат, розділ із пошкодженими метаданими перешкоджає перегляду (Select * from) будь-яких рядків у таблиці. Щоб вирішити цю проблему, видаліть цей поганий розділ.Примітка. Хибний розділ має бути пустим. В іншому разі файли та групи filegroup, які не вдалося видалити або видалено, не можна було видаляти. Щоб зробити це, перетягніть цей розділ в іншу таблицю, яка використовує ту саму схему розмітки. Ця таблиця може бути просто підставної таблиці. Використовуйте container_id з запиту на кроці 1, і Зіставте його з partition_id з sys. для розділів. (Переконайтеся, що ви відзначаємо partition_number.) За допомогою partition_number можна виконати розділ "змінити перемикач ТАБЛИЦІ" з таблиці, яка не відображається в підставній таблиці. У підставній таблиці має бути однаковий набір стовпців і використано таку саму схему розділу. Ваш запит для пошуку неузгодженого розділу може нагадувати наступне:

    SELECT au.container_id, au.data_space_id, p.partition_number FROM sys.partitions AS p JOIN sys.allocation_units AS au ON p.partition_id = au.container_id LEFT JOIN sys.filegroups AS fgs ON fgs.data_space_id = au.data_space_id WHERE object_id = OBJECT_ID('MyTableName') AND fgs.data_space_id IS NULL;
  3. Скопіюйте дані з попередньої невідображаної таблиці в нову базу даних.

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×