Partage via


Créer un proxy SQL Server Agent

s’applique à : SQL Server

Cet article explique comment créer un proxy SQL Server Agent dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL.

Un compte proxy SQL Server Agent définit un contexte de sécurité dans lequel une étape de travail peut s’exécuter. Chaque proxy correspond à des informations d’identification de sécurité. Pour définir des autorisations pour une étape de travail particulière, créez un proxy disposant des autorisations requises pour un sous-système SQL Server Agent, puis affectez ce proxy à l’étape de travail.

Sur Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités de SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez différences T-SQL entre Azure SQL Managed Instance et SQL Server ou limitations des tâches de SQL Agent dans SQL Managed Instance.

Limitations

Vous devez créer des informations d’identification avant de créer un proxy si un proxy n’est pas déjà disponible.

Les proxys SQL Server Agent utilisent des informations d’identification pour stocker des informations sur les comptes d’utilisateur Windows. L’utilisateur spécifié dans les informations d’identification doit disposer de l’autorisation « Accéder à cet ordinateur à partir du réseau » (SeNetworkLogonRight) sur l’ordinateur sur lequel SQL Server est en cours d’exécution.

SQL Server Agent vérifie l’accès au sous-système pour un proxy et donne accès au proxy chaque fois que l’étape du travail s’exécute. Si le proxy n’a plus accès au sous-système, l’étape du travail échoue. Sinon, SQL Server Agent emprunte l’identité de l’utilisateur spécifié dans le proxy et exécute l’étape de travail. Pour la liste des sous-systèmes proxy, consultez sp_grant_proxy_to_subsystem.

La création d’un proxy ne modifie pas les autorisations pour l’utilisateur spécifié dans les informations d’identification du proxy. Par exemple, vous pouvez créer un proxy pour un utilisateur qui n’a pas l’autorisation de se connecter à une instance de SQL Server. Dans ce cas, les étapes de travail qui utilisent ce proxy ne peuvent pas se connecter à SQL Server.

Si la connexion de l’utilisateur a accès au proxy ou si l’utilisateur appartient à n’importe quel rôle ayant accès au proxy, l’utilisateur peut utiliser le proxy dans une étape de travail.

Autorisations

Seuls les membres de l'sysadmin rôle serveur fixe ont l’autorisation de créer, de modifier ou de supprimer des comptes proxy. Les utilisateurs qui ne sont pas membres du rôle serveur fixe sysadmin doivent être ajoutés à l’un des rôles de base de données fixes sql Server Agent suivants dans la base de données msdb pour utiliser des proxys : SQLAgentUserRole, SQLAgentReaderRoleou SQLAgentOperatorRole.

Nécessite l'autorisation ALTER ANY CREDENTIAL si vous créez un identifiant en plus du proxy.

Utiliser SQL Server Management Studio (SSMS)

  1. Dans Explorateur d’objets, sélectionnez le signe plus pour développer le serveur sur lequel vous souhaitez créer un proxy sur SQL Server Agent.

  2. Sélectionnez le signe plus pour développer SQL Server Agent.

  3. Cliquez avec le bouton droit sur le dossier proxies, puis sélectionnez Nouveau Proxy.

  4. Dans la boîte de dialogue Nouveau compte proxy, sur la page Général, entrez le nom du compte proxy dans la zone Nom du Proxy.

  5. Dans la zone Nom des informations d’identification, entrez le nom des informations d’identification de sécurité que le compte proxy utilisera.

  6. Dans la zone Description, entrez une description pour le compte proxy.

  7. Sous Actif dans les sous-systèmes suivants, sélectionnez le sous-système ou les sous-systèmes appropriés pour ce proxy.

  8. Sur la page Principaux, ajoutez ou supprimez des connexions ou des rôles pour accorder ou supprimer l’accès au compte proxy.

  9. Lorsque vous avez terminé, sélectionnez OK.

Utiliser Transact-SQL

Le script suivant crée des informations d’identification appelées CatalogApplicationCredential, crée un proxy Catalog application proxy et lui affecte l'information d'identification CatalogApplicationCredential, et accorde au proxy l'accès au sous-système de script ActiveX.

  1. Créez l'identifiant CatalogApplicationCredential.

    USE msdb;
    GO
    
    CREATE CREDENTIAL CatalogApplicationCredential
        WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!';
    GO
    
  2. Créez Catalog application proxy proxy et attribuez-lui les informations d’identification CatalogApplicationCredential.

    EXECUTE dbo.sp_add_proxy
        @proxy_name = 'Catalog application proxy',
        @enabled = 1,
        @description = 'Maintenance tasks on catalog application.',
        @credential_name = 'CatalogApplicationCredential';
    GO
    
    
  3. Accordez au proxy Catalog application proxy l’accès au sous-système De script ActiveX.

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