"Msg 8992" протокол IMAP про помилку і непослідовним метаданих SQL сервер каталогів

Переклади статей Переклади статей
Номер статті: 2787112 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

На цій сторінці

Ознаки

Можуть виникнути такі проблеми веб-сервера Microsoft SQL Server.

Випуск 1

Припустимо, створити неузгодженість у метаданих системи під Вільний час вручну оновлення системних таблиць у базі даних SQL Server. Потім ви спробуйте виконання DBCC CHECKDB команди з метою визначення невідповідностей у метаданих для системних таблиць. У цій ситуації повертається протокол IMAP про помилку:
MSG 8992, рівень 16, держава 1, рядок 1
Перевірити каталог Msg 3853, державний 1: Атрибут (referenced_object_id =ідентифікатор об'єкта>, key_index_id =Індекс ID>) з рядка (object_id =ідентифікатор об'єкта>) в sys.foreign_keys не має відповідного рядка (object_id =ідентифікатор об'єкта>, index_id =Індекс ID>) у sys.indexes.

Випуск 2

Під Вільний час оновлення системних таблиць в SQL server, з'являється попереджувальне протокол IMAP, подібне до такого:
Попередження: Системні таблиці IDТаблиці ID> Оновлено безпосередньо в базі даних IDІдентифікатор бази даних> і узгодженість кеша може не були збережені. Необхідно перезапустити SQL Server.
У цій ситуації якщо DBCC CHECKDB або DBCC CHECKCATALOG команда, попередження разом з дати і часу, змінених каталогів повертаються. Крім того, таке попередження також записується в журнал SQL Server:
Попередження: Системного каталогу оновлення було безпосередньо в базі даних IDІдентифікатор бази даних>, зовсім нещодавноВільний час журналу>.
Примітка. Ця інформація зберігається в заголовку бази даних і повторюється для життя бази даних.

причина

Ця проблема виникає тому, що SQL Server не підтримує ручного оновлення системних таблиць. Системні таблиці слід оновити лише обробника баз даних SQL Server.

Примітка. Можна переглядати дані в системних таблиць за допомогою системних подань каталогу.

Розв'язанн

Щоб вирішити цю проблему, використовуйте один з наступних методів.

Спосіб 1

Якщо у вас чисті архівувати бази даних, Відновити базу даних.

Примітка. Цей метод працює, тільки якщо архівувати не має невідповідності в метаданих.

Спосіб 2

Якщо базу даних не можна відновити з резервної копії, експортування даних і об'єктів до нової бази даних. Потім перенесення вмісту бази даних вручну оновлена до нової бази даних. Примітка.Не вдалося відновити невідповідностей каталогів за допомогою параметрів виправлення у DBCC CHECKDB команди. Таким чином, тому що команда не може виправити пошкодження метаданих, команду не надає будь-якого рівня Рекомендоване відновлення.

Додаткові відомості

Щоб отримати додаткові Відомості про систему центр радник правило, яке виявляє зміни, внесені до системи каталогів клацніть номер статті в базі знань Microsoft Knowledge Base:
2688307 Подія ID 17659 і подія ID 3859 в журналі в разі оновлення системних таблиць у базі даних SQL Server
У таблиці перелічено помилки, які вказують на невідповідності каталогів. Як правило такі помилки генерується разом з кодом помилки "8992".
Згорнути цю таблицюРозгорнути цю таблицю
Помилкатекстове протокол IMAP
3851Неприпустимий рядок (% ls) був знайдений в sys.%ls%ls таблиці системи
3852Рядок (% ls) у sys.%ls%ls не має відповідного рядка (% ls) у sys.%ls%ls.
3853Атрибут (% ls) рядок (% ls) у sys.%ls%ls не має відповідного рядка (% ls) у sys.%ls%ls.
3854Атрибут (% ls) рядок (% ls) у sys.%ls%ls має відповідний рядок (% ls) у sys.%ls%ls, є неприпустимим.
3855Атрибут (% ls) існує без рядка (% ls) у sys.%ls%ls.
3856Атрибут (% ls) існує, але повинні не для рядка (% ls) у sys.%ls%ls.
3857Атрибут (% ls) не потрібно, але не вистачає для рядка (% ls) у sys.%ls%ls.
3858Атрибут (% ls) рядок (% ls) у sys.%ls%ls має неприпустиме значення.
3859Попередження: Системного каталогу оновлення було безпосередньо в базі даних ID % d, нещодавно в % S_DATE.
Нижче наведено приклади з повідомлень про помилку, яке з'являється, коли ви відчуваєте ці питання:
Сервер: Msg 2513, рівні 16, держава 1, рядок 1
Настільний помилка: ідентифікатор об'єктаідентифікатор об'єкта> (об'єкт 'ідентифікатор об'єкта> ") не відповідає між 'SYSCOLUMNS' та 'SYSOBJECTS'.

MSG 3853, рівень 16, держава 1, рядок 2
Атрибут (object_id =ідентифікатор об'єкта>) з рядка (object_id =ідентифікатор об'єкта>, index_id =Індекс ID>) в sys.indexes не має відповідного рядка (object_id =ідентифікатор об'єкта>) у sys.objects.

MSG 3855, рівень 16, держава 1, рядок 2
Атрибут (data_space_id = 1) існує без рядка (object_id =ідентифікатор об'єкта>, index_id =Індекс ID>) у sys.indexes.

MSG 3852, рівні 16, держава 1, рядок 1
Рядок (object_id =ідентифікатор об'єкта>, index_id = 1) в sys.indexes (тип = U) не має відповідного рядка (клас = 0, objid =ідентифікатор об'єкта>, indexid =Індекс ID>, rowsetnum = 1) в sys.sysrowsetrefs.

MSG 3852, рівні 16, держава 1, рядок 1
Рядок (object_id =ідентифікатор об'єкта>, index_id = 1) в sys.indexes (тип = U) не має відповідного рядка (клас = 0, objid =ідентифікатор об'єкта>, indexid =Індекс ID>, rowsetnum = 1) в sys.sysrowsetrefs.

MSG 3853, рівень 16, держава 1, рядок 1
Атрибут (default_object_id =Об'єкт ID>) рядка (object_id =ідентифікатор об'єкта>, column_id =Ідентифікатор впорядкована стопка карт з чергуванням кольорів>) в sys.columns не має відповідного рядка (object_id =ідентифікатор об'єкта>) у sys.objects.

MSG 8992, рівень 16, держава 1, рядок 1
Перевірити каталог Msg 3853, державний 1: Атрибут (object_id =ідентифікатор об'єкта>) з рядка (object_id =ідентифікатор об'єкта>, column_id =Ідентифікатор впорядкована стопка карт з чергуванням кольорів>) в sys.columns не має відповідного рядка (object_id =ідентифікатор об'єкта>) у sys.objects.

Виконання DBCC завершено. Якщо DBCC повертає протокол IMAP про помилки, зверніться до системного адміністратора.
Крім того, може з'явитися на "Msg 211" протокол IMAP про помилку приблизно такого вигляду, якщо ви перевірити узгодженість базу даних, виконавши команду CHECKDB .
MSG 211, рівень 23, держава 230, рядок 1
Можливо, схема корупції. Виконання DBCC CHECKCATALOG.

MSG 0, рівня 20, стану 0, лінії 0
На нинішній команді сталася критична помилка. Результати, якщо такі є, повинні скасовано
Це протокол IMAP про помилку вказує, що каталогів містить неузгоджені метаданих.

Примітка.Якщо ви перевірити узгодженість бази даних, які було оновлено з SQL Server 2000, виконавши команду CHECKDB , команди можуть повертати помилку "8992" код і звіт про невідповідності каталогів. Причина в тому, що SQL Server 2000, команда DBCC CHECKDB не впливає на функціональність DBCC CHECKCATALOG команди. Таким чином, ви б не виявити ці питання в SQL Server 2000 якщо побіг команду DBCC CHECKCATALOG .

Щоб отримати додаткові відомості про сценарій виконання команди DBCC CHECKDB перейдіть на веб-сайт корпорації Майкрософт:
Загальна інформація про команду DBCC CHECKDB

Посилання

Щоб отримати додаткові відомості про проблеми, які можуть виникнути, коли таблицю SQL Server системи вручну оновити клацніть номер статті для перегляду статті в базі знань Microsoft Knowledge Base:

2688307 Подія ID 17659 і подія ID 3859 в журналі в разі оновлення системних таблиць у базі даних SQL Server


Властивості

Номер статті: 2787112 - Востаннє переглянуто: 4 лютого 2013 р. - Редакція: 3.0
Застосовується до:
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
Ключові слова: 
kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2787112 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 2787112

Надіслати відгук

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com