ИСПРАВЛЕНИЕ: Ошибка 644 или 8646 может возникать во время удаления или обновления данных таблицы, содержащей столбец в кодировке Юникод с сортировкой Latin1_general_bin

Переводы статьи Переводы статьи
Код статьи: 822747 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Во время обновления может возникнуть ошибка 644 или 8646 или удалить операции в таблице, содержащей столбец в кодировке Юникод с Параметры сортировки Latin1_General_BIN параметров сортировки. Сообщение об ошибке, которое будет доступно в SQL Журнал ошибок сервера — это:

Ошибка: 644, уровень серьезности: 21, состояние: 5
Не удалось найти запись индекса для «1613b1000000100» RID страницы индекса (1:189), индексирование с кодом 7, база данных "testdb"...
Ошибка: 8646, уровень серьезности: 21, состояние: 1
Элемент индекса для строки с Идентификатором не найден в индекс 7 идентификатор таблицы 2009058193 в базе данных «test644»...

Дополнительная информация

При условии, что при возникновении проблемы, описанные в данном статьи, перед установкой исправления, описанные в данном разделе, выполнение инструкции DBCC Инструкция CHECKDB не сообщит о любых ошибок, связанных с типом индекса повреждения, описанного в этой статье. Эти ошибках после установки исправление. CHECKDB ошибок, может появиться после установки исправления может быть Аналогично:

Сервер: Сообщение 2511, уровень 16, состояние 1, Линия 1
Ошибка таблицы: объект 2009058193 ID, 7 идентификатор индекса. Порядок на ключи страницы (1:189), 184 и 185.

Примечание В этом примере конкретной ошибки, связанной с некластеризованный индекс. Тем не менее эта проблема также относится к кластеризованным индексам.

После того как вы примените исправление и выполните инструкцию DBCC CHECKDB, если вы видите ошибки сообщения, сходного с указанного выше в этой статье необходимо перестроить Индекс в таблице, указанных в сообщении об ошибке, чтобы устранить повреждение.

Чтобы убедиться, что 644 при возникновении ошибки связана с проблема, описанная в данной статье базы знаний, можно использовать один из следующие два метода:

Способ 1

Этот метод выполните следующие действия.
  1. Примените исправление, указанное в этой статье на тестовом сервере.
  2. Резервную копию рабочей базы данных (ту, которая является возникновение ошибок 644 повреждения индекса), а затем восстановите резервную копию на тестовый сервер.
  3. Выполните инструкцию DBCC CHECKDB с восстановленной базы данных на тест сервер.
  4. Выполните инструкцию DBCC CHECKDB в одной базе данных рабочий сервер.
Если CHECKDB на тестовом сервере показаны ошибки, которые не отображаются в CHECKDB результатом рабочего сервера, а затем можно проследить, что вы При возникновении ситуации, описанной в этой статье.

Способ 2

Этот метод выполните следующие действия.
  1. Определите все таблицы в соответствующей базе данных, имеющих Индекс столбца Юникод с параметрами сортировки, параметры сортировки Latin1_General_BIN.
  2. Если такая таблица существует, выполните следующий запрос с теми таблицы и посмотреть, нет ли все строки, квалифицировать этот запрос:
    DECLARE @i INT
    SET @i = 1
    WHILE @i < 32
    BEGIN	
       SELECT @i, * FROM <TableName> WHERE <IndexedColumnName> LIKE N'%' + nchar(@i) + N'%' 
       SET @i = @i + 1
    END
    
    Если в любой уточнения результатов запроса строки, затем возможность возникновение данной ситуации высокий (но не гарантирует еще).
  3. Чтобы убедиться, что возможно, существуют неполадки, запустите Следующая команда DELETE для строк, которые полные из запрос:
    BEGIN TRAN
    DELETE FROM <TableName> WHERE <IndexedColumnName> = <Value>
    ROLLBACK TRAN 
    При выполнении запроса приводит к возникновению ошибки 644, затем определения Индекс, который произошел форма повреждения, описанные в данном в статье.

После того как вы убедитесь, что проблема описанные в данной статье, выполните следующие действия для решения этой проблемы.
  1. Применить исправление, описанное в этом знаний в статье.
  2. После установки исправления выполните инструкцию DBCC CHECKDB на уязвимые База данных. При этом следует сообщать повреждения индекса, связанные с ошибки.

Эти сообщения об ошибках позволит получить информацию о Индекс поврежден. Можно использовать эту информацию для перестроения уязвимой индексы.

Решение

Сведения о пакете обновления

Чтобы устранить эту проблему, получите последний пакет обновления для Microsoft SQL Server 2000. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
290211 Как получить последний пакет обновления для SQL Server 2000

Сведения об исправлении

Английский версия данного исправления содержит атрибуты файлов (или более поздней версии), приведенные в в приведенной ниже таблице. Дата и время для этих файлов указаны в координируемых времени (UTC). При просмотре сведений о файле, он преобразуется в местное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать Часовой пояс вкладку Дата и время на панели управления.
   Date         Time   Version         Size             File name
   --------------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400 bytes  Console.exe      
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432 bytes  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296 bytes  Distmdl.mdf
   30-Jan-2003  01:55                        180 bytes  Drop_repl_hotfix.sql
   23-Jun-2003  22:40  2000.80.837.0   1,557,052 bytes  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552 bytes  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927 bytes  Instdist.sql
   03-May-2003  01:56                      1,581 bytes  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll      
   01-Apr-2003  02:07                      1,873 bytes  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024 bytes  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144 bytes  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904 bytes  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104 bytes  Pfutil80.dll     
   22-May-2003  22:57                     19,195 bytes  Qfe469571.sql
   12-Jun-2003  16:37                  1,083,989 bytes  Replmerg.sql
   04-Apr-2003  21:53  2000.80.798.0     221,768 bytes  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll      
   05-May-2003  00:05                  1,085,874 bytes  Replsys.sql
   01-Jun-2003  01:01  2000.80.818.0     492,096 bytes  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032 bytes  Semobj.rll
   29-May-2003  00:29                    115,944 bytes  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360 bytes  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172 bytes  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672 bytes  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736 bytes  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll     
   23-Jun-2003  22:40  2000.80.837.0   7,553,105 bytes  Sqlservr.exe     
   08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll       
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492 bytes  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148 bytes  Ssnmpn70.dll     
   01-Jun-2003  01:01  2000.80.818.0     158,240 bytes  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416 bytes  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132 bytes  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816 bytes  Xpweb70.dll      
				
Примечание Из-за зависимостей между файлами, последнего исправления или функция содержащий файлы могут также содержать дополнительные файлы.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в начале этой статьи. Сначала исправление этой проблемы появилось в пакете обновления 4 (Sp4) для SQL Server 2000.

Свойства

Код статьи: 822747 - Последний отзыв: 15 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
Ключевые слова: 
kbhotfixserver kbqfe kbsqlserv2000presp4fix kbfix kbbug kbmt KB822747 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:822747

Отправить отзыв

 

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