Partager via


Procédure pas à pas : débogage d'un déclencheur Transact-SQL

Cette rubrique s'applique à :

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

ms165046.DoesApplybmp(fr-fr,VS.100).gif ms165046.DoesApplybmp(fr-fr,VS.100).gif ms165046.DoesApplybmp(fr-fr,VS.100).gif ms165046.DoesNotApplybmp(fr-fr,VS.100).gif

Pour déboguer un déclencheur, définissez un point d'arrêt dans une procédure stockée qui déclenchera le déclencheur, définissez un point d'arrêt dans le déclencheur, puis continuez comme décrit dans Procédure pas à pas : débogage d'une procédure stockée Transact-SQL.

Cet exemple utilise la base de données AdventureWorks2008 qui contient une table Purschasing.Vendor avec un déclencheur DELETE.Cet exemple comporte une procédure stockée qui supprime une ligne de la table, ce qui provoque le déclenchement du déclencheur.Définissez les points d'arrêt dans le déclencheur. En exécutant la procédure stockée avec différents paramètres, vous pouvez suivre différents chemins d'exécution dans le déclencheur.

Notes

Selon vos paramètres actifs ou votre édition, les boîtes de dialogue et commandes de menu auxquelles vous accédez peuvent différer de celles qui sont décrites dans l'aide.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 un déclencheur SQL

  1. 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.

  2. Créez une nouvelle procédure stockée à l'aide du code de la première section d'exemple ci-dessous et nommez-la UpdateCurrency_T_SQL.Pour plus d'informations, consultez Procédure : déboguer avec un projet serveur ou un projet de base de données SQL Server.

  3. Définissez les points d'arrêt dans DeleteVendor.Ce processus est facultatif, parce que le Débogage de base de données direct fait de la première ligne de la procédure un point d'arrêt.

  4. Définissez les points d'arrêt pour le déclencheur.

    1. Ouvrez le code source du déclencheur en cliquant avec le bouton droit sur le nœud Tables, cliquez ensuite avec le bouton droit sur le nœud pour la table Purchasing.Vendor, puis double-cliquez sur l'icône du déclencheur nommé dVendor.

    2. Cliquez avec le bouton gauche dans la marge grise en regard de l'instruction SET NOCOUNT ON pour définir un point d'arrêt dans le déclencheur.Cette étape n'est pas facultative : si vous ne définissez pas de point d'arrêt dans le déclencheur, vous allez ignorer son code lorsque vous essayerez d'effectuer un pas à pas détaillé dans celui-ci.

  5. 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.

    La boîte de dialogue Exécuter la procédure stockée s'affiche et demande des valeurs de paramètre.

  6. Définissez les valeurs de paramètre suivantes :

    @entityID = 1492

    Le pointeur d'instructions, désigné par une flèche jaune, apparaît sur la ligne SET NOCOUNT ON, la première ligne de code exécutable dans la procédure stockée.

  7. Testez différentes fonctionnalités de débogage.

    1. Effectuez le pas à pas détaillé dans le code à l'aide de la touche F11 ou du bouton Pas à pas détaillé.

      À l'instruction DELETE, lorsque vous appuyez encore sur la touche F11, vous allez effectuer un pas à pas détaillé dans le déclencheur.

    2. Effectuez un pas à pas détaillé dans le déclencheur jusqu'à ce que vous retourniez dans la procédure stockée, et continuez jusqu'à la fin.

Exemple

Voici le code pour la procédure stockée qui déclenche le déclencheur.

ALTER PROCEDURE dbo.DeleteVendor
    (
        @entityID       int
    )
AS
    SET NOCOUNT ON
    DELETE Purchasing.Vendor
    WHERE BusinessEntityID = @entityID 
    RETURN

Voir aussi

Concepts

Débogage Transact-SQL

Autres ressources

Server Explorer/Database Explorer