Сбой изменения для ProxyAccount ‘yyy’ (Microsoft.SQLServer.Smo)

#sql-server #tsql #sql-server-2016 #sql-agent

#sql-сервер #tsql #sql-server-2016 #sql-агент

Вопрос:

Я столкнулся с проблемой при попытке написать сценарий создания учетных данных и связанного прокси-сервера в Microsoft SQL Server Management Studio.

Мой сценарий следующий:

 CREATE CREDENTIAL xxx WITH IDENTITY = 'domainxxx', SECRET = '*******';

EXEC msdb.dbo.sp_add_proxy @proxy_name  = 'yyy' 
,@enabled = 1 
,@description = 'description here'
,@credential_name = 'xxx'

EXEC msdb.dbo.sp_grant_proxy_to_subsystem @proxy_name = 'yyy'
,@subsystem_id = 9;
  

Это создает как учетные данные, так и прокси.

ОДНАКО не удается правильно добавить учетные данные к прокси. При попытке вручную (с помощью пользовательского интерфейса) добавить учетные данные я получаю следующую ошибку:

Сбой изменения для ProxyAccount ‘yyy’ (Microsoft.SQLServer.Smo) Дополнительная информация: Ссылка на объект не установлена для экземпляра объекта. (Microsoft.SQLServer.Smo)

Попытка добавить учетные данные

Сообщение об ошибке

Я пытался удалить учетные данные и повторно добавить их безрезультатно. Я пытался удалить и повторно добавить прокси, но получаю следующую ошибку:

Имя учетных данных для прокси не определено. (SqlManagerUI)

Что приводит к невозможности присвоить учетные данные этому прокси.

Ответ №1:

Я нашел эту ссылку, которая, как представляется, устраняет проблему. Я не совсем уверен, как это работает, но моя проблема устранена.

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ecabf8d5-5910-4c6a-90af-c4219a0c3418/msg-14529-on-spupdateproxy?forum=sqlsecurity

 USE [msdb]
GO

EXEC msdb.dbo.sp_update_proxy @proxy_name = N'yyy'
    ,@credential_name = N'xxx'
    ,@description = N''
GO
  

Ответ №2:

В свойствах учетных данных для идентификации щелкните значок сборки, а затем проверьте имена, чтобы убедиться, что это допустимое имя.