1

Microsoft SQL Server Reporting Services 2017 的注册表路径是否更改?

在我们能够在这里找到实例名称之前:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\RS\MSSQLSERVER

但现在在 2017 年,MSSQLSERVER不见了,取而代之的是SSRS 。

根据这篇文章,它应该仍在MSSQLSERVER下,但不是。我们是否错过了一些导致这种情况的安装设置,或者这是现在的默认标准行为?

4

2 回答 2

1

因为 Reporting Services 现在是一个单独的安装,所以它作为命名实例安装SSRS。这是对以前版本的更改,以前的版本中 Reporting Services 是 SQL Server 设置的一部分。

我建议使用 WMI 查询来获取必要的信息(下面使用 PowerShell 的示例)。请注意,v14 指的是 2017 版本。

$wmiName = (Get-WmiObject –namespace root\Microsoft\SqlServer\ReportServer  –class __Namespace).Name
$rsConfig = Get-WmiObject –namespace "root\Microsoft\SqlServer\ReportServer\$wmiName\v14\Admin" -class MSReportServer_ConfigurationSetting
于 2018-01-02T20:29:14.017 回答
0

我知道这篇文章很旧,但我在公司遇到了同样的问题,从 RS 2017 中查找信息并且找不到报告正确位置的地方,所以我想在这里发帖!

我的朋友 (Paulo Henrique Rodrigues Orind) 和我找到了一个可以获取有关 RS 2017 的所有信息的地方,我希望 RS 2019 也一样。

1) 通过 PowerShell + WMI:

Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_SSRS\V14" -class MSReportServer_Instance | Select-Object -Property EditionName, Version, InstanceName

图像-powerShellCommand

2) 通过 C# + WMI (是否需要导入 System.Management.dll)

using System;
using System.Management;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            ConnectionOptions options = new ConnectionOptions();
            options.Impersonation = System.Management.ImpersonationLevel.Impersonate;

            ManagementScope scope = new ManagementScope("Root\\Microsoft\\SqlServer\\ReportServer\\RS_SSRS\\V14", options);
            scope.Connect();

            //Query system for Operating System information
            ObjectQuery query = new ObjectQuery("SELECT * FROM MSReportServer_Instance");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

            ManagementObjectCollection queryCollection = searcher.Get();
            foreach (ManagementObject m in queryCollection)
            {
                // Display the remote computer information
                Console.WriteLine("EditionName       : {0}", m["EditionName"]);
                Console.WriteLine("EditionID         : {0}", m["EditionID"]);
                Console.WriteLine("InstanceID        : {0}", m["InstanceID"]);
                Console.WriteLine("InstanceName      : {0}", m["InstanceName"]);
                Console.WriteLine("Version           : {0}", m["Version"]);
            }

            Console.ReadKey();
        }
    }
}

Image-CsharpCode-Wmi

3)WMI:

wmi_1

wmi_2

wmi_3

wmi_4

打开 WMI:命名空间:根 >> Microsoft >> SqlServer >> ReportServer >> RS_SSRS >> V14 类:MSReportServer_Instance

我希望我对某些事情有所帮助

于 2019-04-15T12:58:58.650 回答