Artigo: 327489 - Última revisão: quinta-feira, 30 de Outubro de 2003 - Revisão: 3.5

COMO: Utilizar a definição DisallowAdHocAccess controlar o acesso a servidores ligados

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 | Reduzir tudo

Sumário

Este artigo explica como desactivar as consultas ad hoc que utilizam o OPENROWSET ou a funcionalidade OPENDATASOURCE no SQL Server.

Desactivar instruções Transact-SQL

Existem duas formas que pode desactivar instruções de Transact-SQL que utilizam cadeias de ligação ad-hoc com fornecedores OLE DB específicos nas funções OPENROWSET e OPENDATASOURCE:

  • Quando cria um servidor ligado num computador que está a executar o SQL Server, pode especificar a propriedade DisallowAdHocAccess para o fornecedor de OLE DB.

    - ou -

  • Se o servidor ligado já existir, manualmente pode modificar o registo e adicione o valor de DisallowAdHocAccess .

Especificar a propriedade DisallowAdHocAccess quando cria um servidor ligado

Quando cria um servidor ligado num computador que está a executar o SQL Server, pode especificar a propriedade DisallowAdHocAccess para o fornecedor de OLE DB. Para o fazer, siga estes passos:
  1. Abra o SQL Server Enterprise Manager e, em seguida, clique para seleccionar a pasta de segurança do servidor em questão.
  2. Clique com o botão direito do rato na entrada de Servidores ligados e, em seguida, clique em Novo servidor ligado .
  3. Clique para seleccionar o fornecedor de OLE DB que pretende utilizar e, em seguida, clique no botão Opções de fornecedor .
  4. Desloque-se para baixo e seleccione a caixa de verificação não permitir acesso de ad hoc propriedade. Continue concluir a criação da sua entrada servidor ligado.

Modificar o registo e adicionar o valor de DisallowAdHocAccess manualmente

Depois de um servidor ligado é guardado, a propriedade DisallowAdHocAccess só pode ser definida através de uma definição de registo.

Nota : as duas ilustrações são apenas exemplos de como pode alterar o fornecedor de OLE DB para ambos os ODBC e para o SQL Server fornecedor de OLE DB. Se pretender utilizar um fornecedor de OLE DB diferente, tem de modificar entrada esse fornecedor.

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756  (http://support.microsoft.com/kb/322756/ ) Como efectuar uma cópia de segurança e restaurar o registo no Windows

Adicione o valor de DisallowAdHocAccess

Para adicionar o valor DisallowAdHocAccess , siga estes passos:
  1. Inicie o Editor de registo.
  2. Localize e, em seguida, clique na seguinte chave no registo:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSDASQL
  3. No menu Editar , clique em Adicionar valor e, em seguida, adicione este valor de registo:
       Value name: DisallowAdHocAccess
       Data type:  REG_DWORD
       Radix:      Hex
       Value data: 1
  4. Saia do Editor de registo.

Modificar um valor de DisallowAdHocAccess existente

Para modificar um valor de DisallowAdHocAccess existente, siga estes passos:
  1. Inicie o Editor de registo.
  2. Localize e, em seguida, clique no valor DisallowAdHocAccess na seguinte chave no registo:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\SQLOLEDB
  3. No menu Editar , clique em valor DWORD , escreva 1 e, em seguida, clique em OK .
  4. Saia do Editor de registo.
Para uma instância nomeada, a chave de registo é diferente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ < Nome da Instância > \Providers\MSDASQL

Nota : 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 fornecedor de OLE DB especificado. Se tentar chamar estas funções em consultas ad hoc, receberá uma mensagem de erro semelhante à:
Servidor: Erro 7415, 16 de nível 1 de estado, linha 1 ad hoc acesso ao fornecedor de OLE DB 'Microsoft.Jet.OLEDB.4.0' foi negado. Tem de aceder este fornecedor através de um servidor ligado.
Por outras palavras, com a propriedade DisallowAdHocAccess definida como 1 para um fornecedor de OLE DB específico, tem de utilizar uma configuração de servidor ligado predefinidos para o fornecedor OLE DB específico; já não pode passar uma cadeia de ligação ad-hoc faz referência a esse fornecedor para o OPENROWSET ou a função OPENDATASOURCE.

Referências

SQL Server Books Online; tópicos: "Fornecedores configurar OLE DB para consultas distribuído", "OPENROWSET Transact SQL Reference"; "OPENDATASOURCE Transact SQL Reference"


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 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: 327489  (http://support.microsoft.com/kb/327489/en-us/ )