はじめに:なぜ「設定とデータの混同」が事故になるのか
ServiceNowを触り始めた頃、いちばん混乱しやすいのが「これって設定?それともデータ?」という境界線です。
たとえば、フォームの項目を追加したのは“設定”っぽい。一方でIncidentのレコードは“データ”っぽい。でも、Choice(選択肢)や通知、グループ、ナレッジ、CMDB……このあたりは、状況によって“設定の一部”として扱われたり、“業務データ”として扱われたりして、途端にややこしくなります。
この混同が怖いのは、ミスが「静かに」起きるからです。
- 移送したつもりの変更が入っていない(本番で挙動が違う)
- “設定だけ”移したつもりがデータまで巻き込む(意図せず上書き)
- クローン後に必要なデータが消えた/逆に残るべきものが残っていない
- 監査・権限・通知がズレて、気づいた時には運用が混乱している
この記事では、暗記ではなく仕組みから「設定とデータ」を切り分ける考え方を整理します。CSA(Certified System Administrator)学習でも、ここが腹落ちすると用語や挙動の理解が一気に楽になります。
本番形式で慣れるのが合格への近道。UdemyのServiceNow模擬問題集を人気順で一覧比較できます👇
設定とデータの違いをServiceNowの仕組みでつかむ
「Update Setは何を運ぶのか」を言語化する
ServiceNow公式ドキュメントでは、Update Set(更新セット)はインスタンス間で移動できる構成変更のグループとして説明されています。つまり基本は「設定の移送」です。
では、なぜ混乱が起きるのか。ポイントは、ServiceNow内部では“設定”がただの概念ではなく、特定の条件を満たすレコードとして管理されていることです。
サポート記事(公式KB)では、ある更新(update)がsys_update_xmlに取り込まれUpdate Setに入るには、対象テーブル側に update_synch=true の属性が必要だと説明されています。
この「update_synch」という仕組みの存在が、混同を生みます。
- update_synch が有効なテーブルのレコード変更
→ “データっぽい操作”でもUpdate Setに入る可能性がある - update_synch が無効なテーブルのレコード変更
→ “設定したつもり”でもUpdate Setに入らない可能性がある
つまり、人間の感覚(設定っぽい/データっぽい)と、プラットフォームの捕捉条件(update_synch)が一致しないことが事故の根っこです。
「設定」=メタデータに寄るもの、「データ」=業務レコードに寄るもの
実務・学習の両方で役に立つ、ざっくりした判定軸を置きます。
- 設定に寄るもの:画面、項目定義、ルール、権限、ワークフロー/フロー、通知、UI、辞書、スクリプトなど
→ “仕組み”を変える - データに寄るもの:Incident/Requestなどのチケット、CMDBのCI、ユーザの業務履歴、添付、ログ、実運用のトランザクション
→ “結果”が溜まる
ただし、Choiceやナレッジ、ユーザ・グループ、CMDBなどは境界に立ちます。
ここで大事なのは、何として扱うかを運用で決めることです。プラットフォームは、あなたの意図までは汲んでくれません。
事故が起きる典型パターン:Update Set・アプリ配布・クローン
パターン1:Update Setで「設定のつもり」が入っていない
Update Setは設定変更の移送に便利ですが、さきほどの通り「捕捉される条件」があります。
公式KBの説明通り、update_synch=true など条件を満たさないと、sys_update_xml に取り込まれず、結果としてUpdate Setに入らないことがあります。
ありがちな事故の流れはこうです。
- 開発環境で調整した(つもり)
- Update Setを移送した(つもり)
- 本番で動かない
→ ある設定がUpdate Setに入っていなかった
この手の事故は、「作業者が悪い」というより仕組みの理解不足で起こります。CSA学習では、Update Setが“万能な移送箱”ではないことを、ここで腹落ちさせるのが近道です。
パターン2:Update Setで「データのつもり」が巻き込まれて上書きされる
逆方向の事故もあります。
- 開発環境でChoiceやテンプレート、グループ周りをいじった
- それがUpdate Setに入っていた
- 本番へ適用したら、運用中に積み上がっていた内容が上書きされる
“設定”として扱うべきものに、現場が“データ”として手を入れて運用していたケースが典型です。
この事故は、技術よりも **「境界線の合意不足」**で起きます。
パターン3:アプリケーション配布で「設定だけ」のつもりがズレる
Scoped Appを組織内の別インスタンスへ配布する場合、ServiceNow公式のアプリケーションリポジトリ(Application Repository)が手段になります。
公式ドキュメントでは、アプリケーションリポジトリはインスタンス間でアプリをアップロード・配布するための仕組みで、アプリを公開(Publish)して他インスタンスにインストールできるようにすると説明されています。
ただし、ここでも「アプリに含めるもの/含めないもの」の設計次第で、設定とデータが混ざりやすくなります。
特に、運用側がアプリ内のテーブルを“業務データ置き場”として使い始めると、配布・更新時に齟齬が起きます。
パターン4:クローンで「残るはずのデータ」が消える/「消えるはず」が残る
開発・検証環境を本番に近づけるためにインスタンスクローンは定番ですが、ここでも混同が事故を呼びます。
ServiceNow公式ドキュメントのClone Optionsでは、Exclusion List に入れたテーブルは、レコードがクローン対象から除外される一方、テーブルのスキーマ自体はクローンされ、対象インスタンス側には“空だが使えるテーブル”が残ると説明されています。
つまり「設定(スキーマ)」と「データ(レコード)」が明確に分かれて扱われています。
この仕組みを知らずにいると、
- “データだけ残したい”のに、Excludeで空になってしまう
- “データは捨てたい”のに、Preserveの考え方と混ざって意図しない状態になる
といった混乱が起きやすくなります。
事故を防ぐ運用ルール:分け方・移し方・確認の順番
ここからは、今日から使える「事故を起こしにくい型」をまとめます。ポイントはシンプルで、設定とデータの移動手段を分けることです。
まず決める:これは“設定として管理”か、“データとして運用”か
境界が曖昧な領域(Choice、テンプレ、グループ、CMDBなど)ほど、チームで合意しておくと強いです。
- 設定として管理する:変更は開発→レビュー→移送で行う。直接本番編集は最小限。
- データとして運用する:更新頻度が高い、運用担当が日々メンテする。移送で上書きしない設計にする。
この合意がないと、技術的に正しい操作をしても事故になります。
Update Setの使いどころを絞る
公式ドキュメントの通りUpdate Setは「構成変更の移送」に向いています。
なので、運用ルールとしてはこうすると安定します。
- Update Setは「設定」を運ぶものとして扱う
- “データ寄り”のものを運びたくなったら、一度立ち止まる
→ その変更は本当に設定か?データか?
そして、Update Setに入る/入らないの条件があること(update_synch)を意識します。
「入っていない」事故を防ぐには、適用前にプレビューや差分確認の癖をつけるのが効果的です。
アプリケーションの配布は「アプリとしての単位」を崩さない
Scoped Appをインスタンス間で配布するなら、アプリケーションリポジトリで公開してインストールするのが公式に整理された導線です。
このときの事故防止策は、アプリ内に“運用データ”を溜め込まない設計に寄せること。どうしても必要なら、更新・配布の影響範囲を明文化しておくと、後から揉めません。
クローン時は「スキーマは来る、データは制御できる」を前提にする
公式Clone Optionsの説明の通り、Excludeしたテーブルはレコードが来ず、スキーマは来ます。
この前提を持っておくと、クローン計画が立てやすくなります。
- どうしても守りたいデータがある
→ クローン設計(除外・保護・復元計画)を先に作る - 守りたいのは“設定”なのか“データ”なのか
→ そこで手段が変わる
「クローンは環境を揃えるためのもの」ですが、揃える対象を間違えると事故になります。
最後に効くチェックリスト
本番適用や大きめの移送の前に、これだけでも事故率が下がります。
- これは設定?データ?どちらとして扱う?
- Update Setで運ぶ根拠はある?(捕捉条件を意識できている?)
- アプリ配布なら、アプリの責務として自然?(データを抱えすぎていない?)
- クローンなら、テーブルのスキーマとレコードの扱いを分けて設計できている?
- 変更後に誰が、どこで運用する?(本番で直接触る前提になっていない?)
CSA学習に効く理解ポイントと、体系的に学ぶ教材の一例
CSAを目指す段階では、用語の暗記よりも「挙動が想像できる」状態を作る方が伸びます。
今回のテーマで押さえると効きやすいのは次の3点です。
- Update Setは「構成変更のグループ」である(万能な移送箱ではない)
- Update Setに入るかどうかは、テーブル側の条件など“仕組み”が関係する
- クローンでは「スキーマは来るが、レコードは制御できる」という分離が基本になる
このあたりを、ハンズオンで一度手を動かして整理すると記憶に残りやすいです。
独学で体系的に進めたい場合は、UdemyのServiceNow CSA向け講座や、管理者向けの基礎を扱う講座を**“教材の一例”**として検討すると、全体像→用語→操作の順で繋げやすくなります。特に、Update Setやアプリの概念、権限やクローン周辺まで一通り触れる構成のものだと、今回の「混同による事故」の防止にも直結します。
本番形式で慣れるのが合格への近道。UdemyのServiceNow模擬問題集を人気順で一覧比較できます👇
まとめ:境界線を決めると、ServiceNow運用は一気に安定する
設定とデータを混同して起きる事故は、技術ミスというより「境界線が曖昧なまま運用している」ことが原因になりがちです。
ServiceNowでは、Update Setが“構成変更”を運ぶ仕組みとして用意されている一方で、取り込み条件(update_synch など)のような内部ルールがあり、感覚だけで判断するとズレやすくなります。
また、クローンではスキーマとレコードが分離して扱われるため、「守りたいのは設定かデータか」を間違えると、意図しない空テーブルやデータ欠落につながります。
さらに、アプリ配布(アプリケーションリポジトリ)も便利ですが、アプリの責務と運用データの置き方を混ぜると、更新や配布のタイミングで齟齬が出やすくなります。
今日からできる対策はシンプルです。
- 境界が曖昧な領域ほど「設定として管理する/データとして運用する」を先に決める
- 設定はUpdate Setやアプリ配布、データは別手段、と移送ルートを分ける
- 適用前に、どの変更がどの手段で運ばれるかを確認する癖をつける
この整理ができると、トラブルを避けられるだけでなく、CSA学習でも「用語が点ではなく線で理解できる」ようになります。

