【问题标题】:WMI query of reporting service instances returns all instances regardless of parent sql server path报告服务实例的 WMI 查询返回所有实例,而不考虑父 sql 服务器路径
【发布时间】:2012-07-09 17:03:59
【问题描述】:

我们有一些代码来识别返回意外结果的 SQL Server 实例及其关联的 Reporting Server 实例。

一台机器有两个实例 SQL Express (2008) - (local)/SQLEXPRESS(local)/EXPRESS_BOB - 每个实例都有自己的报告服务器。

使用 WMI,我们可以识别 SQL Server 实例,这可以按预期工作。对于每个实例,我们按如下方式查询 RS 实例:

public void QueryServers(string wmiPath)
{
    using (
        var searcher = new ManagementObjectSearcher(
           wmiPath, 
           "Select * from MSReportServer_ConfigurationSetting"))
    {
        ManagementObjectCollection moc = searcher.Get();
        //
        // Process objects in moc
        //
    }
}

这是针对 wmiPath 的两个值运行的(注意 - 需要以管理员身份运行):

  • wmiPath = "root\Microsoft\SqlServer\ReportServer\RS_SQLEXPRESS\v10\Admin"
  • wmiPath = "root\Microsoft\SqlServer\ReportServer\RS_EXPRESS_5fBOB\v10\Admin"

不管wmiPath 的值是多少,moc 集合始终包含两个值:

  • moc[0] ["InstanceName"] = "SQLEXPRESS"
  • moc[1] ["InstanceName"] = "EXPRESS_BOB"

指定 SQL Server 实例的 WMI 路径下的查询如何返回(我希望)位于不同路径下的 Report Server 实例?

这是正确的查询路径吗?

【问题讨论】:

标签: c# reporting-services ssrs-2008 wmi


【解决方案1】:

这似乎是设计使然(见http://msdn.microsoft.com/en-us/library/ms152836.aspx

在查询中添加"Where InstanceName='<instance name>'" 可能会有所帮助

【讨论】:

  • 优秀 - 正是我需要的答案。感谢 user1578107。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
  • 2019-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多