次の方法で共有


GetServerStatus メソッド (WMI MSReportServer_Instance)

サーバーの状態情報を返します。この情報に基づいて、レポート サーバーが要求を処理する準備ができているかどうかを判断します。

構文

Public Sub GetServerStatus(ByRef Names() As String, ByRef Statuses()_
    As String, ByRef Descriptions() As String, ByRef Severities() As _
    Int32, ByRef Length As Int32, ByRef HRESULT As Int32)

public void GetServerStatus(out string Names[], out string Statuses[],
    out string Descriptions[], out sint32 Severities[],
    out sint32 Length, out sint32 HRESULT);

パラメータ

  • Names[]
    設定の名前を表す配列。
  • Statuses[]
    設定の状態を表す配列。
  • Descriptions[]
    各設定の状態の説明を表す配列。
  • Severities[]
    各設定の状態の重大度レベルを表す配列。
  • Length
    返された配列の長さを表す整数値。
  • HRESULT
    成功またはエラー コードを示す値。

戻り値

GetServerStatus によって、レポート サーバーの複数の設定の構成がチェックされ、状態情報を表す配列セットで一致したものが返されます。

GetServerStatus によって、メソッド呼び出しの成功または失敗を示す HRESULT が返されます。値 0 は、レポート サーバー インスタンスが正常に起動したことを示します。正常に起動しなかった場合は、次のいずれかのエラーが返されます。

エラー メッセージ

ACT_E_CANT_CONNECT_CATALOG

ACT_E_SERVICE_NOT_ACTIVATED

ACT_E_SERVICE_DISABLED

ACT_E_UNEXPECTED_DB_ERROR

ACT_E_UNEXPECTED_DB_RESULT

ACT_E_ALREADY_ACTIVATED

ACT_E_NOT_ANNOUNCED

ACT_E_NOT_ADMIN

ACT_E_DB_IMPERSONATE_ERROR

ACT_E_CRYPT_IMPERSONATE_ERROR

ACT_E_CRYPT_EXPORT_ERROR

解説

WMI 管理オブジェクトによって公開されるメソッドは、InvokeMethod 関数によって呼び出されます。詳細については、Microsoft .NET Framework WMI ドキュメントの「管理オブジェクトのメソッドの実行」を参照してください。

使用例

次のサンプル コードは、指定したコンピュータにあるすべてのレポート サーバー インスタンスの構成設定を表示します。


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

class Class1
{
    [STAThread]
    static void Main(string[] args)
    {
        const string machineWmiNamespace = 
           @"\\localhost\root\Microsoft\SqlServer\ReportServer\v9";
  
        ConnectionOptions connOptions = new ConnectionOptions();
        connOptions.Authentication = AuthenticationLevel.Default;

        ObjectGetOptions getOptions = new ObjectGetOptions();
        getOptions.Timeout = new System.TimeSpan(0, 0, 30);

        ManagementScope machineScope = 
           new ManagementScope(machineWmiNamespace, connOptions);
        machineScope.Connect();

        ManagementPath path = 
           new ManagementPath("MSReportServer_Instance");
        ManagementClass serverClass = 
           new ManagementClass(machineScope, path, getOptions);

        serverClass.Get();

        ManagementObjectCollection instances = 
          serverClass.GetInstances();

        foreach (ManagementObject instance in instances)
        {
            Console.WriteLine("\n-----\nSERVER STATUS:\n");

            ManagementBaseObject serverStatusObject =
              instance.InvokeMethod("GetServerStatus", null, null);

            int t = (int)serverStatusObject["Length"];

            Array namesArray = (Array)serverStatusObject["Names"];
            Array descArray = 
              (Array)serverStatusObject["Descriptions"];
            Array statusArray = 
              (Array)serverStatusObject["Statuses"];
            Array severityArray = 
              (Array)serverStatusObject["Severities"];

            for (int i = 0; i < t; i++)
            {
                Console.WriteLine("{0} - {1}",
                   (string)namesArray.GetValue(i), 
                      (string)descArray.GetValue(i));
                Console.WriteLine("Value: {0}, Severity: {1}",
                   (string)statusArray.GetValue(i), 
                      (int)severityArray.GetValue(i));
            }

            Console.WriteLine("\n--- Press any key ---");
            Console.ReadKey();

        }
    }
}

要件

名前空間 :root\Microsoft\SqlServer\ReportServer\v9

プラットフォーム : Windows Server 2003 Datacenter Edition、Windows Server 2003 Enterprise Edition、Windows Server 2003 Standard Edition、Windows Vista、Windows XP Professional Service Pack 2 (SP2) または Service Pack 1 (SP1)、および Windows 2000 (すべてのバージョン)

参照

関連項目

MSReportServer_ConfigurationSetting メンバ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手