4

営業時間外に毎週実行するメンテナンス プランがあります。常に成功を報告していますが、古いバックアップは削除されません。ドライブがいっぱいになりたくない。

DB サーバー情報: SQL Server Standard Edition 9.00.3042.00

に設定された「メンテナンス クリーンアップ タスク」があります。

「フォルダを検索し、拡張子に基づいてファイルを削除する」

「タスク実行時のファイルの経過時間に基づいてファイルを削除する」がチェックされ、4 週間に設定されます。

私が見ることができる唯一のことは、私のバックアップにはそれぞれ独自のサブフォルダーが与えられており、これは再帰的ではないということです. 何か不足していますか?

また: SP2 より前の問題を確認しましたが、サービス パック 2 を実行しています。

4

4 に答える 4

2

サブフォルダーにバックアップを作成する場合は、削除する正確なサブフォルダーを指定する必要があります。

例えば:

「データベースごとに1つのバックアップファイルを作成する」などのオプションを選択してバックアップを作成し、「データベースごとにサブフォルダーを作成する」というボックスをオンにします。(私はドイツ語版の SQL Server を使用しているため、すべてを自分で英語に翻訳しています)

指定したフォルダーはH:\Backupであるため、バックアップは実際にはフォルダーH:\Backup\DatabaseNameに作成されます。

また、「タスク実行時のファイルの経過時間に基づいてファイルを削除する」を使用してメンテナンス クリーンアップ タスクでバックアップを削除する場合は、 H:\BackupではなくH: \ Backup \DatabaseNameフォルダーを指定する必要があります。

これは、私が SQL Server 2005 を使い始めたときに犯した間違いです。バックアップとクリーンアップの両方のフィールドに同じフォルダーを配置しました。

于 2008-11-24T16:51:32.897 に答える
1

私の理解では、サブフォルダーの最初のレベルのみを含めることができます。そのチェックボックスがすでにチェックされていると仮定しています。

バックアップは 1 レベルより深くありますか?

もう 1 つの考えは、複数のデータベースのバックアップを削除するために実行する 1 つのメンテナンス プランを持っているかということです。私がこれを尋ねる理由は、あなたがそれをしなければならないことがわかった方法は、「最初のレベルのサブフォルダーを含める」が十分に深くないことを意味する、1 レベル高いフォルダーを指すことになるからです。

私のセットアップ方法は、メンテナンス クリーンアップ タスクがバックアップ プロセスの一部であることです。そのため、特定のデータベースのバックアップが完了すると、同じデータベース バックアップ ファイルに対してメンテナンス クリーンアップ タスクが実行されます。これにより、ディレクトリをより具体的にすることができるため、ディレクトリ構造が深すぎることに遭遇することはありません。基準を思い通りに設定しているので、いずれかの方法で削除する準備が整うまで、アイテムは削除されません。

ティム

于 2008-11-24T16:50:38.140 に答える
0

もう1つの問題は、保守計画の「ワークフロー」である可能性があります。

計画が複数のタスクで構成されている場合は、タスクを矢印で接続して、実行する順序を定義する必要があります。

考えられる問題#1:

あなたはそれらを矢印でつなぐのを忘れました。テストしたところ、ジョブはエラーや警告なしで実行されますが、実行されるのは最初のタスクのみです。

考えられる問題#2:

クリーンアップタスクが実行されないようにワークフローを定義しました。2つのタスクを矢印で接続する場合は、矢印を右クリックして、2番目のタスクを常に実行するか、最初のタスクが正常に実行された場合と実行されなかった場合にのみ実行するかを指定できます(これにより矢印の色が変わります。赤色の可能性があります) /緑/青)。たぶん、バックアップが機能し、バックアップが失敗したときにのみ実行されるため、クリーンアップは実行されませんか?

于 2008-11-24T17:27:10.190 に答える
0

保守計画に関連するエラーがないことを確認してください。SQL Server Management Studio の SQL Server エージェント領域でエラー ログを確認できます。メンテナンス プラン中にエラーが発生した場合は、古いバックアップの削除を開始する前に終了している可能性があります。

于 2008-11-24T17:13:22.667 に答える