Microsoft SQL Server とクラスターディスカバリー

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:16分
  • ディスカバリーとサービスマッピングパターン アプリケーションは、MSSql DB On Windows パターンを使用して、インフラストラクチャ上の SQL DB サーバーとクラスターMicrosoftを検索します。 これらのリソースを検出するには、ServiceNow Storeから最新バージョンの ディスカバリーとサービスマッピングパターン アプリケーションに更新する必要がある場合があります。

    ServiceNow® Store での新規または拡張パターンの要求

    次にアクセスしてください: ServiceNow Store 使用可能なすべての更新を表示し、ストアに要求を送信する方法を確認します。リリースされたすべてのアプリのこれまでのリリースノート情報については、 ServiceNow Store バージョン履歴リリースノート.

    SQL Server でサポートされているバージョンの詳細については、「ITOM ヴィジビリティ により検出された製品に関する詳細情報」を参照してください。

    必須条件

    次のアプリケーションが最新の状態であることを確認する
    • ディスカバリーとサービスマッピングパターン バージョン 1.7.0 以降 (2023 年 8 月)
    • ヴィジビリティコンテンツ バージョン 6.12.1 以降 (2023 年 8 月)
    Windows認証情報の作成
    MID サーバーがターゲットの Windows サーバーに接続されていることを確認したら、ServiceNow AI PlatformWindows認証情報を作成します。詳細については、「Windows credentials」を参照してください。
    SQL 認証の使用時に適用可能な認証情報を作成する
    詳細については、「 適用可能な認証情報」を参照してください。
    MID サーバー の構成を確認する
    MID サーバーにリモートモードでWindowsレジストリを読み取るために必要なアクセス許可があることを確認します。MSSql DB On Windows パターンでは、レジストリ値を使用して SQL クラスターの詳細を検出します。
    SQL Server ディスカバリーレポートがアクティブであることを確認する
    SQL Server ディスカバリーレポートがサーバーでアクティブになっていることを確認します。 ディスカバリー は SQL Server ディスカバリーレポートを使用して Microsoft SQL Server コンポーネントを検出します。
    WMI クエリを実行する権限を確認する
    次の WMI 名前空間へのリモート読み取り専用アクセスを確認します。
    • Root\CIMv2
    • Root\Microsoft\SqlServer\ComputerManagement*
    SQL Server テーブルの権限を確認する
    MSSql DB On Windows パターンでは、次のテーブルを読み取るための読み取り専用権限が必要です。
    • @@version
    • sys.configurations
    • sys.dm_exec_sessions
    • sys.dm_os_schedulers
    • SERVERPROPERTY
    可用性グループのテーブルの権限を確認する
    SQL Server Always On 可用性グループを検出するには Microsoft 次のテーブルのアクセス許可を確認します。
    • VIEW SERVER STATEsys.dm_hadr_availability_group_states テーブルへのアクセス
    • 次のテーブルに対する読み取りアクセス権限:
      • sys.availability_groups
      • sys.availability_group_listeners
      • sys.availability_group_listener_ip_addresses

    SQL フェイルオーバークラスターインスタンス (FCI)

    2023 年 8 月以降に ServiceNow® Store から入手可能なパターンのバージョン 1.6.1 セットを更新すると、Always On 可用性グループの詳細と SQL フェイルオーバークラスターを適切に検出できるようになります。フェイルオーバーシナリオが発生すると、MSSql DB On Windows パターンによってフェイルオーバークラスター (ノード 2) が検出されます。次に、新しい MSFT SQL インスタンスとデータベースが作成されます。

    ノード 2 はノード 1 の複製である

    次の手順により、SQL クラスターの適切な可視化が可能になります。
    1. sn_itom_pattern.discover_mssql_cluster.load_cluster_name_from_registry=true MID サーバー プロパティを true に設定して、[MSSQL クラスター情報を収集 - MSSQL クラスター (Collect MSSQL Cluster info- MSSQL Cluster)] 拡張セクションを有効にします。
    2. MSSql DB On Windows パターンをトリガーする sqlservr.exe プロセスがサーバーで実行されていることを確認します。
    3. CI ディスカバリーを実行します。

      詳細については、「ネットワーク内でのディスカバリーの実行」を参照してください。

    4. 重複するインスタンスとデータベースを保持するか、削除してください。
      • 重複したインスタンスとデータベースを保持するには、デフォルト構成を保持します。
        • パッシブクラスターのノードのインストールステータスが [不在] に変更されます。
        • アクティブクラスターのノードのインストールステータスが [インストール済み] に変更されます。
      • パッシブインスタンスとデータベースを削除するには、discovery.mssql.cluster.instance.postsensor.delete システムプロパティを True に設定します。

    Microsoft SQL Server Always On可用性グループのサポート

    バージョン 1.27.0 以降 ディスカバリーとサービスマッピングパターン 、MSSql DB On Windows パターン拡張 Collect MSSQL HADR - Availability Group Info は、 Microsoft SQL Server Always On 可用性グループのディスカバリーをサポートしています。

    [MSSQL HADR の収集 - 可用性グループ情報 (Collect MSSQL HADR - Availability Group Info)] パターン拡張では、既存の CMDB クラスを拡張する次の CI クラスが導入されています。
    表 : 1. このパターンによって導入された CI クラス
    CI クラス 拡張元
    MSSQL 可用性グループ [cmdb_ci_mssql_ag] クラスター [cmdb_ci_cluster]
    MSSQL 可用性グループリスナー [cmdb_ci_mssql_ag_listener] エンドポイント [cmdb_ci_endpoint]
    MSSQL 可用性グループレプリカ [cmdb_ci_mssql_ag_replica] MSSQL クラスターノード [cmdb_ci_mssql_cluster_node]
    図 : 1. MSSQL HADR データの収集のデータモデル - 可用性グループ情報
    MSSQL HADR - 可用性グループ情報の収集 パターン拡張関係

    水平ディスカバリー中にディスカバリーによって収集されるデータ

    ディスカバリー MSSql DB On Windows パターンの実行時に、 CMDB にデータを入力します。

    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance]

    データベース (実際の SQL Server) の実行中のプロセスについて収集されたデータを「データベースインスタンス」といいます。

    フィールド 説明
    名前 [name]

    フィールド名

    例:MSSQLSERVER@windows_server_name

    インスタンス名 [instance_name]

    SQL Server インスタンス名。

    例:MSSQLSERVER

    クラスター化 [is_clustered] 次のいずれかのインストールのタイプを示します。
    • この値が true に設定されている場合、SQL Server はクラスターの一部であり、フェールオーバーメカニズムが有効になります。
    • この値が false に設定されている場合、SQL Server はスタンドアロン展開であり、フェールオーバーメカニズムは無効になります。
    コメント [comments] インスタンスのタイプ:
    • standalone_instance
    • failover_cluster
    • always_on
    バージョン [version] SQL サーバーのバージョン番号。例:16.0.1000.6
    バージョン名 [version_name] リリース日別の SQL サーバーのバージョン。例:値 2022 はバージョン 16.0.1000.6 を表します
    サービスパック [service_pack] サービスパックのバージョン。例:SP2。
    エディション [edition] エディションのタイプ。例:Enterprise Edition。
    TCP ポート [tcp_port] MSSQL インスタンスが接続を受け入れるために使用する TCP ポート。
    インストールステータス [install_status] インスタンスのインストールステータス:

    インストール済み - このインスタンスは現在実行中です。

    不在 - インスタンスは実行されていません。フェイルオーバーシナリオ用のバックアップインスタンスです。

    MSSQL データベース [cmdb_ci_db_mssql_database]
    フィールド 説明
    名前 [name] データベースの名前。例:msdb。
    インストールステータス [install_status] データベースのインストールステータス。
    インスタンス名 [instance_name] MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] テーブルを参照します。
    MSSQL クラスターノード [cmdb_ci_mssql_cluster_node]
    フィールド 説明
    名前 [name] サーバーのホスト名
    IP アドレス [ip_address] ホスティング Windows サーバーの IP アドレス
    クラスター [cluster] SQL クラスターレコードへの参照。
    サーバー [server] ホスティング Windows サーバーレコードへの参照。
    MSSQL クラスター [cmdb_ci_mssql_cluster]
    フィールド 説明
    名前 [name] SQL クラスターネットワーク名​
    IP アドレス [ip_address] SQL クラスターの仮想 IP アドレス。​
    MSSQL サービス情報 [mssql_sqlservice_info]
    フィールド 説明

    説明 [description]

    MSSQL サービスについて説明します。例:「データのストレージ、処理と制御されたアクセス、および迅速なトランザクション処理を提供します。」

    サービス名 [service_name]

    サーバーに表示される MSSQL サービス名。例:MSSQL$NAMEDMSSQL2016

    バイナリパス [binary_path]

    サービスのファイルパス。例:C:\Program Files\Microsoft SQL Server\MSSQL13.NAMEDMSSQL2016\MSSQL\Binn\sqlservr.exe

    CI [ci]

    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] テーブルを参照します。

    インストール先 [installed_on]

    Windows サーバーレコード [cmdb_ci_win_server] への参照
    注:
    このフィールドは、スタンドアロン展開では入力されません。
    MSSQL コンポーネント情報 [mssql_components_info]
    フィールド 説明

    インストールパス [install path]

    コンポーネントサービスのインストールパス。例:C:\Program Files\Microsoft SQL Server\MSSQL16.SQLEXPRESS\MSSQL

    サービス名 [service_name]

    サーバーのコンポーネントサービスタイプ。例:「データベースエンジンサービス

    SKU 名 [sku_name]

    コンポーネントサービスの MSSQL バージョン。例:Express Edition (64 ビット)

    バージョン [version]

    コンポーネントサービスの MSSQL バージョン番号。

    CI [ci]

    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] テーブルを参照します。

    インストール先 [installed_on]

    Windows サーバーレコード [cmdb_ci_win_server] への参照。
    注:
    このフィールドは、SQL クラスターに対してのみ入力され、スタンドアロン展開では入力されません。
    MSSql DB On Windows パターン拡張:MSSQL HADR - 可用性グループ情報を収集
    表 : 2. MSSQL 可用性グループ [cmdb_ci_mssql_ag]
    フィールド 説明
    クラスター ID [cluster_id] 可用性グループのグローバル一意識別子 (GUID)。
    名前 [name] クラスター名。
    IP アドレス [ip_address] クラスターの IP アドレス。
    表 : 3. MSSQL 可用性グループレプリカ [cmdb_ci_mssql_ag_replica]
    フィールド 説明
    レプリカ ID [replica_id] レプリカの一意の ID。
    ロール [role] レプリカのロール。
    可能な値:
    • プライマリ
    • セカンダリ
    • 解決中
    可用性モード [availability_mode] レプリカの可用性モード。
    可能な値:
    • 非同期コミット
    • 同期コミット
    • 構成のみ
    フェイルオーバーモード [failover_mode] 可用性レプリカのフェイルオーバーモード。
    可能な値:
    • 自動
    • 手動
    読み取り可能なセカンダリ [readable_secondary] セカンダリの役割を実行している可用性レプリカがクライアントからの接続を受け入れることができるかどうか。
    可能な値:
    • true
    • false
    可用性グループ [availability_group] MSSQL 可用性グループ [cmdb_ci_mssql_ag] テーブルを参照します。
    名前 [name] レプリカサーバーの名前。
    シリアル番号 [serial_number] レプリカの一意の ID。
    ステータス [state] フェイルオーバーステータス。
    可能な値:
    • 保留中
    • オンライン
    • オフライン
    • 失敗
    • 失敗、クォーラムなし
    表 : 4. MSSQL 可用性グループリスナー [cmdb_ci_mssql_ag_listener]
    フィールド 説明
    名前 [name] 可用性グループリスナーの名前。
    リスナー ID [listener_id] Windowsサーバーフェイルオーバークラスタリング (WSFC) クラスターのリソースグローバル一意識別子 (GUID)。
    IP サブネットマスク [ip_subnet_mask] 可用性グループ リスナー用に構成されている IPv4 アドレス (存在する場合) の IP サブネット マーク。
    可用性グループ [availability_group] MSSQL 可用性グループ [cmdb_ci_mssql_ag] テーブルを参照します。

    CI 関係

    Windows 上の MSSql DB パターンでは、SQL Server とクラスター Microsoft ディスカバリーをサポートするために、次の関係と参照を作成します。 参照は他のテーブルのレコードにリンクされ、CI 関係 [cmdb_rel_ci] テーブルには表示されません。

    表 : 5. CI 関係
    CI 関係 CI
    Windows サーバー [cmdb_ci_win_server] Runs::Runs on MSSQL クラスター [cmdb_ci_mssql_cluster]
    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] Runs::Runs on MSSQL クラスター [cmdb_ci_mssql_cluster]
    MSSQL クラスターノード [cmdb_ci_mssql_cluster_node] Cluster::Cluster of​ MSSQL クラスター [cmdb_ci_mssql_cluster]
    MSSQL クラスターノード [cmdb_ci_mssql_cluster_node] Hosted on::Hosts Windows サーバー [cmdb_ci_win_server]
    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] Runs on::Runs Windows サーバー [cmdb_ci_win_server]
    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] Runs on::Runs MSSQL クラスターノード [cmdb_ci_mssql_cluster_node]
    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] Contains::Contained by​ MS SQL データベース [cmdb_ci_db_mssql_database]
    表 : 6. CI 参照
    CI フィールド 参照 CI
    MSSQL クラスターノード [cmdb_ci_mssql_cluster_node] クラスター [cluster] MSSQL クラスター [cmdb_ci_mssql_cluster]
    MSSQL クラスターノード [cmdb_ci_mssql_cluster_node] サーバー [server] Windows サーバー [cmdb_ci_win_server]
    MSSQL サービス情報 [mssql_sqlservice_info]* CI [ci] MSFT SQL インスタンス [cmdb_ci_db_mssql_instance]
    MSSQL コンポーネント情報 [mssql_components_info] CI [ci] MSFT SQL インスタンス [cmdb_ci_db_mssql_instance]
    MS SQL データベース [cmdb_ci_db_mssql_database] インスタンス名 [instance_name] MSFT SQL インスタンス [cmdb_ci_db_mssql_instance]
    * この参照は、パターンが WMI クエリーを使用する場合にのみ作成されます。

    Windows 上の MSSql DB パターンでは、[ MSSQL HADR の収集 - 可用性グループ情報 (Collect MSSQL HADR - Availability Group Info )] パターン拡張を使用して、次の関係と参照を作成します。 参照は他のテーブルのレコードにリンクされ、CI 関係 [cmdb_rel_ci] テーブルには表示されません。

    表 : 7. CI 関係
    CI 関係 CI
    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance] メンバー::メンバー MSSQL 可用性グループレプリカ [cmdb_ci_mssql_ag_replica]
    MSSQL 可用性グループリスナー [cmdb_ci_mssql_ag_listener] Used by::Uses MSSQL 可用性グループ [cmdb_ci_mssql_ag]
    MSSQL 可用性グループレプリカ [cmdb_ci_mssql_ag_replica] Contains::Contained by MS SQL データベース [cmdb_ci_db_mssql_database]
    MSSQL 可用性グループレプリカ [cmdb_ci_mssql_ag_replica] Cluster of::Cluster MSSQL 可用性グループ [cmdb_ci_mssql_ag]
    MSSQL 可用性グループレプリカ [cmdb_ci_mssql_ag_replica] Hosted on::Hosts Windows サーバー [cmdb_ci_win_server]
    表 : 8. CI 参照
    CI フィールド 参照 CI
    MSSQL 可用性グループリスナー [cmdb_ci_mssql_ag_listener] 可用性グループ [availability_group] MSSQL 可用性グループ [cmdb_ci_mssql_ag]
    MSSQL 可用性グループレプリカ [cmdb_ci_mssql_ag_replica] 可用性グループ [availability_group] MSSQL 可用性グループ [cmdb_ci_mssql_ag]