Поделиться через


Создание учетной записи прокси-агента 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)

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

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

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

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

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

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

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

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

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

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

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

  1. Создание учетных данных CatalogApplicationCredential.

    USE msdb;
    GO
    
    CREATE CREDENTIAL CatalogApplicationCredential
        WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!';
    GO
    
  2. Создайте прокси-сервер Catalog application proxy и назначьте ему учетные данные CatalogApplicationCredential .

    EXECUTE dbo.sp_add_proxy
        @proxy_name = 'Catalog application proxy',
        @enabled = 1,
        @description = 'Maintenance tasks on catalog application.',
        @credential_name = 'CatalogApplicationCredential';
    GO
    
    
  3. Предоставьте прокси-серверу Catalog application proxy доступ к подсистеме сценариев ActiveX.

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