ネイティブMicrosoftツールを使用したSQL Serverの変更の追跡

主キーが変更された場合、またはストアドプロシージャへのアクセス許可が気にせずに更新された場合はどうなりますか? 変更データキャプチャ(CDC)のみを使用してSQL Serverを追跡するだけでは、重要なデータベースの変更を把握するのに十分ではありません。 確かに、信頼性が高く効率的なSQL Serverの変更追跡がなければ、SQL server全体で何が起こっているのかを制御することはできません。

Sql Serverのネイティブ変更追跡

SQL Serverでは同期追跡メカニズムが使用されており、データ操作言語(DML)の変更がコミットされると変更が登録されます。 たとえば、変更追跡を使用して、誰がどのテーブルを削除したのか、どの行が変更されたのかを確認できます。 ただし、変更されたデータ、変更された列、ユーザーが作成したテーブルの詳細など、より詳細な変更追跡情報を取得するには、Transact-SQLで一連のクエリを記述する必 さらに、変更の追跡を有効にするとサーバーがすぐにいっぱいになるため、パフォーマンスと可用性が低下するディスク領域が不足しないように、常にクリー

SQL Serverの変更追跡を使用するには、データベースの変更追跡とテーブルの変更追跡の二つのネストされたレベルで変更追跡を有効にする必要があります。

データベースの変更追跡を有効にする

変更追跡を機能させるには、データベースがSQL Server2005互換性レベル以上である必要があります。 サーバーデータベースのバージョン番号を確認するには、”SELECT@@VERSION”クエリを実行します。 データベースごとに変更の追跡を個別に有効にする必要があります。

データベースレベルで変更の追跡を有効にするには、SQL Server Management Studioを使用するか、次のT-SQLクエリを実行します:

ALTER DATABASE Accounting2020
SET CHANGE_TRACKING=ON
(CHANGE_RETENTION=3日、AUTO_CLEANUP=ON)

変更の追跡を有効にした後、CHANGE_RETENTIONパラメーターとAUTO_CLEANUPパラメーターを変更することで、異なる保持期間を設定できます。

テーブルの変更追跡の有効化

データベースと同様に、テーブルの変更を追跡するには、各テーブルで個別に追跡を有効にする必要があります。 ここでも、SQL Server Management Studioで、またはこの例のようなクエリでこれを行うことができます:

ALTER TABLE Contracts
ENABLE CHANGE_TRACKING
WITH(TRACK_COLUMNS_UPDATED=ON)

テーブルの変更追跡が有効になると、一般的なSQL文(SELECT、INSERT、UPDATE、DELETEなど)によって変更されたすべての行に関する情報が表示されます。)は内部的に格納されます。

TRACK_COLUMNS_UPDATEDパラメータは、列の変更追跡をオンまたはオフに設定するために使用されます。 オンの場合、SQL Serverには更新された列に関する追加情報が格納されます。 ただし、列情報の追跡は記憶域のオーバーヘッドになるため、このオプションは既定で無効になっており、履歴データを必要としないすべてのアプリケーション

Netwrix Auditorを使用した簡単で効率的な変更追跡

クエリを記述し、データを手動でクロールする必要があるネイティブの変更追跡ツールとは異なり、Netwrix Auditor for SQL Serverは、変更を簡単に発見し、すべての重要な詳細を見ることができる事前に構築されたダッシュボードとレポートを提供します。 たとえば、削除された列やユーザーロールが変更されたこと、および各変更の前後の値が表示されます。 対話型検索を使用すると、疑わしい変更をすばやく調査することができ、データベースの使用不能やその他の中断を防ぐことができます。

Netwrix Auditorを使用すると、変更が最も多いサーバーや変更が最も多いユーザーなどの重要なリソースにも簡単に目を向けることができます。 レポートサブスクリプションでは、選択したスケジュールに基づいて自動的に更新されます。 Netwrixの二層ストレージは、いつでもそれへの迅速かつ安全なアクセスを確保しながら、10年以上にわたってコスト効率の高い統合SQL Serverの変更データを保 さらに良いことに、Netwrix Auditorは非侵入監査メカニズムを使用しているため、データベースのパフォーマンスを低下させることはありません。

Sql Serverの変更Netwrix監査人からの概要:日付別の変更、ほとんどの変更があるサーバー、ほとんどの変更を行ったユーザー、ほとんどの変更があるオブジェクトタイプ

コメントを残す

メールアドレスが公開されることはありません。

More: