SQL Serverのスキーマ変更履歴は、SQLServerから削除されたデータベースの名前を認識できます。大規模なSQLServer環境では、各SQLServerケースの各スキーマ変更履歴とのインターフェイスは非常に面倒な作業です。このブログでは、SQLServerで削除されたデータベースを迅速に自動追跡するための手順を簡単に説明します。
重要な解決策: 削除されたデータベースコンポーネントをSQLServerから復元する際に問題が発生している場合は、SQL修復ツールソフトウェアを試して、削除されたデータベースオブジェクトをSQLServerにライブでエクスポートしてください。
SQLServerでデータベースを削除したユーザーを簡単に追跡できる2つの独自の手法があります。主な手法は、組み込みのスキーマ変更履歴レポートを使用することです。次の手法は、SQL Serverのデフォルトトレースをテーブルにロードして、誰がデータベースを削除したかを確認することです。
SQLServerで削除されたデータベースを追跡する方法
1。 SQLServerスキーマ変更履歴レポートを使用してデータベースを追跡する
- SQL Server Management Studioを開き、SQLServerインスタンスに接続します。
- SQL Serverインスタンスを右クリックし、[レポート] –>[標準レポート]–>[スキーマ変更履歴]を選択します。
- 次に、スキーム変更履歴レポート が開き、データベースが削除された時刻とともに、SQLServerデータベースを誰が削除したかに関する洞察が得られます。
2。デフォルトのトレースファイルを使用してデータベースを追跡する
SQL Serverのデフォルトトレースファイルは、SQLServerインスタンスで何が起こっているのかを理解するためにDBAに非常に役立つデータを提供します。
以下のクエリを実行して、SQLServerのトレースファイルのデフォルトパスをトレースします。
SELECT
パスAS[デフォルトのトレースファイル]
、max_sizeAS[トレースファイルの最大ファイルサイズ]
、max_filesAS[トレースファイルの最大数]
、start_timeAS[開始時間]
、last_event_timeAS[最終イベント時間]
FROM sys.traces WHERE is_default =1
GO
SQLServerテーブルにSQLServerトレースファイルをロードするためのステップバイステップの説明
注: SQL Log Analyzerソフトウェアを試して、破損したLDFファイルからデータベースを回復してください。
以下のスクリプトを実行して、一時テーブルにデフォルトのトレースファイルの内容をロードし、SQLServerでクライアントデータベースを削除したユーザーに関する重要なデータを読み取ります。最新のトレースファイルに重要なデータが見つからない場合は、その時点で、サーバー上のすべてのアクセス可能なトレースファイルからデータをロードしてデータを探索するように規定されています。
tempdbを使用
GO
IF OBJECT_ID(‘dbo.TraceTable’、‘U’)IS NOT NULL
DROP TABLE dbo.TraceTable;
SELECT * INTO TraceTable
FROM ::fn_trace_gettable
(‘G:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.SQL2008R2 \ MSSQL \ Log \ log_12.trc’、デフォルト)
GO
SELECT
DatabaseID
、DatabaseName
、LoginName
、HostName
、ApplicationName
、StartTime
、ケース
EventClass=46の場合「データベースが作成されました」
EventClass =47THEN'DatabaseDropped'の場合
その他の「なし」
END AS EventType
FROM tempdb.dbo.TraceTable
WHERE DatabaseName =‘MyTechMantra’
AND(EventClass =46 / *イベントクラス46はObject:Createdを参照します* /
またはEventClass=47)/ *イベントクラス47はObject:Deletedを参照します* /
GO
まとめ
このブログでは、組み込みのSQL Serverスキーマ変更履歴レポートを使用するか、既定のトレースファイルを使用することで、SQLServerで削除されたデータベースを効果的に追跡できることを認識しました。さらに、データベースファイルが破損しているか、ひどく破損している場合は、データベースファイルを回復するために、 SQLRecoverySofwareなどのサードパーティツールを使用することをお勧めします。