ID do artigo: 327489 - Última revisão: quinta-feira, 30 de outubro de 2003 - Revisão: 3.5

COMO: Utilizar a configuração DisallowAdHocAccess para controlar o acesso aos servidores vinculados

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Este artigo explica como desativar consultas ad hoc que usam o OPENROWSET ou a funcionalidade OPENDATASOURCE no SQL Server.

Desativar instruções Transact-SQL

Há duas maneiras que você pode desativar instruções Transact-SQL que usam seqüências de conexão ad-hoc com provedores OLE DB específicos nas funções OPENROWSET e OPENDATASOURCE:

  • Quando você cria um servidor vinculado em um computador que está executando o SQL Server, você pode especificar a propriedade DisallowAdHocAccess para o provedor OLE DB.

    - ou -

  • Se o servidor vinculado já existir, você pode manualmente modificar o registro e adicionar o valor DisallowAdHocAccess .

Especificar a propriedade DisallowAdHocAccess ao criar um servidor vinculado

Quando você cria um servidor vinculado em um computador que está executando o SQL Server, você pode especificar a propriedade DisallowAdHocAccess para o provedor OLE DB. Para fazer isso, execute estas etapas:
  1. Abra o SQL Server Enterprise Manager e, em seguida, clique para selecionar a pasta de segurança do servidor em questão.
  2. Clique com o botão direito na entrada de Servidores vinculados e clique em Novo servidor vinculado .
  3. Clique para selecionar o provedor OLE DB que deseja usar e clique em botão Opções de provedor .
  4. Role para baixo e marque a caixa de seleção não permitir adhoc acesso propriedade. Continue a concluir a criação de sua entrada de servidor vinculado.

Modificar o registro e adicionar o valor DisallowAdHocAccess manualmente

Depois que um servidor vinculado é salvo, a propriedade DisallowAdHocAccess somente pode ser definida por meio de uma configuração de registro.

Observação : as duas ilustrações são apenas exemplos de como você pode alterar o provedor OLE DB para os dois ODBC e para o SQL Server provedor OLE DB. Se você desejar usar um provedor OLE DB diferente, você deve modificar entrada do provedor.

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Como fazer backup e restaurar o registro no Windows

Adicione o valor DisallowAdHocAccess

Para adicionar o valor DisallowAdHocAccess , execute estas etapas:
  1. Inicie o Editor do Registro.
  2. Localize e, em seguida, clique na seguinte chave no Registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSDASQL
  3. No menu Editar , clique em Adicionar valor e adicione esse valor do Registro:
       Value name: DisallowAdHocAccess
       Data type:  REG_DWORD
       Radix:      Hex
       Value data: 1
  4. Feche o Editor do Registro.

Modificar um valor DisallowAdHocAccess existente

Para modificar um valor DisallowAdHocAccess existente, siga estas etapas:
  1. Inicie o Editor do Registro.
  2. Localize e, em seguida, clique no valor DisallowAdHocAccess sob a seguinte chave no Registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\SQLOLEDB
  3. No menu Editar , clique em DWORD , digite 1 e, em seguida, clique em OK .
  4. Feche o Editor do Registro.
Para uma instância nomeada, a chave do registro é diferente:

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL servidor\ < Nome da Instância > \Providers\MSDASQL

Observação : com a propriedade DisallowAdHocAccess definida como 1, o SQL Server não permite acesso ad hoc através de OPENROWSET e as funções OPENDATASOURCE contra o provedor OLE DB especificado. Se você tentar chamar essas funções em consultas ad hoc, você receberá uma mensagem de erro similar à:
Servidor: Mensagem 7415, nível 16, estado 1, linha 1 acesso ad hoc ao provedor do OLE DB 'Microsoft.Jet.OLEDB.4.0' foi negada. Você deve acessar esse provedor através de um servidor vinculado.
Em outras palavras, com a propriedade DisallowAdHocAccess definida como 1 para um provedor OLE DB específico, você deve usar uma configuração de servidor vinculado predefinidos para o provedor OLE DB específico; você não pode passar uma seqüência de conexão ad hoc que faz referência a esse provedor para o OPENROWSET ou a função OPENDATASOURCE.

Referências

Manuais online do SQL Server; tópicos: "Configurando OLE DB provedores de consultas distribuídas"; "Referência Transact-SQL do OPENROWSET"; "Referência do Transact-SQL OPENDATASOURCE"


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 kbhowtomaster KB327489 KbMtpt
Tradução automáticaTraduçã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: 327489  (http://support.microsoft.com/kb/327489/en-us/ )