Raporlama Hizmetleri WMI sağlayıcısı

Raporlama Hizmetleri WMI sağlayıcı'nın kuruluş ortamında denetim ve yönetim bilgilerine erişmek için standart Windows Yönetim Araçları (WMI) teknolojisi üzerine kurulmuştur.WMI sağlayıcı için Reporting Services xml yapılandırma öğeleri için rapor sunucusu eşleme bir örnek sağlayıcı hizmet verdiği bir küme eklemek için arama yöntemleri dahil, sınıfların, kaldırma veya değiştirme raporu sunucu yapılandırma bilgileri.Sınıfları hakkında daha fazla bilgi için bkz: Raporlama Hizmetleri WMI sağlayıcısı kitaplığı.

WMI sağlayıcısı genel bakış

WMI sınıfları eklenir Reporting Services rapor sunucusu ve Rapor Yöneticisi, Report Server Web çalıştıran ağ makineleri keşfetmek için bir yol sağlamak için yerel ve uzak bilgisayarlar üzerindeki kontrol bileşenleri izin vermek için hizmetve bir rapor sunucusu örneğine bir ölçek-giden dağıtım. etkinleştirmek içinSistem yöneticileri ve veritabanı yöneticileri Bu sınıflar, yükleme tamamlandıktan sonra rapor sunucusu ve Rapor Yöneticisi yapılandırmaları için değişiklik veya yerel ya da uzak sunucu yönetim görevlerini gerçekleştirmek için kullanabilirsiniz.Görevleri arasında rapor sunucusu ve rapor sunucusu veritabanını veritabanı bağlantı kimlik bilgileri bilgilerini değiştirme, rapor sunucusu veritabanı adı değiştirme ve yükleme tanımlar url değiştirme dahil yol Rapor Yöneticisi veya rapor sunucusu örneğinin.

Bu işlevleri desteklemek üzere yüklenen sınıfları aşağıdaki gibidir:

The namespace used to obtain information about Reporting Services in the code samples shown in this topic is the System.Management namespace, found in the Microsoft .NET Framework.The System.Management namespace provides a set of managed code classes through which .NET Framework applications can access and manipulate management information.For more information on using the Reporting Services WMI classes using the System.Management namespace, see "Accessing Management Information with System.Managment" in the Microsoft .NET Framework SDK.

Bir rapor sunucusu örneğini bulma

Bilgisayarda yüklü bir rapor sunucusu birden çok örneği varsa, yöneticinin tam örnek özelliklerini değiştiren bilgisayar üzerindeki işaret etmek gerekir.Öğrenmek için doğrudan örnek, her sınıf, bir anahtar olarak tanımlanan bir özellik içerir.Bu anahtar özellik, bir rapor sunucusu yükleme benzersiz olarak tanımlar.Bir anahtar olarak tanımlanan özellik yol özellik.Bu değer özellik yapılandırma dosyasının adı dahil RSReportServer.config yapılandırma dosyasının yoludur.Çoğu yüklemeler için bu yol aşağıdaki örneğe benzer olacaktır:

C:\Program Files\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer\rsreportserver.config

Not

Örnek adı özel karakterler"_5f" dönüştürüldükten örnek adında alt çizgi karakteri (_) yol özellik.Örneğin:

  • Örnek adı = My_Instance

  • Yol adı özellik My_5fInstance =

Sonra MSReportServer_ConfigurationSetting sınıfı oluşturulduğunda, doldurmak anahtar uyan Rapor Yöneticisi ve rapor sunucusu örneğini bilgisayarı aramak ve anahtar.Durumunda bulunan, yönetim doldurmak koleksiyon geri kalanından değerleri bu örnek ile.

Doldurma tarafından bilgi edinebilirsiniz bir koleksiyonve bilgileri görüntülemek için yönetim sınıfı aracılığıyla döngü.Bu kodu Visual Studio'dan çalıştırıyorsanız.net, System.Management proje başvurusu ekleyin.Aşağıdaki örnek RSReportServer.config yapılandırma dosyası C:\Program Files\Microsoft sql Server\MSRS10_50. varsayýlmýþtýr<ÖrnekAdı>\Reporting Services\ReportServer\bin.System.Management sınıf yöntemleri için açıklamalar bulunabilir Microsoft Visual Studio.net sdk.

Bilgi bulma, tercih edilen yolu, rapor sunucusu yüklemeleri olan WMI örnek toplulukta numaralandırmak için.Aşağıdaki örnek oluşturarak özellikleri her rapor sunucusu örneğinin üzerinde bulmak nasıl gösterir bir koleksiyonve aracılığıyla döngü koleksiyon özelliklerini görüntülemek için.

Imports System
Imports System.Management
Imports System.IO

Module Module1
    Sub Main()
        Const WmiNamespace As String = "\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\Admin"
        Const WmiRSClass As String = _
           "\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\admin:MSReportServer_ConfigurationSetting"

        Dim serverClass As ManagementClass
        Dim scope As ManagementScope
        scope = New ManagementScope(WmiNamespace)
        'Connect to the Reporting Services namespace.
        scope.Connect()

        'Create the server class.
        serverClass = New ManagementClass(WmiRSClass)
        'Connect to the management object.
        serverClass.Get()
        If serverClass Is Nothing Then Throw New Exception("No class found")

        'Loop through the instances of the server class.
        Dim instances As ManagementObjectCollection = serverClass.GetInstances()
        Dim instance As ManagementObject
        For Each instance In instances
            Console.Out.WriteLine("Instance Detected")
            Dim instProps As PropertyDataCollection = instance.Properties
            Dim prop As PropertyData
            For Each prop In instProps
                Dim name As String = prop.Name
                Dim val As Object = prop.Value
                Console.Out.Write("Property Name: " + name)
                If val Is Nothing Then
                    Console.Out.WriteLine("     Value: <null>")
                Else
                    Console.Out.WriteLine("     Value: " + val.ToString())
                End If
            Next
        Next

        Console.WriteLine("--- Press any key ---")
        Console.ReadKey()


    End Sub
End Module
using System;
using System.Management;
using System.IO;
[assembly: CLSCompliant(true)]

class Class1
{
    [STAThread]
    static void Main(string[] args)
    {
        const string WmiNamespace = @"\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\Admin";
        const string WmiRSClass =
          @"\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\admin:MSReportServer_ConfigurationSetting";
        ManagementClass serverClass;
        ManagementScope scope;
        scope = new ManagementScope(WmiNamespace);

        // Connect to the Reporting Services namespace.
        scope.Connect();
        // Create the server class.
        serverClass = new ManagementClass(WmiRSClass);
        // Connect to the management object.
        serverClass.Get();
        if (serverClass == null)
            throw new Exception("No class found");

        // Loop through the instances of the server class.
        ManagementObjectCollection instances = serverClass.GetInstances();

        foreach (ManagementObject instance in instances)
        {
            Console.Out.WriteLine("Instance Detected");
            PropertyDataCollection instProps = instance.Properties;
            foreach (PropertyData prop in instProps)
            {
                string name = prop.Name;
                object val = prop.Value;
                Console.Out.Write("Property Name: " + name);
                if (val != null)
                    Console.Out.WriteLine("     Value: " + val.ToString());
                else
                    Console.Out.WriteLine("     Value: <null>");
            }
        }
        Console.WriteLine("\n--- Press any key ---");
        Console.ReadKey();
    }
}

Rapor sunucusu ve Rapor Yöneticisi okumak veya değiştirilen özellikleri hakkında daha fazla bilgi için bkz: Raporlama Hizmetleri WMI sağlayıcısı kitaplığı.Özel özellikler hakkında daha fazla bilgi için rapor sunucusu, bkz: MSReportServer_ConfigurationSetting sınıfı.Yapılandırma dosyalarının varsayılan yükleme hakkında daha fazla bilgi için bkz: Yapılandırma dosyaları (Raporlama Hizmetleri).