開始するための3つの非常に簡単な手順:
1)
USE DatabaseName
SELECT [TableName] = OBJECT_NAME(object_id),
last_user_update, last_user_seek, last_user_scan, last_user_lookup
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('DatabaseName')
クラスタ化インデックスを含め、各インデックスが最後に使用された時間を通知します。したがって、少なくとも、どのテーブルがアクセスされているか(アクセスされていないか)を確認してください。
2)アプリの使用中に1時間程度拡張イベントセッション(またはSQL 2012以前を実行している場合はサーバー側のプロファイラートレース)をオンにします。また、アプリケーションでさまざまなアクションを特定の順序で実行するようにユーザーに依頼して、トレース/セッションと関連付けることができます。
役に立つ提案:アプリが使用する接続文字列を変更できる場合は、「; Application Name = AppNameGoesHere」を追加して、その特定のアプリケーション名でトレースフィルタリングを実行できるようにします。とにかく良い練習。
3)非実稼働サーバーで動作するアプリケーションのバージョンを取得します。アプリケーションの動作駆動テストのリストを作成します(「ユーザーが[新しいアイテム]ボタンをクリックすると、そのユーザーの新しいアイテムが作成されます」など)。テストに関係ないと思われるオブジェクトのソフト削除を開始します。 (objectName_DEPRECATED_YYYYMMDDのような形式を使用します-日付は実際に削除する予定の日付です。)すべてのテストを再検証します。
拡張イベントセッション、インデックス使用DMV、およびソフト削除の組み合わせにより、アプリケーションで使用されているメインオブジェクトと、どのオブジェクトが何を行うかについての一般的なコンセンサスを特定できるはずです。
幸運を!