はじめに
最近熱くなってきて、記事を書く気力が減ってきているのですが、
最近システムテーブルの監査有効化方法を知ったので備忘録として残します。
通常のテーブルであれば
ALL>System Definition>Dictionaryからaudit=Trueで監査有効になりますが、システムテーブル系は別の手法のようです。
方法としては下記の公式Docsを見ればOKです。
システムテーブルの監査を有効にする
PDI環境
試したPDI環境はこんな感じです。
Version: Zurich

そろそろAustraliaにしたい
sys_attachmentで監査を有効にする
監査を有効化する前に適当なワークスペースの添付ファイルを削除してみます。
監査はレコードの記録を取る為に利用すると思いますが、削除時の復元にも役立ちます。
監査有効化状態だと、sys_audit_delete.listなどから復元が出来ますが、sys_attachmentテーブルはデフォルトで監査有効状態ではないので、当然このリストには入ってきません。
次に、公式Docsの手順通り、glide.ui.audit_deleted_tablesプロパティに追加します。
sys_properties.listを開いて、glide.ui.audit_deleted_tablesプロパティを開きます。

Valueにsys_attachmentとsys_attachment_docを追加して更新します。
再度、適当なワークスペースの添付ファイルを削除します。
【削除後】

ここでsys_audit_delete.listを確認します。
削除した添付ファイルレコードが記録されている事を確認できます。

対象のレコードを開いてUndelete Recordをクリックして復元します。

添付ファイルを削除したレコードを見てみると、復元できている事を確認できます。

終わりに
簡単ですが、添付ファイル(sys_attachment)を監査有効にする方法と復元方法を確認しました。カスタムテーブルを監査有効にしておくと、レコード削除時に添付されていた添付ファイルも復元されるのですが、添付ファイルを直で削除するようなシーンだと本記事の対応が必要になるみたいです。何故なのか。
今回は添付ファイルを記事にしましたが、同じ方法でsys_templateなんかも監査対象にできます。テンプレートの場合だとまた別の対応も出てくるのですがそれはまたの機会に。
参考URL
以下のURLを参考にしました。有益なサイト達に感謝します。
システムテーブルの監査を有効にする
ServiceNow – うっかりデータ・レコードを消してしまったときの復元方法
【ServiceNow】レコード更新箇所の特定方法
ServiceNow インスタンスから削除されたデータを復元する方法


