Netwrix 1Secureは、データとアイデンティティ全体にわたる統合された可視性を提供します。14日間の無料トライアルでフルアクセス可能です。無料トライアルを開始

リソースセンターハウツーガイド

SQL Server の監査トリガーを作成する方法

SQL Server の監査トリガーを作成する方法

Netwrix Auditor for SQL Server

  1. Netwrix Auditor を実行 →「Reports」を選択 →「SQL Server」を選択 →「All SQL Server Data Changes」レポートを選択 →「View」をクリック。
  2. このレポートを購読して、電子メールで受け取るか、設定したスケジュールに従って指定した共有フォルダーに配信してもらえます。

レポート例:

a table showing all data manipulations that occurred on a specified sql server .

さらに詳しく: Netwrix Auditor for SQL Server

ネイティブ監査

  • 変更を記録するために、監査対象のデータベースと同じ列を持つ監査テーブルを作成します。たとえば、ContactID、DateAquired、ContactStatus の列を持つ Sales 1 というテーブルを監査する必要があります。
      create table AuditTable1
(
AuditID integer Identity(1,1) primary key,
ContactID integer,
DateAquired datetime,
ContactStatus varchar(20),
WhoChanged nvarchar(128),
WhenChanged datetime
) 
go
      
  • 次のスクリプトを実行して Audit トリガーを作成します:(公開キーでテーブルを結合する必要があります。今回の例では ContactID です)。
      create trigger AuditTrigger1 on Sales1
after update, insert
as
begin
insert into AuditTable1
(ContactID, DateAquired, ContactStatus, WhoChanged, WhenChanged)
select i.ContactID, i.DateAquired, i.ContactStatus, SUSER_SNAME(), getdate()
from Sales1 t
inner join inserted i on t.ContactID=i.ContactID
end
go
      
  • トリガーを作成すると、すべての変更が新しく作成したテーブルに記録されます。この簡単なクエリを実行することで、テーブル(AuditTable1)内のすべての変更を確認できます:
      Select * from AuditTable1 order by WhenChanged
      

レポート例:

report sample table

INSERT または UPDATE のテーブルに対する SQL Server の監査トリガー作成を超えて:重要データへの脅威を軽減する

SQL Server は、IT インフラストラクチャにおける最も重要なシステムの 1 つであり、貴重なデータを保存し、多くの業務ミッションクリティカルなアプリケーションのバックエンドとして機能します。更新や挿入など、機微なデータを含むテーブルに対する不適切な操作がたとえ小さなものであっても、データの整合性が損なわれる原因になり得るため、SQL Server テーブルの変更を追跡することはデータベース管理者にとって最優先事項であるべきです。ネイティブ ツールを使用すれば、SQL Server の監査トリガーを作成できます。たとえば、データの挿入、更新、削除といったテーブルの変更を追跡するためのトリガーを作成することができます。ただし、監査トレイル(audit trail)に変更内容を記録する SQL Server の監査トリガーを作成するには、Transact-SQL に精通している必要がある点に留意してください。さらに、監査要件を満たすために、追跡する必要がある各テーブルごとに、類似しているが異なるトリガーを作成する必要があります。

テーブル、スキーマなどの変更を見守るには、SQL Server のデータベース監査トリガーや DDL トリガーを手作業で作成したり、理解しづらいデータをひたすら手探りで追跡したりするより、もっと簡単でより良い方法があります。Netwrix Auditor for SQL Server は、どのような変更が機密情報に対して行われたのか、誰がいつ変更したのかを含め、SQL サーバー全体で何が起きているかを最大限に可視化します。複数の SQL Server 監査テーブル トリガーを設定する手間は不要です。このソリューションは、すべてのテーブルおよびデータベースから変更を自動的に収集し、統合します。あらかじめ用意されたレポートにより変更を簡単に把握でき、Interactive Search 機能なら異常な変更の調査も容易です。これにより、手遅れになる前にデータの脅威を先回りして捕捉できます。

共有する