Создание учетной записи прокси-агента 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.
Щелкните знак "плюс", чтобы развернуть Агент SQL Server.
Щелкните правой кнопкой мыши папку Прокси-серверы и выберите пункт Создать прокси-сервер.
В диалоговом окне Создание учетной записи-посредника на странице Общие введите имя учетной записи-посредника в поле Имя учетной записи-посредника .
В поле Учетные данные введите учетные данные, которые будут использоваться учетной записью-посредником.
В поле Описание введите описание учетной записи-посредника.
В поле Активна для следующих подсистемвыберите соответствующую подсистему или подсистемы для этой учетной записи-посредника.
На вкладке Участники добавьте или удалите имена входа или роли, чтобы предоставить или отменить доступ к учетной записи-посреднику.
По завершении выберите ОК.
Использование Transact-SQL
Создание учетной записи-посредника агента SQL Server
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Следующий скрипт создает учетные данные под именем
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