【问题标题】:Accessing LinkedServer properties via SQL Server SMO API通过 SQL Server SMO API 访问 LinkedServer 属性
【发布时间】:2011-05-18 23:50:57
【问题描述】:

我有一个 powershell 脚本来遍历 SQL Server 中的 LinkedServer 对象列表,其中包含如下代码:

foreach($linkedServer in $instance.LinkedServers)
{       
... some code ...
}   

我想了解有关链接服务器的默认安全性的信息。要了解我的意思,请加载 SQL Server Management Studio 并打开链接服务器。如果您没有,只需创建一个到远程服务器。单击安全选项卡,您将看到链接服务器登录映射列表(SMO 中的 LinkedServerLogins 集合)。屏幕底部将是名为“对于未在上面列表中定义的登录...”部分中的默认设置。我在 SMO 对象模型中找不到任何地方来获取此信息。有可能吗?

谢谢, 标记。

【问题讨论】:

    标签: sql-server sql-server-2005 powershell smo


    【解决方案1】:

    好像在linked server login properties:

    foreach($linkedServer in $instance.LinkedServers)
    {   
        "LinkedServer:" + $linkedServer.Name
    
        foreach($linkedServerLogin in $linkedServer.LinkedServerLogins)
        {
            " LinkedServerLogin:" + $linkedServerLogin.Name
            foreach($property in $linkedServerLogin.Properties)
            {
                "  Property:" + $property.Name + " - " + $property.Value
            }
        }
    } 
    

    ImpersonateRemoteUser 包含在属性中。

    【讨论】:

    • 这确实有效,但它也返回所有链接服务器映射。如果我为空字符串测试 LinkedServerLogin.Name - 这似乎是我需要的设置。我相信,SMO 模型在这方面仍然存在缺陷。
    猜你喜欢
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 2016-05-28
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    相关资源
    最近更新 更多