CORRECÇÃO: Ad Hoc acesso permitido incorretamente se a chave de Registro DisallowAdhocAccess está ausente

Traduções deste artigo Traduções deste artigo
ID do artigo: 328569 - Exibir os produtos aos quais esse artigo se aplica.
BUG #: 361943 (SHILOH_BUGS)

BUG #: 102857 (SQLBUG_70)
Expandir tudo | Recolher tudo

Sintomas

Quando você configura um provedor OLE DB para uso para consultas distribuídas do SQL Server, um número de chaves do Registro estão disponíveis que controlam como o SQL Server tenta usar o provedor. Essas opções estão documentadas na seção seguinte de manuais online do SQL Server:
  • Configurando provedores OLE DB para consultas distribuídas
Uma dessas opções, DisallowAdhocAccess , controla se um usuário sysadmin não tem permissão para usar o OPENROWSET ou a função OPENDATASOURCE. Se um provedor OLE DB estiver disponível no computador mas não há nenhuma correspondente chave de registro especificado para este provedor, em seguida, SQL Server incorretamente permite ao não sysadmin usuário para acessar o provedor com a OPENROWSET ou a função OPENDATASOURCE. Na ausência de qualquer chave do Registro, o comportamento padrão deve ser negar acesso.

Depois de instalar a correção descrita neste artigo, quando o valor DisallowAdhocAccess não existe para o provedor especificado, solicitações de não-sysadmin para usar OPENROWSET ou OPENDATASOURCE falhar com a seguinte mensagem de erro:
Servidor: Mensagem 7415, nível 16, estado 1, linha 1
Acesso ad hoc ao provedor do OLE DB 'CustomOLEDBProvider' foi negado. Você deve acessar esse provedor através de um servidor vinculado.

Resolução

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211INF: Como obter o Service Pack mais recente do SQL Server 2000

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.
SQL Server 2000
Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 3.

Mais Informações

Inicialmente, a chave de registro DisallowAdhocAccess não existia no SQL Server 7.0; no entanto, ele foi adicionado no SQL Server 7.0 Service Pack 2. Para compatibilidade com versões anteriores, se essa chave estiver faltando, SQL Server 7.0 ainda permite acesso por meio do provedor SQLOLEDB porque o servidor remoto será primeiro autenticar você usando as credenciais de segurança fornecido. Por padrão, as instalações do SQL Server 2000 incluem a chave DisallowAdhocAccess (portanto, permitindo acesso). Se a chave do registro é removida para o provedor SQLOLEDB em uma instalação do SQL Server 2000, ela nega o acesso como faria para qualquer outro provedor.

Se o provedor é conhecido para aceitar as informações de autenticação transmitidas a ele, e acesso ad hoc para usuários de sysadmin não é o que você deseja, essa chave do registro deve estar presente após o hotfix é aplicado. Você pode encontrar as entradas para cada provedor no seguinte local do registro

HKEY_LOCAL_MACHINE\Software\Microsoft\ < nome da instância > \Providers\ < nome do provedor >
onde < nome da instância > é o nome da instância do SQL Server (MSSQLServer para a instância padrão) e < nome do provedor > é o nome do provedor OLE DB que é especificado na OPENROWSET ou a função OPENDATASOURCE.

Propriedades

ID do artigo: 328569 - Última revisão: terça-feira, 27 de setembro de 2005 - Revisão: 5.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbbug kbfix kbsqlserv2000presp3fix kbsqlserv2000sp3fix KB328569 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 328569

Submeter comentários

 

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