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

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:9分
  • ディスカバリー および サービスマッピング アプリケーションは、Windows パターンの MSSQL DB を使用して、インフラストラクチャ上の Microsoft SQL DB サーバーとクラスターを検索します。これらのリソースを検出するには、ServiceNow Store から ディスカバリーとサービスマッピングパターン 機能セットを更新する必要があります。

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

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

    前提条件

    アプリケーションが最新の状態であることの確認
    • ディスカバリーとサービスマッピングパターン バージョン 1.7.0 以降 (2023 年 8 月)
    • ヴィジビリティコンテンツ バージョン 6.12.1 以降 (2023 年 8 月)

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

    Windows 認証情報の構成の確認
    MID サーバー がターゲット Windows サーバーに接続されていることを確認します。詳細については、「Windows credentials」を参照してください。
    SQL 認証を使用する場合は、適用可能な認証情報の構成を確認します。
    MID サーバー の構成を確認する
    MID サーバー に、リモートモードで Windows レジストリを読み取るために必要なアクセス許可があることを確認します。Windows の MSSQL DB は、レジストリ値を使用して SQL クラスターの詳細を検出します。
    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
    MSSQL セットアップディスカバリーレポートの構成を確認する
    パターンでは、MSSQL セットアップディスカバリーレポートを使用してディスカバリーを実行します。

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

    2023 年 8 月以降に ServiceNow® Store から入手可能なパターンのバージョン 1.6.1 セットを更新すると、Always On 可用性グループの詳細と SQL フェイルオーバークラスターを適切に検出できるようになります。フェイルオーバーシナリオが発生すると、Windows パターン上の MSSQL DB がフェイルオーバークラスター (ノード 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. Windows パターンで MSSQL DB をトリガーするための sqlservr.exe プロセスがサーバーで実行されていることを確認します。
    3. CI ディスカバリーを実行します。

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

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

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

    MSFT SQL インスタンス [cmdb_ci_db_mssql_instance]

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

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

    フィールド名

    例:MSSQLSERVER@windows_server_name

    インスタンス名 [instance_name]

    MSSQL インスタンスの名前。

    例:MSSQLSERVER

    クラスター化 [is_clustered] 次のいずれかのインストールのタイプを示します。
    • この値が True の場合、SQL Server はクラスターの一部であり、フェイルオーバーメカニズムが有効です。
    • この値が False の場合、SQL Serer はスタンドアロン展開であり、フェールオーバーメカニズムは無効です。
    コメント [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] インスタンス名。
    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 インスタンスレコードへの参照。

    インストール先 [installed_on]

    Windows サーバーレコード [cmdb_ci_win_server] への参照。
    注:
    このフィールドは、SQL クラスターに対してのみ入力され、スタンドアロン展開では入力されません。

    CI 関係

    Windows 上の MSSQL DB パターンは、次の表に示す [MSSQL コンポーネント情報の収集 (Collect MSSQL Components Info)] 拡張セクションを使用して 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​

    参照 [cluster]

    MSSQL クラスター

    [cmdb_ci_mssql_cluster]​

    Windows サーバー​

    [cmdb_ci_win_server]​

    Hosts::Hosted by​

    参照 [server]

    MSSQL クラスターノード​

    [cmdb_ci_mssql_cluster_node]​

    MSFT SQL インスタンス​

    [cmdb_ci_db_mssql_instance]

    Runs on::Runs

    Windows サーバー​

    [cmdb_ci_win_server]​

    MSFT SQL インスタンス​

    [cmdb_ci_db_mssql_instance]

    Contains::Contained by​

    MS SQL データベース​

    [cmdb_ci_db_mssql_database]​

    [mssql_sqlservice_info]

    注:
    この関係は、パターンが WMI クエリを使用する場合にのみ作成されます。
    参照

    [cmdb_ci_mssql_instance]