Share via


Procédure : déboguer des procédures stockées

 

Le débogueur Transact-SQL vous permet de déboguer interactivement les procédures stockées en affichant la pile des appels SQL, les variables locales et les paramètres de la procédure stockée SQL.Comme pour le débogage dans d'autres langages de programmation, vous pouvez afficher et modifier les variables et les paramètres locaux, afficher les variables globales, ainsi que contrôler et gérer les points d'arrêt lors du débogage de votre script Transact-SQL.

Cet exemple explique comment créer et déboguer une procédure stockée Transact-SQL en effectuant un pas à pas détaillé.

System_CAPS_warningAvertissement

La procédure suivante utilise les entités créées dans les procédures des sections Développement de base de données connectée et Développement de base de données hors connexion orienté projet.

Pour déboguer des procédures stockées

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet TradeDev, puis sélectionnez Ajouter, Procédure stockée.Nommez cette nouvelle procédure stockée AddProduct et cliquez sur Ajouter.

  2. Collez le code suivant dans la procédure stockée.

    CREATE PROCEDURE [dbo].[AddProduct]
    @id int,
    @name nvarchar(128)
    AS
    INSERT INTO [dbo].[Product] (Id, Name) VALUES (@id, @name)
    
  3. Appuyez sur F5 pour générer et déployer le projet.

  4. Dans l'Explorateur d'objets SQL Server, sous le nœud Local, cliquez avec le bouton droit sur la base de données TradeDev, puis sélectionnez Nouvelle requête.

  5. Collez le code suivant dans la fenêtre de requête.

    EXEC [dbo].[AddProduct] 50, N'Contoso';
    GO
    
  6. Cliquez sur la marge de la fenêtre de gauche pour ajouter un point d'arrêt à l'instruction EXEC.

  7. Cliquez sur la flèche déroulante du bouton représentant une flèche verte dans la barre d'outils de l'Éditeur Transact-SQL et sélectionnez Exécuter avec le débogueur pour exécuter la requête avec débogage.

  8. Vous pouvez aussi commencer le débogage à partir de l'Explorateur d'objets SQL Server.Cliquez avec le bouton droit sur la procédure stockée AddProduct (sous Local -> Base de données TradeDev -> Programmabilité -> Procédures stockées).Sélectionnez Déboguer la procédure….Si l'objet requiert des paramètres, la boîte de dialogue Déboguer la procédure affiche une table qui contient une ligne pour chaque paramètre.Chaque ligne dans la table contient une colonne pour le nom du paramètre, et une pour la valeur de ce paramètre.Entrez les valeurs pour chaque paramètre et cliquez sur OK.

  9. Vérifiez que la fenêtre Variables locales est ouverte.Si ce n'est pas le cas, cliquez sur le menu Déboguer, sélectionnez Fenêtres, puis Variables locales.

  10. Appuyez sur F11 pour exécuter un pas à pas détaillé de la requête.Remarquez que les paramètres de la procédure stockée et leurs valeurs respectives sont affichés dans la fenêtre Variables locales.Vous pouvez aussi pointez le curseur vers le paramètre @name dans la clause INSERT, et vous verrez la valeur Contoso qui lui est affectée.

  11. Cliquez sur Contoso dans la zone de texte.Tapez Fabrikam et appuyez sur Entrée pour remplacer la valeur de la variable name lors du débogage.Vous pouvez également modifier sa valeur dans la fenêtre Variables locales.Remarquez que la valeur du paramètre s'affiche désormais en rouge, ce qui indique qu'elle a changé.

  12. Appuyez sur F10 pour exécuter un pas à pas détaillé du code restant.

  13. Dans l'Explorateur d'objets SQL Server, actualisez le nœud de base de données TradeDev pour afficher le nouveau contenu dans la vue de données de la table Product.

  14. Dans l'Explorateur d'objets SQL Server, sous le nœud Local, localisez la table Product de la base de données TradeDev.

  15. Cliquez avec le bouton droit sur la table Product et sélectionnez Afficher les données.Vous pouvez remarquer que la nouvelle ligne a été ajoutée à la table.