Partilhar via


Criar um proxy do SQL Server Agent

Aplica-se a: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 atribua esse proxy à etapa de trabalho.

Importante

No Azure SQL Managed Instance, a maioria dos recursos do SQL Server Agent, mas não todos, são suportados no momento. Consulte Diferenças de T-SQL da Instância Gerenciada do Azure SQL em relação ao SQL Server ou as limitações de trabalho do SQL Agent na Instância Gerenciada do SQL para obter detalhes.

Limitações

Você deve criar uma credencial antes de criar um proxy, caso ainda não esteja 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 acesso a este computador a partir da permissão de rede (SeNetworkLogonRight) no computador em que o SQL Server está sendo executado.

O SQL Server Agent verifica o acesso ao subsistema para um proxy e concede permissão ao proxy sempre que o passo do trabalho é executado. 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 proxy, consulte sp_grant_proxy_to_subsystem.

A criação de um proxy não altera as permissões para o usuário especificadas 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 conseguem se conectar ao SQL Server.

Se o login do usuário tiver acesso ao proxy, ou se 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 da função de servidor fixa sysadmin têm permissão para criar, modificar ou eliminar 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 msdb SQL Server Agent no banco de dados para usar proxies:

SQLAgentUserRoleSQLAgentReaderRoleSQLAgentOperatorRole

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

Utilizar o SQL Server Management Studio (SSMS)

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

  2. Selecione o sinal de mais para expandir 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 , digite o nome da conta proxy na caixa Nome do proxy .

  5. Na caixa Nome da credencial , digite 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. Em Ativo para os seguintes subsistemas, selecione o(s) subsistema(s) apropriado(s) para este proxy.

  8. Na página Principals, adicione ou remova logins ou funções para conceder ou remover acesso à conta proxy.

  9. Quando terminar, selecione OK.

Utilize o Transact-SQL

O script a seguir cria uma credencial chamada CatalogApplicationCredential, cria proxy Catalog application proxy e atribui a credencial CatalogApplicationCredential a ele, e concede ao proxy acesso ao subsistema ActiveX Scripting.

  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 associe a credencial CatalogApplicationCredential a este.

    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