Je prendrais une trace des données de production à l'aide de SQL Profiler et je rassemblerais le code / les lots qui ont les plus grandes lectures et écritures. Filtrez la trace pour obtenir uniquement les procédures et les lots dont le nombre de lectures / écritures est élevé. Choisissez un échantillon qui vous convient: disons plus d'un million de lectures ou d'écritures.
Je prendrais un échantillon de ces appels vers une machine de développement / test et les exécuterais dans Management Studio avec l'option 'Inclure les statistiques du client' activée (dans le menu Requête - Inclure les statistiques du client). Ensuite, vous aurez une fenêtre séparée avec des informations sur les statistiques du client: octets envoyés depuis le client, octets reçus du serveur.
NE PAS ACTIVER LE TRAÇAGE SUR UNE BD DE PRODUCTION SANS FILTRER LES DONNÉES !!! Filtrez le plus possible (par db, nom d'hôte, ce que vous croyez) et commencez ensuite la trace. N'oubliez pas de fermer le profileur après :-).
PS: Je me suis souvenu d'une autre option intéressante: le long de la trace pendant une période, vous devez également enregistrer les données en utilisant Perfmon (choisi uniquement les paramètres IO). Profiler a une fonctionnalité intéressante pour importer ensemble un fichier de trace et un fichier de données perfmon. Et vous pouvez y voir quand vous avez les plus gros pics d'E / S.
PS2: Je conviens que l'option de Gaius est plus élégante. Mais je laisse ma réponse volumineuse à la postérité! :-)