Procédure pas à pas : débogage d'une procédure stockée Transact-SQL
Cette rubrique s'applique à :
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Cet exemple explique comment créer et déboguer une procédure stockée Transact-SQL par Débogage direct de base de données, en d'autres termes, comment effectuer un pas à pas détaillé dans la procédure stockée à l'aide de l'Explorateur de serveurs.Il illustre également différentes techniques de débogage, comme la définition de points d'arrêt, la consultation d'éléments de données, et ainsi de suite.
Notes
Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée.Pour modifier vos paramètres, sélectionnez Importation et exportation de paramètres dans le menu Outils.Pour plus d'informations, consultez Visual Studio Settings.
Pour déboguer une procédure stockée Transact-SQL
Dans un nouveau projet SQL Server, établissez une connexion à l'exemple de base de données AdventureWorks2008.Pour plus d'informations, consultez Procédure : se connecter à une base de données avec l'Explorateur de serveurs.
Créez une nouvelle procédure stockée à l'aide du code de la première section d'exemple ci-dessous et nommez-la HelloWorld.Pour plus d'informations, consultez Procédure : déboguer avec un projet serveur ou un projet de base de données SQL Server.
Définissez les points d'arrêt dans HelloWorld et effectuez un pas à pas détaillé dans la procédure stockée.Pour plus d'informations, consultez Procédure : effectuer un pas à pas détaillé dans un objet à l'aide de l'Explorateur de serveurs.Le pointeur d'instructions, désigné par une flèche jaune, apparaîtra sur la ligne SET @mynvarchar = @@VERSION, la première ligne de code exécutable dans la procédure stockée.
Testez différentes fonctionnalités de débogage.
Rendez la fenêtre Variables locales visible.Pour ce faire, dans le menu Déboguer, cliquez sur Windows, puis sur Variables locales.Remarquez que les paramètres et les variables locales sont affichés dans la fenêtre Variables locales avec leurs valeurs correspondantes.Vous pouvez modifier les valeurs des variables dans la fenêtre Variables locales lorsque la procédure stockée s'exécute.Pour plus d'informations, consultez How to: Use Debugger Variable Windows.
Remarque Il est possible que le serveur ne reflète pas les modifications apportées aux valeurs des variables dans les fenêtres du débogueur.Pour plus d'informations, consultez Limitations du débogage SQL.
Appuyez sur F10 pour avancer pas à pas dans la procédure stockée.Remarquez que la valeur de la variable @mynvarchar a changé dans la fenêtre Variables locales et que sa valeur s'affiche désormais en rouge, ce qui indique qu'elle a changé.
Rendez la fenêtre Espion visible.Pour ce faire, dans le menu Déboguer, cliquez sur Windows, puis sélectionnez Espion.Pour plus d'informations, consultez How to: Use Debugger Variable Windows.
Dans l'Éditeur de texte, double-cliquez sur la variable @mynvarchar pour la sélectionner.Faites glisser @mynvarchar n'importe où dans la fenêtre Espion.La variable est désormais ajoutée à la liste des variables espionnées.
Remarque Vous pouvez également modifier les valeurs des variables dans la fenêtre Espion.
Dans l'Éditeur de texte, cliquez avec le bouton droit sur la ligne Return (0), puis cliquez sur Insérer un point d'arrêt dans le menu contextuel.
Dans le menu Déboguer, cliquez sur Continuer.
Choisissez de nouveau Continuer pour terminer le débogage de la procédure stockée.
Remarque Vous pouvez effectuer un pas à pas détaillé dans l'une des procédures stockées de la base de données AdventureWorks2008 qui sont affichées sous le nœud Procédures stockées associé.
Exemple
Voici le code de la procédure stockée.
CREATE PROCEDURE HelloWorld
AS
DECLARE @mynvarchar NVARCHAR(50),
@myfloat FLOAT
SET @mynvarchar = @@VERSION
SET @mynvarchar = 'Hello, world!'
SET @myfloat = 1.6180
PRINT @mynvarchar
RETURN (0)