回答:
SQLプロファイラーを使用して運用データのトレースを取得し、最大の読み取りと書き込みを行うコード/バッチを収集します。トレースをフィルタリングして、読み取り/書き込みが多いプロシージャとバッチのみを取得します。自分の目に合ったサンプルを選択してください。100万件以上の読み取りまたは書き込みがあるとします。
開発/テストマシンへのこれらの呼び出しのサンプルを取得し、オプション「クライアント統計を含める」を有効にして(メニュークエリ-クライアント統計を含める)Management Studioで実行します。次に、クライアント統計情報を含む別のウィンドウが表示されます:クライアントから送信されたバイト数、サーバーから受信されたバイト数。
データをフィルタリングせずに本番DBでのトレースを有効にしないでください!!! 最も可能性のあるもの(db、ホスト名、あなたが信じているもの)をフィルタリングしてから、トレースを開始してください。:-)の後にプロファイラーを閉じることを忘れないでください。
PS:私は別の素晴らしいオプションを思い出しました:一定期間のトレースに沿って、Perfmonを使用してデータも保存する必要があります(IOパラメーターのみを選択)。プロファイラーには、トレースファイルとperfmonデータファイルを一緒にインポートする優れた機能があります。そして、最大のIOスパイクがあるときに、そこを見ることができます。
PS2:Gaiusのオプションがよりエレガントであることに同意します。しかし、後世のためにかさばる答えを残します!:-)
まだ見ていない場合は、Adam Machanicのsp_WhoIsActiveを調べてみてください。彼は最近、sp_WhoIsActiveに組み込まれているさまざまな機能を説明する一連のブログ投稿を行いました。そのうちの1つは@delta_intervalです。
これにより、全体で最も多くのCPUまたはI / Oを占有しているものが表示されるだけでなく、現在最も多くのCPUまたはI / Oを占有しているものも表示できます。
この機能の詳細については、次のブログシリーズをご覧ください。
http://whoisactive.com/docs/01_background/
次のブログ投稿では、sp_WhoIsActiveの出力をソートし、表示する列を選択する方法について説明しています。
http://whoisactive.com/docs/24_output/
これは、彼がセットアップした以下の更新リンクで利用できる多くの投稿の1つです。
バージョン11.0はこの回答の時点で利用可能です。したがって、古いバージョンを使用している場合は、アップグレードする必要があるかもしれません:D