簡體   English   中英

無論父sql server路徑如何,報告服務實例的WMI查詢都會返回所有實例

[英]WMI query of reporting service instances returns all instances regardless of parent sql server path

我們有一些代碼來識別SQL Server實例及其關聯的Reporting Server實例,這些實例會返回意外結果。

一台機器有兩個SQL Express (2008) - (local)/SQLEXPRESS(local)/EXPRESS_BOB - 每個(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的值wmiPathmoc集合始終包含兩個值:

  • moc [0] [“InstanceName”] =“SQLEXPRESS”
  • moc [1] [“InstanceName”] =“EXPRESS_BOB”

如何在指定的SQL Server實例的WMI路徑下的查詢返回(我希望)生活在不同路徑下的Report Server實例?

這是查詢的正確途徑嗎?

它似乎是設計的(見http://msdn.microsoft.com/en-us/library/ms152836.aspx

在查詢中添加"Where InstanceName='<instance name>'"可能有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM