Создание учетной записи прокси-агента 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.
Щелкните знак "плюс", чтобы развернуть Агент SQL Server.
Щелкните правой кнопкой мыши папку Прокси-серверы и выберите пункт Создать прокси-сервер.
В диалоговом окне Создание учетной записи-посредника на странице Общие введите имя учетной записи-посредника в поле Имя учетной записи-посредника .
В поле Учетные данные введите учетные данные, которые будут использоваться учетной записью-посредником.
В поле Описание введите описание учетной записи-посредника.
В поле Активна для следующих подсистемвыберите соответствующую подсистему или подсистемы для этой учетной записи-посредника.
На вкладке Участники добавьте или удалите имена входа или роли, чтобы предоставить или отменить доступ к учетной записи-посреднику.
По завершении выберите ОК.
Использование Transact-SQL
Следующий скрипт создает учетные данные под именем CatalogApplicationCredential
, создает прокси-сервер Catalog application proxy
и назначает ему учетные данные CatalogApplicationCredential
, а также предоставляет прокси-серверу доступ к подсистеме скриптов ActiveX.
Создание учетных данных
CatalogApplicationCredential
.USE msdb; GO CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!'; GO
Создайте прокси-сервер
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
Предоставьте прокси-серверу
Catalog application proxy
доступ к подсистеме сценариев ActiveX.EXECUTE dbo.sp_grant_proxy_to_subsystem @proxy_name = N'Catalog application proxy', @subsystem_id = 2; GO