2008-12-10 6 views
2

Est-il possible pour un administrateur de base de données de jeter un coup d'œil sur le plan d'exécution d'une requête à exécution longue dans SQL Server 2000? Je sais comment exécuter SQL en utilisant fn_get_sql(). Et oui, théoriquement, si vous ouvrez une nouvelle connexion et que vous définissez les mêmes indicateurs d'environnement, cela devrait générer le même plan pour le SQL. Cependant, je suis dans un environnement d'entrepôt de données et cette requête a duré 12 heures avec une charge de données intermédiaire. Il n'y a donc aucune garantie que le nouveau plan correspondrait à l'ancien plan. Je veux juste savoir exactement ce que fait le serveur. Et non, je ne vais certainement pas tuer l'instruction en cours d'exécution à moins que je puisse voir le plan et savoir avec certitude que je peux faire mieux avec les indices et les indices de jointure. Je me sens si proche, mais je pense toujours que cela peut être fait. Cela peut certainement être fait en 2K5 et plus tard. Si vous regardez la table virtuelle syscacheobjects, il existe des identifiants d'objets pour chaque plan mis en cache. Vous pouvez appeler les méthodes sp_OA * sur ces identifiants, mais sans connaître le modèle d'objet (qui est propriétaire), je ne peux rien obtenir.Plan d'exécution d'une instruction SQL en cours d'exécution dans SQL Server 2000

Répondre

1

Non, vous ne pouvez pas. Le mieux que vous pouvez faire est d'exécuter DBCC INPUTBUFFER sur le processus de requête et de voir ce que la dernière instruction en cours d'exécution était. Vous pouvez ensuite l'exécuter dans l'analyseur de requête et obtenir un plan d'exécution.

0

... Peut-être

Run profileur et développez le nœud événements "performance". Choisissez l'une des options SHOWPLAN.

Espérons que vous serez en mesure d'intercepter la fin de l'exécution. Je sais que vous pouvez enregistrer des plans de requête, mais je ne sais pas si cela fonctionne dans ce cas.

Je n'ai pas de profileur SQL 2k, seulement 2k5, pour tester quelque chose ou voir les options.

Questions connexes