Trois étapes très rapides pour vous aider à démarrer:
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')
Vous indiquera la dernière fois que chaque index a été utilisé, y compris l'index clusterisé. Donc, donnez-vous au moins une idée des tables auxquelles vous accédez (et de celles qui ne le sont pas).
2) Activez une session d'événements étendus (ou une trace Profiler côté serveur si vous exécutez une version antérieure à SQL 2012) pendant environ une heure pendant que l'application est utilisée. Vous pouvez également demander à un utilisateur d'effectuer diverses actions dans l'application dans un ordre spécifique afin de pouvoir le corréler avec la trace / session.
Une suggestion utile: si vous pouvez modifier la chaîne de connexion que l'application utilise, ajoutez "; Nom de l'application = AppNameGoesHere" afin que vous puissiez exécuter un filtrage de trace sur ce nom d'application particulier. Bonne pratique quand même.
3) Obtenez une version de l'application fonctionnant sur un serveur hors production. Développer une liste de tests comportementaux pour l'application («Lorsque l'utilisateur clique sur le bouton Nouvel élément, il crée un nouvel élément pour cet utilisateur», etc.) (J'utilise un format comme objectName_DEPRECATED_YYYYMMDD - la date étant le jour où j'ai l'intention de le supprimer.) Revérifiez tous vos tests.
Grâce à une combinaison de la session Événements étendus, du DMV d'utilisation de l'index et de votre suppression logicielle, vous devriez être en mesure d'identifier les principaux objets utilisés par l'application et un bon consensus général sur quel objet fait quoi.
Bonne chance!