私は約30のSQL Server 2005-2014インスタンスを使用しており、すべてのインスタンスが優れたOla Hallengranメンテナンススクリプトを使用して、完全/差分/ログバックアップを作成しています。これは何年もの間、最近まで問題なく機能してきました。
サーバーの1つに2つのインスタンスがあります。そのサーバーのデフォルトのインスタンスの場合、.bak
ファイルのクリーンアップは行われません。
これはスクリプトとは関係がないと思いますが、クリーンアップが行われると.bak
ファイルがロックされる可能性があります。バックアップウィンドウが別のプロセスと競合している場合に備えて、バックアップのスケジュールを変更しました。同じボックス上の名前付きインスタンスを含め、他のインスタンスにはこの問題はありません。
インスタンスのエージェントは、物理サーバーRAID 5(残念ながら)の専用共有であるバックアップターゲットボリュームを完全に制御できるドメインアカウントで実行されるため、これは権限の問題ではないことがわかりました。次のようなグループポリシー権限があります。
バックアップサーバーのすべてのイベントログを確認しましたが、トラブルシューティングに役立つものは何もありませんでした。
誰も私がこの問題をトラブルシューティングできるかもしれない方法についてアドバイスを提供できますか?
ありがとう
更新:
@cleanupTime
は、私が残したとおりです(72時間)。問題なくファイルを手動で削除できます。
コマンドの最後に-o
を追加して、コマンドがどのように見えるかを確認しました。原因となる可能性があると私が思う唯一のものは:
日付と時刻:2015-10-20 11:29:58コマンド:DECLARE @ReturnCode int EXECUTE @ReturnCode = [master] .dbo.xp_delete_file 0、N '\ backupServer\Production\SQLInstance01\Reporting_Database\FULL'、 'bak' 、 '2015-10-17T03:29:58' IF @ReturnCode <> 0 RAISERROR( 'Error deleted files。'、16、1)結果:成功した継続時間:00:00:00
そのため、コマンドはバックスラッシュで終了していないUNCパスを使用しているようです。 xp_delete_file
SPにはバックスラッシュが必要です。
https://stackoverflow.com/questions/24582996/sql-server-xp-delete-file-parameters
したがって、これはおそらく赤いニシンですが、-o
の出力に基づいて、xp_delete_file
SPは正しく機能しません。別の出力を確認します比較するためにこの問題を示さないインスタンス。ご提案ありがとうございます。
Update#2:ファイルを正しくクリーンアップする別のインスタンスのコマンドに-o
を追加しましたが、この出力も出力ファイルに末尾の\
がないため、まだ困っています。
Update#3:コマンドを出力ファイルからSSMSにドロップして、ファイルを削除しようとしました。私が見つけたのは、このコマンドが他のインスタンスでも正しく機能することです。 **「コマンドは正常に完了しました」と表示されますが、ファイルは削除されません。 xp_delete_file
を使用する機能を有効/無効にするインスタンスレベルの設定はありますか?
これは頭に浮かぶランダムなもののリストです。問題があるとは保証できません。
これは最近の問題であり、たまたま起こっただけではないというので、手動でファイルを削除しても、永久に使用されていないことを示していると思います。
たとえば、コマンドの出力をファイルに書き込むには、最後に-oコマンドを実行する価値があります( '-b'が '-b -o C:\ Logs\backuplog.txt'になる可能性があります)。それが何か問題を引き起こしているかどうかについてそれを相談してください