CORRECÇÃO: A ad Hoc Access incorrectamente é permitido se a chave de registo DisallowAdhocAccess está em falta

Traduções de Artigos Traduções de Artigos
Artigo: 328569 - Ver produtos para os quais este artigo se aplica.
N.º DE BUGS: 361943 (SHILOH_BUGS)

N.º DE BUGS: 102857 (SQLBUG_70)
Expandir tudo | Reduzir tudo

Sintomas

Quando configura um fornecedor de OLE DB para utilização para consultas de SQL Server distribuído, um número de chaves de registo estão disponíveis que controlar como o SQL Server tenta utilizar o fornecedor. Estas opções estão documentadas no seguinte secção de SQL Server Books Online:
  • Configurar fornecedores de OLE DB para consultas distribuídas
Uma destas opções, DisallowAdhocAccess , controla se um utilizador de sysadmin não é permitido utilizar o OPENROWSET ou a função OPENDATASOURCE. Se um fornecedor de OLE DB estiver disponível no computador mas não existe nenhuma correspondente chave de registo especificado para este fornecedor, em seguida, SQL Server incorrectamente permite um utilizador não sysadmin aceder o fornecedor com o OPENROWSET ou a função OPENDATASOURCE. Na ausência de qualquer chave de registo, deve ser o comportamento predefinido negar o acesso.

Depois de instalar a correcção descrita neste artigo, quando o valor de DisallowAdhocAccess não existe para o fornecedor especificado, pedidos de sysadmin não utilizar OPENROWSET ou OPENDATASOURCE falhar com a seguinte mensagem de erro:
Servidor: Erro 7415, nível de 16, estado 1, linha 1
Foi negado o acesso ad hoc ao fornecedor de OLE DB 'CustomOLEDBProvider'. Tem de aceder este fornecedor através de um servidor ligado.

Resolução

Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How To Obtain the Latest SQL Server 2000 Service Pack

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.
SQL Server 2000
Este problema foi corrigido pela primeira vez no Microsoft SQL Server 2000 Service Pack 3.

Mais Informação

Inicialmente, a chave de registo DisallowAdhocAccess não existe no SQL Server 7.0; no entanto, foi adicionado no SQL Server 7.0 Service Pack 2. Para compatibilidade com versões anteriores, se esta chave estiver em falta, SQL Server 7.0 ainda permite o acesso através de fornecedor SQLOLEDB porque o servidor remoto irá primeiro autenticar, utilizando as credenciais de segurança fornecido. Por predefinição, instalações do SQL Server 2000 incluem a chave DisallowAdhocAccess (assim, permitir o acesso). Se for removida a chave de registo para o fornecedor SQLOLEDB numa instalação do SQL Server 2000, nega acesso forma faria para qualquer outro fornecedor.

Se o fornecedor é conhecido para respeitar as informações de autenticação lhe é transmitidas e acesso ad hoc para utilizadores de sysadmin não é a pretendida, em seguida, esta chave de registo tem de existir depois de aplica a correcção. Pode encontrar as entradas para cada fornecedor na seguinte localização do registo

HKEY_LOCAL_MACHINE\Software\Microsoft\ < nome da instância > \Providers\ < nome do fornecedor >
em que < nome da instância > é o nome da instância do SQL Server (MSSQLServer para instância predefinida) e < nome do fornecedor > é o nome do fornecedor de OLE DB especificado no OPENROWSET ou a função OPENDATASOURCE.

Propriedades

Artigo: 328569 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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