web-dev-qa-db-ja.com

SQLプロファイラートレースファイル(.trc)の削除

サーバーのSQLデータフォルダー(.trc)に多数の\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Dataファイルがあることに気付きました。これらのファイルの日付範囲は1日を超え、すべてのファイルを合わせた合計ファイルサイズは約21ギガです。この領域を解放したいのですが、Windowsエクスプローラーから手動でファイルを削除できるのか、コマンドやスクリプトを実行するなど、SQLで何かをする必要があるのか​​わかりません。何か案は?

5
Mark

.trcファイルは削除しても安全です。

プロファイラークライアントツールを使用せずにイベントを物理ファイルに保存する過程でSQL Serverによって生成された.trcファイル。サーバー側のトレースは、SQL Serverシステム提供のストアドプロシージャと関数を使用して有効化および制御されます。これらのシステム提供のプロセスを使用すると、トレースする対象、トレースを開始および停止するタイミング、実行中のトレースを識別し、トレースファイルに格納されているトレース情報を表示できます。

現在実行中のトレースの数を表示します。

SELECT count(*) FROM :: fn_trace_getinfo(default) WHERE property = 5 and value = 1

実行中のトレースの詳細:

SELECT * FROM :: fn_trace_getinfo(default)

Traceidを使用して、 'sp_trace_setstatus'ストアドプロシージャでトレースを終了できます。

EXEC sp_trace_setstatus 1, @status = 0
EXEC sp_trace_setstatus 1, @status = 2

ステータスを0に設定すると、トレースが停止します。ステータスを2に設定すると、トレースが閉じ、サーバーからその定義が削除されます

幸運を!

4
0mnius

トレースファイルが使用されなくなった場合は、削除しても問題ありません。誰かがアプリケーションのトラブルシューティングを行っていて、完了時にトレースファイルを削除するのを忘れていたと思います。

トレースファイルは、トレースがまだ実行中の場合にのみ使用されます。ファイルが1日以上経過している場合は、トレースが実行されていないことは間違いありません。トレースIS=実行中の場合、ファイルはロックされており、削除することはできません。

1
Mark Henderson

痕跡はまだ転がっていますか?ファイル名はどのようなものですか?監査トレースのようなものではないことを確認してください。ファイル名は通常、audittrace [datetime] .trcです。

これはデフォルトのトレース(2005以降)である可能性もありますが、サイズが非常に大きく、通常は\ MSSQL.1\MSSQL\LOGにあります

念のため、 sys.traces を見て、トレースがまだ実行されていないか、停止していても定義されているか、または実際にはデフォルトのトレースであることを確認してください。 IDが1でオンになっている場合にのみ、デフォルトのトレースが表示されます。

どちらの方法でも、トレースが必要ない限り、安全に削除できます。あなたは彼らが戻ってこないことを確認したいだけです!

0
Nick Kavadias