Sdílet prostřednictvím


Vytvoření proxy agenta SQL Serveru

platí pro:SQL Server

Tento článek popisuje, jak vytvořit proxy agenta SQL Serveru v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL.

Účet proxy agenta SQL Serveru definuje kontext zabezpečení, ve kterém se dá spustit krok úlohy. Každý proxy server odpovídá přihlašovacím údajům zabezpečení. Pokud chcete nastavit oprávnění pro určitý krok úlohy, vytvořte proxy server, který má požadovaná oprávnění pro subsystém agenta SQL Serveru, a pak tento proxy server přiřaďte ke kroku úlohy.

Na Azure SQL Managed Instance, většina, ale ne všechny funkce agenta SQL Serveru jsou aktuálně podporované. Podrobnosti najdete v tématu rozdíly T-SQL služby Azure SQL Managed Instance oproti SQL Serveru nebo omezení úloh agenta SQL ve službě SQL Managed Instance.

Omezení

Před vytvořením proxy serveru je nutné vytvořit přihlašovací údaje, pokud ještě není k dispozici.

Proxy servery agenta SQL Serveru používají přihlašovací údaje k ukládání informací o uživatelských účtech Windows. Uživatel zadaný v přihlašovacích údajích musí mít oprávnění "Přístup k tomuto počítači ze sítě" (SeNetworkLogonRight) v počítači, na kterém je spuštěn SQL Server.

Agent SQL Serveru kontroluje přístup k subsystému pro proxy server a poskytuje přístup k proxy serveru při každém spuštění kroku úlohy. Pokud už proxy server nemá přístup k subsystému, krok úlohy selže. Jinak agent SQL Serveru zosobní uživatele zadaného v proxy serveru a spustí krok úlohy. Seznam proxy subsystémů naleznete v tématu sp_grant_proxy_to_subsystem.

Vytvoření proxy serveru nezmění oprávnění pro uživatele zadaného v přihlašovacích údajích pro proxy server. Můžete například vytvořit proxy server pro uživatele, který nemá oprávnění k připojení k instanci SQL Serveru. V tomto případě se kroky úlohy, které používají tento proxy, nemohou připojit k SQL Serveru.

Pokud má přihlášení uživatele přístup k proxy serveru nebo uživatel patří do jakékoli role s přístupem k proxy serveru, může tento uživatel v kroku úlohy použít proxy server.

Dovolení

K vytváření, úpravě nebo odstraňování účtů proxy serveru mají oprávnění pouze členové pevné role serveru. Uživatelé, kteří nejsou členy pevné role serveru role správce systému, musí být přidáni do jedné z následujících pevných databázových rolí agenta SQL Serveru v databázi msdb, aby mohli používat proxy: SQLAgentUserRole, SQLAgentReaderRolenebo SQLAgentOperatorRole.

Vyžaduje oprávnění ALTER ANY CREDENTIAL, pokud vytváříte přihlašovací údaje kromě proxy.

Použití aplikace SQL Server Management Studio (SSMS)

  1. V Průzkumníku objektůvyberte znaménko plus a rozbalte server, na kterém chcete vytvořit proxy na SQL Server Agent.

  2. Vyberte znaménko plus a rozbalte SQL Server Agent.

  3. Klikněte pravým tlačítkem na složku proxy a vyberte Nový proxy.

  4. V dialogovém okně Nový účet proxy na stránce Obecné zadejte název účtu proxy serveru do pole Název proxy serveru.

  5. Do pole Název přihlašovacích údajů zadejte název přihlašovacích údajů zabezpečení, které bude účet proxy používat.

  6. Do pole Popis zadejte popis účtu proxy.

  7. V části Aktivní pro následující subsystémyvyberte odpovídající subsystém nebo subsystémy pro tento proxy server.

  8. Na stránce Hlavní přidejte nebo odeberte přihlášení nebo role, abyste udělili nebo odebrali přístup k proxy účtu.

  9. Po dokončení vyberte OK.

Použití Transact-SQL

Následující skript vytvoří přihlašovací údaje s názvem CatalogApplicationCredential, vytvoří proxy Catalog application proxy a přiřadí k němu přihlašovací údaje CatalogApplicationCredential a udělí proxy přístup k subsystému skriptování ActiveX.

  1. Vytvořte přihlašovací údaj CatalogApplicationCredential.

    USE msdb;
    GO
    
    CREATE CREDENTIAL CatalogApplicationCredential
        WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!';
    GO
    
  2. Vytvořte proxy Catalog application proxy a přiřaďte k němu přihlašovací údaje CatalogApplicationCredential.

    EXECUTE dbo.sp_add_proxy
        @proxy_name = 'Catalog application proxy',
        @enabled = 1,
        @description = 'Maintenance tasks on catalog application.',
        @credential_name = 'CatalogApplicationCredential';
    GO
    
    
  3. Udělte proxy Catalog application proxy přístup k subsystému skriptování ActiveX.

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