サーバーのSQLデータフォルダー(.trc
)に多数の\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data
ファイルがあることに気付きました。これらのファイルの日付範囲は1日を超え、すべてのファイルを合わせた合計ファイルサイズは約21ギガです。この領域を解放したいのですが、Windowsエクスプローラーから手動でファイルを削除できるのか、コマンドやスクリプトを実行するなど、SQLで何かをする必要があるのかわかりません。何か案は?
.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に設定すると、トレースが閉じ、サーバーからその定義が削除されます
幸運を!
トレースファイルが使用されなくなった場合は、削除しても問題ありません。誰かがアプリケーションのトラブルシューティングを行っていて、完了時にトレースファイルを削除するのを忘れていたと思います。
トレースファイルは、トレースがまだ実行中の場合にのみ使用されます。ファイルが1日以上経過している場合は、トレースが実行されていないことは間違いありません。トレースIS=実行中の場合、ファイルはロックされており、削除することはできません。
痕跡はまだ転がっていますか?ファイル名はどのようなものですか?監査トレースのようなものではないことを確認してください。ファイル名は通常、audittrace [datetime] .trcです。
これはデフォルトのトレース(2005以降)である可能性もありますが、サイズが非常に大きく、通常は\ MSSQL.1\MSSQL\LOGにあります
念のため、 sys.traces を見て、トレースがまだ実行されていないか、停止していても定義されているか、または実際にはデフォルトのトレースであることを確認してください。 IDが1でオンになっている場合にのみ、デフォルトのトレースが表示されます。
どちらの方法でも、トレースが必要ない限り、安全に削除できます。あなたは彼らが戻ってこないことを確認したいだけです!