Creazione di un proxy di SQL Server AgentCreate a SQL Server Agent Proxy

In questo argomento viene descritto come creare un proxy SQL Server Agent in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to create a SQL Server Agent proxy in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Un account proxy di SQL ServerSQL Server Agent definisce un contesto di sicurezza in cui è possibile l'esecuzione di un passaggio di processo.A SQL ServerSQL Server Agent proxy account defines a security context in which a job step can run. Ogni proxy corrisponde a una credenziale di sicurezzaEach proxy corresponds to a security credential. Per impostare le autorizzazioni per un particolare passaggio di processo, creare un proxy dotato delle autorizzazioni necessarie per un sottosistema di SQL ServerSQL Server Agent e quindi assegnarlo al passaggio di processo.To set permissions for a particular job step, create a proxy that has the required permissions for a SQL ServerSQL Server Agent subsystem, and then assign that proxy to the job step.

Contenuto dell'argomentoIn This Topic

Prima di iniziareBefore You Begin

Limitazioni e restrizioniLimitations and Restrictions

  • Se non disponibili, prima di creare un proxy è necessario creare le credenziali.You must create a credential before you create a proxy if one is not already available.

  • SQL ServerSQL Server Agent utilizzano le credenziali per archiviare le informazioni sugli account utente di Windows. Agent proxies use credentials to store information about Windows user accounts. L'utente specificato nella credenziale deve avere l'autorizzazione "Accedi al computer dalla rete" (SeNetworkLogonRight) nel computer in cui SQL ServerSQL Server è in esecuzione.The user specified in the credential must have "Access this computer from the network” permission (SeNetworkLogonRight) on the computer on which SQL ServerSQL Server is running.

  • SQL ServerSQL Server Agent verifica l'accesso al sottosistema per un proxy e garantisce l'accesso al proxy ad ogni esecuzione del passaggio di processo. Agent checks subsystem access for a proxy and gives access to the proxy each time the job step runs. Se il proxy non dispone più di accesso al sottosistema, il passaggio di processo non viene eseguito correttamente.If the proxy no longer has access to the subsystem, the job step fails. In caso contrario, SQL ServerSQL Server Agent rappresenta l'utente specificato nel proxy ed esegue il passaggio di processo.Otherwise, SQL ServerSQL Server Agent impersonates the user that is specified in the proxy and runs the job step.

  • La creazione di un proxy non implica la modifica delle autorizzazioni per l'utente specificato nella credenziale del proxy.Creation of a proxy does not change the permissions for the user that is specified in the credential for the proxy. È possibile ad esempio creare un proxy per un utente che non dispone dell'autorizzazione per la connessione a un'istanza di SQL ServerSQL Server.For example, you can create a proxy for a user that does not have permission to connect to an instance of SQL ServerSQL Server. In questo caso, i passaggi di processo che utilizzano il proxy non sono in grado di connettersi a SQL ServerSQL Server.In this case, job steps that use that proxy are unable to connect to SQL ServerSQL Server.

  • Se l'account di accesso per l'utente viene utilizzato per l'accesso al proxy oppure se l'utente appartiene a un qualsiasi ruolo che prevede l'accesso al proxy, l'utente potrà utilizzare il proxy in un passaggio di processo.If the login for the user has access to the proxy, or the user belongs to any role with access to the proxy, the user can use the proxy in a job step.

SecuritySecurity

PermissionsPermissions

  • Solo i membri del ruolo predefinito del server sysadmin sono autorizzati a creare, modificare o eliminare gli account proxy.Only members of the sysadmin fixed server role have permission to create, modify, or delete proxy accounts. Gli utenti che non sono membri del ruolo predefinito del server sysadmin devono essere aggiunti a uno dei ruoli predefiniti del database di SQL ServerSQL Server nel database msdb per poter utilizzare i proxy: SQLAgentUserRole, SQLAgentReaderRoleo SQLAgentOperatorRole.Users who are not members of the sysadmin fixed server role must be added to one of the following SQL ServerSQL Server Agent fixed database roles in the msdb database to use proxies: SQLAgentUserRole, SQLAgentReaderRole, or SQLAgentOperatorRole.

  • Richiede l'autorizzazione ALTER ANY CREDENTIAL se si creano credenziali oltre al proxy.Requires ALTER ANY CREDENTIAL permission if creating a credential in addition to the proxy.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

Per creare un proxy di SQL Server AgentTo create a SQL Server Agent proxy

  1. In Esplora oggettifare clic sul segno più per espandere il server in cui si desidera creare un proxy SQL Server Agent.In Object Explorer, click the plus sign to expand the server where you want to create a proxy on SQL Server Agent.

  2. Fare clic sul segno più per espandere SQL Server Agent.Click the plus sign to expand SQL Server Agent.

  3. Fare clic con il pulsante destro del mouse sulla cartella Proxy e scegliere Nuovo proxy.Right-click the Proxies folder and select New Proxy.

  4. Nella pagina Generale della finestra di dialogo Nuovo account proxy immettere il nome del nuovo account proxy nella casella Nome proxy .On the New Proxy Account dialog box, on the General page, enter the name of the proxy account in the Proxy name box.

  5. Nella casella Nome credenziali immettere il nome delle credenziali di sicurezza che verranno utilizzate dall'account proxy.In the Credential name box, enter the name of the security credential that the proxy account will use.

  6. Immettere una descrizione dell'account proxy nella casella Descrizione .In the Description box, enter a description for the proxy account

  7. In Attivo nei sottosistemi seguenti, selezionare il sottosistema o i sottosistemi adatti per questo proxy.Under Active to the following subsystems, select the appropriate subsystem or subsystems for this proxy.

  8. Nella pagina Entità aggiungere o rimuovere account di accesso oppure ruoli per concedere o negare l'accesso all'account proxy.On the Principals page, add or remove logins or roles to grant or remove access to the proxy account.

  9. Al termine, fare clic su OK.When finished, click OK.

Utilizzo di Transact-SQLUsing Transact-SQL

Per creare un proxy di SQL Server AgentTo create a SQL Server Agent proxy

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    -- creates credential CatalogApplicationCredential  
    USE msdb ;  
    GO  
    CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser',   
        SECRET = 'G3$1o)lkJ8HNd!';  
    GO  
    -- creates proxy "Catalog application proxy" and assigns
    -- the credential 'CatalogApplicationCredential' to it.  
    EXEC dbo.sp_add_proxy  
        @proxy_name = 'Catalog application proxy',  
        @enabled = 1,  
        @description = 'Maintenance tasks on catalog application.',  
        @credential_name = 'CatalogApplicationCredential' ;  
    GO  
    -- grants the proxy "Catalog application proxy" access to 
    -- the ActiveX Scripting subsystem.  
    EXEC dbo.sp_grant_proxy_to_subsystem  
        @proxy_name = N'Catalog application proxy',  
        @subsystem_id = 2 ;  
    GO  
    

Per altre informazioni, vedere:For more information, see: