Partager via


Limitations appliquées aux commandes et fonctionnalités du débogueur

Mise à jour : novembre 2007

Cette rubrique s'applique à :

Édition

Visual Basic

C#

C++

Web Developer

Express

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Standard

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Pro et Team

La rubrique s'applique La rubrique s'applique La rubrique s'applique La rubrique s'applique

Légende du tableau :

La rubrique s'applique

Applicable

La rubrique ne s'applique pas

Non applicable

La rubrique s'applique mais la commande est masquée par défaut

Commande ou commandes masquées par défaut.

Le débogueur SQL fournit un grand nombre de fonctions de débogage courantes, même s'il ne les fournit pas toutes. Le débogage SQL prend en charge la plupart des commandes du débogueur, telles que la définition des points d'arrêt et le pas à pas. Vous pouvez afficher les valeurs des variables et des paramètres passés dans la fenêtre Variables locales. Vous pouvez également faire glisser des expressions vers la fenêtre Espion afin de les suivre lorsque vous parcourez ou exécutez la procédure.

Toutefois, le débogage SQL intervient dans un environnement très différent, en raison de plusieurs caractéristiques fondamentales de SQL Server lui-même. Certaines limitations de débogage ne s'appliquent qu'au débogage T-SQL ou au débogage SQL CLR. D'autres s'appliquent à l'ensemble du débogage SQL.

Limitations générales du débogage SQL

  • Vous ne pouvez pas utiliser Modifier & Continuer.

  • Vous ne pouvez pas utiliser Exécuter jusqu'au curseur dans la fenêtre Pile des appels.

  • Vous ne pouvez pas utiliser d'arrêt lorsqu'une instruction SQL est en cours.

  • Le résultat des instructions SQL PRINT n'apparaît pas dans le débogueur ou le volet Sortie de base de données.

  • Vous ne pouvez pas utiliser AutoRollback dans Visual Studio. Si vous reproduisez un bogue qui modifie des données, vous pouvez perdre ce bogue du fait de la modification de ces données.

  • Plusieurs fenêtres ne sont pas disponibles ou ne fournissent aucune fonction. Il s'agit des éléments suivants :

    • Mémoire

    • 3DNow!

    • Code machine pour T-SQL

Limitations du débogage T-SQL

  • Les conditions et filtres de point d'arrêt ne sont pas pris en charge.

  • SQL n'ayant pas de véritable mémoire ou registres, vous ne pouvez pas utiliser la fenêtre Mémoire ou Registres.

  • Vous ne pouvez pas utiliser Définir l'instruction suivante pour modifier la séquence d'exécution. Vous devez suivre le contrôle de flux et l'ordre des instructions dans le code SQL. Une solution alternative consiste à insérer des instructions de contrôle autour de blocs de code SQL et à modifier la valeur des variables.

  • Vous ne pouvez pas accéder aux variables ou aux propriétés .Net Framework depuis un objet T-SQL.

  • La fenêtre Exécution est affichée, mais vous ne pouvez rien en faire d'utile, comme affecter une valeur à une variable ou interroger la base de données.

  • Plusieurs fenêtres ne sont pas disponibles ou ne fournissent aucune fonction. Il s'agit des éléments suivants :

    • Code machine

    • Threads

    • 3DNow!

    • Processus

    • Modules

Limitations du débogage SQL CLR

  • Une seule session de débogage SQL/CLR peut avoir lieu par serveur. En effet, toute l'exécution du code SQL/CLR se fige pendant les opérations de débogage SQL/CLR. C'est pour cette raison que l'utilisateur du débogueur est tenu d'être un administrateur système SQL pour pouvoir procéder au débogage CLR SQL.

  • Le débogage SQL CLR ne doit jamais être réalisé sur un serveur de production. Le débogage CLR SQL est une opération risquée : le débogueur CLR SQL peut lire et écrire dans la mémoire du processus et exécuter du code arbitraire dans le processus serveur. Il provoque l'arrêt de tous les threads managés sur le serveur. Et lorsque vous terminez une session de débogage, SQL Server peut s'arrêter.

  • Vous ne pouvez pas accéder à des variables SQL globales, telles que @@ROWCOUNT, depuis un objet CLR SQL.

  • Dans un projet Visual Studio SQL Server, vous pouvez ajouter uniquement des références à un sous-ensemble des bibliothèques de classes .NET Framework. Il n'est pas possible de référencer tous les assemblys.

Voir aussi

Concepts

Limitations du débogage SQL

Débogage de SQL