【问题标题】:Alter failed for ProxyAccount 'yyy' (Microsoft.SqlServer.Smo)ProxyAccount 'yyy' (Microsoft.SqlServer.Smo) 的更改失败
【发布时间】:2019-07-28 10:38:49
【问题描述】:

我在尝试在 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)

这可以追溯到无法为该代理分配凭据。

【问题讨论】:

    标签: sql-server tsql sql-server-2016 sql-agent


    【解决方案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】:

      在凭据属性中,对于身份,单击构建图标,然后检查名称以确保它是有效名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-24
        • 1970-01-01
        • 1970-01-01
        • 2017-09-22
        • 2021-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多