テーブルクリーナーのリソース使用量の管理
テーブルクリーナージョブを更新して、テーブルクリーナーを使用するシステムリソースを制御します。
始める前に
必要なロール:admin
このタスクについて
デフォルトでは、テーブルクリーナージョブは非同期で実行されます。削除するレコードのチャンクが複数のプロデューサースレッドによって作成され、これらのチャンクが複数のコンシューマースレッドで処理されてレコードが削除されます。
小さなデータセットを使用してテーブルクリーナーの実行を開始し、実行中にリソースの使用状況を確認します。必要に応じてプロデューサースレッドとコンシューマースレッドの数を調整し、ユーザーへの影響を最小限に抑えてジョブを完了することで、システムパフォーマンスへの影響を軽減できます。
手順
- フィルターナビゲーターに「sys_dm_job.list」と入力して、DMJobs [sys_dm_job] テーブルを開きます。
- DMTableCleaner ジョブレコードを選択します。
- オプション: [最大プロデューサー数] フィールドの値を更新して、レコードのチャンク作成専用のプロデューサースレッドの数を変更します。
- オプション: [最大コンシューマー数] フィールドの値を更新して、レコードのチャンク削除専用のコンシューマースレッドの数を変更します。
- [更新] をクリックします。
タスクの結果
テーブルクリーナーは、更新された DMTableCleaner ジョブ構成を使用して次回の実行を開始します。
次のタスク
DMJob 実行 [sys_dm_run] テーブルの [エラーが発生したチャンク] 列の値を確認して、次回のテーブルクリーナー実行のステータスを確認します。問題が発生した場合は、問題がすべてのチャンクで発生したのか、単一のチャンクで発生したのかを判断します。DMJob チャンク [sys_dm_chunk] テーブルの個々のチャンクのステータスを表示するには、[メッセージ] 列と [状況] 列の値を確認します。