Войти

Исправление: xp_enumgroups вызывает нарушение прав доступа при большой параметр передается

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

294338
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
ОШИБКА #: 351927 (SHILOH_BUGS)
Проблема
xp_enumgroupsПредоставляет список локальных групп Microsoft Windows NT или список глобальных групп, определенных в указанном домене Windows NT, предоставляемых параметром.

Если передается большой параметрxp_enumgroupsсоздается хранимая процедура, нарушение прав доступа и разрывает соединение с сообщениями об ошибках, выполните:
ODBC: Сообщение 0, уровень 19, состояние 1
SqlDumpExceptionHandler: 53 процесс создания неустранимое исключение c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server завершает этот процесс.

ODBC: Сообщение 0, уровень 20, состояние 1
Хранимые функции "xp_enumgroups" в библиотеке "xplog70.dll" возникает нарушение прав доступа. SQL Server завершается процесс 53.

Неработающие подключения
Если размер строки, передаваемых в качестве параметра гораздо больше, нарушение прав доступа останавливает службу SQL Server. Возникает сообщение об ошибке будет иметь вид:
[Microsoft][Драйвер ODBC SQL Server][DBMSLPCN]ConnectionCheckForData (CheckforData()).
Сервер: Сообщение 11, уровень 16, состояние 1, строка 0
Общий сбой сети.. Проверьте по документации сети.
Решение
Чтобы решить эту проблему, получите последний пакет обновления для SQL Server 2000. Дополнительные сведения см. в следующей статье базы знаний Майкрософт::
290211INF: Как получить последний пакет обновления для SQL Server 2000
Статус
Корпорация Майкрософт подтверждает, что это проблема в SQL Server 2000.Впервые эта проблема была исправлена в SQL Server 2000 с пакетом обновления 1 (SP1).
Дополнительная информация
Эта проблема возникает только если размер строки, которая вызываетсяxp_enumgroupsбольше, чем 228 байт. Точный текст сообщения об ошибке могут различаться в зависимости от размера передается строка.

Например если строка имеет 229 байт, отображает это сообщение об ошибке:
Сервер: Сообщение 3624, уровень 20, состояние 1, процедура xp_enumgroups, строка 1

Расположение: dbccdll.cpp:516
Выражение: pElem == поиска (pElem-> m_DLLName.m_str)
SPID: 51
Идентификатор процесса: 768

Неработающие подключения
Действия для воспроизведения поведения:

Можно использовать следующие воспроизвести проблему.

  • Чтобы вызвать нарушение прав доступа в том случае, используйте следующий код:
    xp_enumgroups 'Scanning directory [C:\*]Scanning directory [C:\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\*]Scanning directory [C:\cmdcons\*]Scanning directory [C:\*]'						
  • Чтобы вызвать нарушение прав доступа, а также привести к SQL Server для остановки службы используйте следующий код:
    xp_enumgroups 'Scanning directory [C:\*]Scanning directory [C:\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\*]Scanning directory [C:\cmdcons\*]Scanning directory [C:\*]Scanning directory [C:\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\*]Scanning directory [C:\cmdcons\*]Scanning directory [C:\*]'						

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 294338 — последний просмотр: 01/16/2015 22:08:46 — редакция: 2.0

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbbug kbfix kbsqlserv2000sp1fix kbmt KB294338 KbMtru
Отзывы и предложения