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

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

SQL Server でデータベースの変更を見つける方法

SQL Server でデータベースの変更を見つける方法

Netwrix Auditor for SQL Server

  1. Netwrix Auditor を実行 → 「Search」へ移動 → 選択されていない場合は「Advanced mode」をクリック → 次のフィルターを設定します:
    • フィルター = "データ ソース"
      演算子 = "等しい"
      値 = "SQL Server"
    • フィルター = "オブジェクトの種類"
      演算子 = "等しい"
      値 = "データベース"
    • フィルター = "アクション"
      演算子 = "等しい"
      値 = "変更済み"
  2. 「検索」ボタンをクリックし、データベースに対してどのような変更が行われたか確認してください。
a screenshot of the search page in microsoft sql server

詳しくはこちら:Netwrix Auditor for SQL Server

ネイティブ監査

  • MS SQL Management Studio を起動 → 図る対象のデータベースに接続 → 「New Query」をクリック → 次のコードを「New Query」ボックスに貼り付けます:
      DECLARE @RC int, @TraceID int, @on BIT
EXEC @rc = sp_trace_create @TraceID output, 2, N'C:\path\file'
SELECT RC = @RC, TraceID = @TraceID
-- Follow Common SQL trace event list and common sql trace
-- tables to define which events and table you want to capture
SELECT @on = 1
EXEC sp_trace_setevent @TraceID, 128, 1, @on
-- (128-Event Audit Database Management Event, 1-TextData table column)
EXEC sp_trace_setevent @TraceID, 128, 11, @on
EXEC sp_trace_setevent @TraceID, 128, 14, @on
EXEC sp_trace_setevent @TraceID, 128, 35, @on 
EXEC @RC = sp_trace_setstatus @TraceID, 1
GO
      
  • ファイル トレースの場所(赤でマークされている)を指定し、「Execute」を押して新しいトレースを開始します。
  • データを監査したいときにトレースを停止するには、このクエリを実行します:
      sp_trace_setstatus @traceid = 1, @status = 0
      
  • トレースをデータベース テーブルに取り込むために、このクエリを実行します:
      USE DBname
SELECT * INTO tablename FROM ::fn_trace_gettable('C:\path\file.trc', DEFAULT)
GO
      
  • このクエリを実行して、トレース データの先頭 1000 行を表示します。
      SELECT TOP 1000 [TextData] ,[HostName] ,[LoginName] ,[StartTime] ,[EndTime] ,[ServerName] ,[EventClass]
FROM [DBname].[dbo].[tablename]
WHERE DBname.dbo.tablename.TextData IS NOT NULL
      
  • 変更されたデータベースが何であるかを知るには、イベント(CREATE DATABASE、DROP DATABASE、ALTER DATABASE)について "TextData" 列を確認してください。誰が変更し、いつ変更されたかを調べるには、それぞれ "LoginName" 列と "StartTime" 列を参照します。
a row of text data is displayed in a table

重要なデータが危険にさらされる前に、SQL Server 全体でデータベースの変更を検出

なぜ SQL Server のデータベース変更を見つける必要があるのでしょうか。データベースやそのオブジェクトの削除、変更、作成など、あらゆる不正な SQL Server のデータベース変更は、データのセキュリティを危険にさらす可能性があるからです。たとえば削除や変更によって、データの喪失やシステムの利用不可が発生することがあります。新しいデータベースの作成でさえ問題になり得るのは、サーバー上の空き容量が減ってしまうためです。

Netwrix Auditor for SQL Server は、スキーマ変更、データ変更などを含む、信頼性の高いデータベース変更の追跡と監査を容易にします。たとえば、誰がテーブルを変更したのかを特定するために Transact-SQL でクエリを設定するのに何時間も費やす必要はもうありません。Netwrix Auditor for SQL Server では、各データベース変更に関するすべての重要な詳細を、読みやすい形式で提供する事前定義およびカスタマイズ可能なダッシュボードとレポートを提供します。さらに、Interactive Search 機能により問題の根本原因に数分で到達でき、重要なアクティビティに対するアラートによって、起こり得る脅威をいち早く把握できます。

共有する