Compartilhar via


Criar um proxy do SQL Server Agent

aplica-se a: do SQL Server

Este artigo descreve como criar um proxy do SQL Server Agent no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.

Uma conta proxy do SQL Server Agent define um contexto de segurança no qual uma etapa de trabalho pode ser executada. Cada proxy corresponde a uma credencial de segurança. Para definir permissões para uma etapa de trabalho específica, crie um proxy que tenha as permissões necessárias para um subsistema do SQL Server Agent e, em seguida, atribua esse proxy à etapa de trabalho.

Importante

Na Instância Gerenciada de SQL do Azure , embora a maioria dos recursos do SQL Server Agent tenha suporte no momento, nem todos estão disponíveis. Confira Diferenças do T-SQL da Instância Gerenciada de SQL do Azure em relação ao SQL Server ou Limitações de trabalhos do SQL Agent na Instância Gerenciada de SQL para obter detalhes.

Limitações

Você deve criar uma credencial antes de criar um proxy se ainda não estiver disponível.

Os proxies do SQL Server Agent usam credenciais para armazenar informações sobre contas de usuário do Windows. O usuário especificado na credencial deve ter a permissão "Acessar este computador da rede" (SeNetworkLogonRight) no computador no qual o SQL Server está em execução.

O SQL Server Agent verifica o acesso ao subsistema para um proxy e concede acesso ao proxy sempre que a etapa de trabalho é executada. Se o proxy não tiver mais acesso ao subsistema, a etapa de trabalho falhará. Caso contrário, o SQL Server Agent representará o usuário especificado no proxy e executará a etapa de trabalho. Para obter uma lista de subsistemas de proxy, confira sp_grant_proxy_to_subsystem.

A criação de um proxy não altera as permissões para o usuário especificado na credencial do proxy. Por exemplo, você pode criar um proxy para um usuário que não tem permissão para se conectar a uma instância do SQL Server. Nesse caso, as etapas de trabalho que usam esse proxy não podem se conectar ao SQL Server.

Se o logon do usuário tiver acesso ao proxy ou o usuário pertencer a qualquer função com acesso ao proxy, o usuário poderá usar o proxy em uma etapa de trabalho.

Permissões

Somente os membros do sysadmin função de servidor fixa têm permissão para criar, modificar ou excluir contas proxy. Os usuários que não são membros da função de servidor fixa sysadmin devem ser adicionados a uma das seguintes funções de banco de dados fixas do SQL Server Agent no banco de dados msdb para usar proxies: SQLAgentUserRole, SQLAgentReaderRoleou SQLAgentOperatorRole.

Requer permissão ALTER ANY CREDENTIAL se for criar uma credencial além de usar o proxy.

Usar o SQL Server Management Studio (SSMS)

  1. No Gerenciador de Objetos, selecione o sinal de adição para expandir o servidor no qual você deseja criar um proxy no SQL Server Agent.

  2. Selecione o sinal de adição para expandir o SQL Server Agent.

  3. Clique com o botão direito do mouse na pasta Proxies e selecione Novo Proxy.

  4. Na caixa de diálogo Nova Conta Proxy, na página Geral, insira o nome da conta proxy na caixa Nome do proxy.

  5. Na caixa Nome da Credencial, insira o nome da credencial de segurança que a conta proxy usará.

  6. Na caixa Descrição, insira uma descrição para a conta proxy

  7. Selecione, em Ativo para os seguintes subsistemas, o subsistema ou os subsistemas apropriados para este proxy.

  8. Na página Entidades de segurança, adicione ou remova logons ou funções para conceder ou remover acesso à conta proxy.

  9. Quando terminar, selecione OK.

Usar Transact-SQL

O script a seguir cria uma credencial chamada CatalogApplicationCredential, cria o proxy Catalog application proxy e atribui a credencial CatalogApplicationCredential a ele, concedendo ao proxy acesso ao sistema de script ActiveX.

  1. Criar credencial CatalogApplicationCredential.

    USE msdb;
    GO
    
    CREATE CREDENTIAL CatalogApplicationCredential
        WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!';
    GO
    
  2. Crie o proxy Catalog application proxy e atribua a credencial CatalogApplicationCredential a ele.

    EXECUTE dbo.sp_add_proxy
        @proxy_name = 'Catalog application proxy',
        @enabled = 1,
        @description = 'Maintenance tasks on catalog application.',
        @credential_name = 'CatalogApplicationCredential';
    GO
    
    
  3. Conceda ao proxy Catalog application proxy acesso ao subsistema ActiveX Scripting.

    EXECUTE dbo.sp_grant_proxy_to_subsystem
        @proxy_name = N'Catalog application proxy',
        @subsystem_id = 2;
    GO