尝试在Microsoft SQL Server Management Studio中创建凭据和相关代理的脚本时遇到问题。
我的脚本如下:
CREATE CREDENTIAL xxx WITH IDENTITY = 'domain\xxx', 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;
这将同时创建证书和代理。
但是,它无法将凭据正确添加到代理。尝试手动(使用UI)添加凭据时,出现以下错误:
对于ProxyAccount'yyy'(Microsoft.SqlServer.Smo)的更改失败 附加信息: 你调用的对象是空的。 (Microsoft.SqlServer.Smo)
我尝试删除凭据,然后重新添加它,但没有结果。我尝试删除并重新添加代理,但是收到以下错误:
未定义代理的凭据名称。 (SqlManagerUI)
回溯到无法为该代理分配凭据。
答案 0 :(得分:1)
我发现此链接似乎可以解决此问题。我不太确定它是如何工作的,但是我的问题不见了。
USE [msdb]
GO
EXEC msdb.dbo.sp_update_proxy @proxy_name = N'yyy'
,@credential_name = N'xxx'
,@description = N''
GO