Исправление: Ad Hoc доступа разрешено неправильно, если отсутствует раздел реестра DisallowAdhocAccess

Переводы статьи Переводы статьи
Код статьи: 328569 - Vizualiza?i produsele pentru care se aplic? acest articol.
ОШИБКА #: 361943 (SHILOH_BUGS)

ОШИБКА #: 102857 (SQLBUG_70)
Развернуть все | Свернуть все

Проблема

При настройке поставщика OLE DB для использования SQL Server распределенные запросы, число разделов реестра, определяют, как SQL Server пытается использовать поставщика. Эти параметры описаны в следующем разделе документации по SQL Server:
  • Настройка поставщиков OLE DB для распределенных запросов
Один из следующих вариантовDisallowAdhocAccess, управляет ли пользователю не sysadmin разрешено использовать функции OPENROWSET или OPENDATASOURCE функции. Если поставщик OLE DB, доступных на компьютере, но отсутствует соответствующий раздел реестра, указанные для данного поставщика, SQL Server неправильно позволяет пользователю получить доступ к поставщику с помощью функции OPENDATASOURCE или OPENROWSET не sysadmin. В отсутствие раздела реестра по умолчанию должен быть запрещен доступ.

После установки исправления, описанного в этой статье, когдаDisallowAdhocAccessзначение не существует для указанного поставщика, не sysadmin запросы используют функции OPENROWSET или OPENDATASOURCE завершаться следующее сообщение об ошибке:
Сервер: Сообщение 7415, уровень 16, состояние 1, строка 1
Нерегламентированный доступ к поставщику OLE DB "CustomOLEDBProvider" запрещен. Необходимо получить доступ к этому поставщику через связанный сервер.

Решение

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

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в начале данной статьи..
SQL Server 2000
Во-первых, этой проблемы появилось в SQL Server 2000 с пакетом обновления 3.

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

ИзначальноDisallowAdhocAccessраздел реестра не существует в SQL Server 7.0, тем не менее, он был добавлен в SQL Server 7.0 с пакетом обновления 2 (SP2). Для обеспечения обратной совместимости при отсутствии этого ключа, SQL Server 7.0 по-прежнему обеспечивает доступ через поставщика SQLOLEDB, так как удаленный сервер будет сначала проверки можно с помощью предоставленных учетных. По умолчанию включают установку SQL Server 2000DisallowAdhocAccessключ (таким образом, предоставляя доступ). При удалении раздела реестра для поставщика SQLOLEDB при установке SQL Server 2000 запрещает доступ, как для любого другого поставщика.

Если известно, поставщик соблюдать передаваемые сведения для проверки подлинности и нерегламентированный доступ для пользователей, не sysadmin не требуется, этот раздел реестра обязательно должен присутствовать, после применения исправления. В следующем разделе реестра можно найти записи для каждого поставщика

HKEY_LOCAL_MACHINE\Software\Microsoft\имя_экземпляра> \Providers\Имя поставщика>
гдеимя_экземпляра> — Это имя экземпляра SQL Server (MSSQLServer для экземпляра по умолчанию) иИмя поставщика> — Имя поставщика OLE DB, указанный в функции OPENROWSET или OPENDATASOURCE функции.

Свойства

Код статьи: 328569 - Последний отзыв: 24 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Ключевые слова: 
kbhotfixserver kbqfe kbbug kbfix kbsqlserv2000presp3fix kbsqlserv2000sp3fix kbmt KB328569 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:328569

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

 

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