Partage via


Déboguer des procédures stockées

Le débogueur Transact-SQL permet de déboguer interactivement des 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. Le débogueur Transact-SQL prend en charge l’affichage et la modification des variables locales et des paramètres, l’affichage des variables globales. Il permet également de contrôler et de 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é.

Remarque

Le débogage Transact-SQL n’est pas disponible pour Azure SQL Database ni Azure SQL Managed Instance.

Pour déboguer des procédures stockées

  1. Dans la fenêtre Moteur de base de données Éditeur de requête, connectez-vous à une instance du Moteur de base de données SQL Server. Sélectionnez une base de données dans laquelle vous pouvez créer un exemple de procédure stockée.

  2. Collez le code suivant dans l'éditeur de requêtes.

    CREATE TABLE [dbo].[Product] ([Id] INT, [Name] NVARCHAR(128))
    
    CREATE PROCEDURE [dbo].[AddProduct]  
    @id INT,  
    @name NVARCHAR(128)  
    AS  
    BEGIN
        INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) 
        SELECT [Name] FROM [dbo].[Product] WHERE [Id] = @id
        DECLARE @nextid INT
        SET @nextid = @id + 1
        INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) 
        SELECT [Name] FROM [dbo].[Product] WHERE [Id] = @nextid
    END
    
  3. Appuyez sur F5 pour exécuter le code Transact-SQL.

  4. Dans l’Explorateur d’objets SQL Server, cliquez avec le bouton droit sur la même Moteur de base de données et sélectionnez Nouvelle requête.... Vérifiez que vous êtes connecté à la même base de données dans laquelle vous avez créé la procédure stockée.

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

    EXEC [dbo].[AddProduct] 50, N'T-SQL Debugger Test';  
    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 vers le bas 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 en mode débogage.

  8. Vous pouvez également démarrer le débogage à partir du menu SQL. Sélectionnez SQL ->Execute avec débogueur.

  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 et Variables locales.

  10. Appuyez sur F11 pour exécuter un pas à pas détaillé de la requête. Vous remarquerez que les paramètres de la procédure stockée et leurs valeurs respectives s’affichent dans la fenêtre Variables locales. Vous pouvez également pointer avec la souris sur le paramètre @name de la clause INSERT pour voir la valeur du test du débogueur T-SQL qui lui est attribuée.

  11. Sélectionnez Test du débogueur T-SQL dans la zone de texte. Tapez Valider la Modification et appuyez sur ENTRÉE pour modifier 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 est rouge, ce qui indique une modification.

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

  13. Une fois le débogage terminé, interrogez la table produit pour afficher son contenu.

    SELECT * FROM [dbo].[Products];  
    GO
    
  14. Dans la fenêtre de résultats, notez que de nouvelles lignes existent dans la table.