Microsoft SQL Server とクラスターディスカバリー
ディスカバリーとサービスマッピングパターン アプリケーションは、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 PlatformでWindows認証情報を作成します。詳細については、「Windows credentials」を参照してください。
- SQL 認証の使用時に適用可能な認証情報を作成する
- 詳細については、「 適用可能な認証情報」を参照してください。
- MID サーバー の構成を確認する
- MID サーバーにリモートモードでWindowsレジストリを読み取るために必要なアクセス許可があることを確認します。MSSql DB On Windows パターンでは、レジストリ値を使用して SQL クラスターの詳細を検出します。
- SQL Server ディスカバリーレポートがアクティブであることを確認する
- SQL Server ディスカバリーレポートがサーバーでアクティブになっていることを確認します。 ディスカバリー は SQL Server ディスカバリーレポートを使用して Microsoft SQL Server コンポーネントを検出します。
- WMI クエリを実行する権限を確認する
- 次の WMI 名前空間へのリモート読み取り専用アクセスを確認します。
Root\CIMv2Root\Microsoft\SqlServer\ComputerManagement*
- SQL Server テーブルの権限を確認する
-
MSSql DB On Windows パターンでは、次のテーブルを読み取るための読み取り専用権限が必要です。
@@versionsys.configurationssys.dm_exec_sessionssys.dm_os_schedulersSERVERPROPERTY
- 可用性グループのテーブルの権限を確認する
- SQL Server Always On 可用性グループを検出するには Microsoft 次のテーブルのアクセス許可を確認します。
- VIEW SERVER STATE
sys.dm_hadr_availability_group_statesテーブルへのアクセス - 次のテーブルに対する読み取りアクセス権限:
sys.availability_groupssys.availability_group_listenerssys.availability_group_listener_ip_addresses
- VIEW SERVER STATE
SQL フェイルオーバークラスターインスタンス (FCI)
2023 年 8 月以降に ServiceNow® Store から入手可能なパターンのバージョン 1.6.1 セットを更新すると、Always On 可用性グループの詳細と SQL フェイルオーバークラスターを適切に検出できるようになります。フェイルオーバーシナリオが発生すると、MSSql DB On Windows パターンによってフェイルオーバークラスター (ノード 2) が検出されます。次に、新しい MSFT SQL インスタンスとデータベースが作成されます。
- sn_itom_pattern.discover_mssql_cluster.load_cluster_name_from_registry=true MID サーバー プロパティを true に設定して、[MSSQL クラスター情報を収集 - MSSQL クラスター (Collect MSSQL Cluster info- MSSQL Cluster)] 拡張セクションを有効にします。
- MSSql DB On Windows パターンをトリガーする sqlservr.exe プロセスがサーバーで実行されていることを確認します。
- CI ディスカバリーを実行します。
詳細については、「ネットワーク内でのディスカバリーの実行」を参照してください。
- 重複するインスタンスとデータベースを保持するか、削除してください。
- 重複したインスタンスとデータベースを保持するには、デフォルト構成を保持します。
- パッシブクラスターのノードのインストールステータスが [不在] に変更されます。
- アクティブクラスターのノードのインストールステータスが [インストール済み] に変更されます。
- パッシブインスタンスとデータベースを削除するには、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 可用性グループのディスカバリーをサポートしています。
| 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] |
水平ディスカバリー中にディスカバリーによって収集されるデータ
ディスカバリー 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] テーブルには表示されません。
| 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] |
| 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] |
Windows 上の MSSql DB パターンでは、[ MSSQL HADR の収集 - 可用性グループ情報 (Collect MSSQL HADR - Availability Group Info )] パターン拡張を使用して、次の関係と参照を作成します。 参照は他のテーブルのレコードにリンクされ、CI 関係 [cmdb_rel_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] |
| 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] |