Создание учетной записи прокси-агента SQL Server

Область применения: SQL Server

В этой статье описывается, как создать прокси-сервер агента SQL Server в SQL Server с помощью среды SQL Server Management Studio или Transact-SQL.

Учетная запись-посредник агента SQL Server определяет контекст безопасности, в котором может выполняться шаг задания. Каждой учетной записи-посреднику соответствует учетная запись системы безопасности. Чтобы установить разрешения для определенного шага задания, создайте учетную запись-посредник, которая имеет необходимые разрешения для подсистемы агента SQL Server, и затем назначьте эту учетную запись-посредник шагу задания.

В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Дополнительные сведения см. в Отличия T-SQL управляемого экземпляра Azure SQL от SQL Server или Ограничения заданий агента SQL в управляемом экземпляре SQL.

Перед началом

Ограничения

  • Перед созданием учетной записи-посредника необходимо создать учетные данные, если они еще не созданы.

  • агент SQL Server прокси-серверы используют учетные данные для хранения сведений об учетных записях пользователей Windows. Пользователь, указанный в учетных данных, должен иметь разрешение "Доступ к этому компьютеру из сети" (SeNetworkLogonRight) на компьютере, где запущен SQL Server.

  • агент SQL Server проверяет доступ подсистемы для прокси-сервера и предоставляет доступ к прокси-серверу при каждом запуске шага задания. Если учетная запись-посредник больше не имеет доступа к подсистеме, шаг задания завершается ошибкой. В противном случае агент SQL Server олицетворяет пользователя, указанного в прокси-сервере, и выполняет шаг задания. Список подсистем прокси-сервера см. в sp_grant_proxy_to_subsystem.

  • Создание учетной записи-посредника не влияет на разрешения пользователя, указанного в учетных данных учетной записи-посредника. Например, можно создать учетную запись-посредник для пользователя, не имеющего разрешения на подключение к экземпляру SQL Server. В этом случае шаги задания, использующие эту учетную запись-посредник, не смогут подключаться к SQL Server.

  • Если имени входа пользователя предоставлен доступ к учетной записи-посреднику или пользователь принадлежит к любой роли с доступом к учетной записи-посреднику, то он может использовать учетную запись-посредник в шаге задания.

Безопасность

Разрешения

  • Только члены предопределенной роли сервера sysadmin имеют разрешение на создание, изменение или удаление учетных записей-посредников. Пользователи, не являющиеся членами предопределенной роли сервера sysadmin, должны быть добавлены к одной из следующих предопределенных ролей базы данных агента SQL Server в базе данных msdb, чтобы использовать прокси-сервера: SQLAgentUserRole, SQLAgentReaderRole или SQLAgentOperatorRole.

  • При создании учетных данных в дополнение к учетной записи-посреднику требуется разрешение ALTER ANY CREDENTIAL .

Использование SQL Server Management Studio (SSMS)

Создание учетной записи-посредника агента SQL Server

  1. В Обозревателе объектов щелкните значок "плюс", чтобы развернуть сервер, на котором необходимо создать прокси-сервер для агента SQL Server.

  2. Щелкните знак "плюс", чтобы развернуть Агент SQL Server.

  3. Щелкните правой кнопкой мыши папку Прокси-серверы и выберите пункт Создать прокси-сервер.

  4. В диалоговом окне Создание учетной записи-посредника на странице Общие введите имя учетной записи-посредника в поле Имя учетной записи-посредника .

  5. В поле Учетные данные введите учетные данные, которые будут использоваться учетной записью-посредником.

  6. В поле Описание введите описание учетной записи-посредника.

  7. В поле Активна для следующих подсистемвыберите соответствующую подсистему или подсистемы для этой учетной записи-посредника.

  8. На вкладке Участники добавьте или удалите имена входа или роли, чтобы предоставить или отменить доступ к учетной записи-посреднику.

  9. По завершении выберите ОК.

Использование Transact-SQL

Создание учетной записи-посредника агента SQL Server

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Следующий скрипт создает учетные данные под именем CatalogApplicationCredential, создает прокси-сервер Catalog application proxy и назначает ему учетные данные CatalogApplicationCredential, а также предоставляет прокси-серверу доступ к подсистеме скриптов ActiveX. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.

    -- 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  
    

Следующие шаги