Partager via


Définition d’un flux de réussite ou d’échec de l’étape de travail

S’applique à : SQL Server Azure SQL Managed Instance

Important

Dans Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez Différences T-SQL entre Azure SQL Managed Instance et SQL Server.

Lors de la création de travaux de Microsoft SQL Server Agent, vous pouvez spécifier l’action SQL Server que doit effectuer si un échec survient pendant l’exécution du travail. Déterminez l'action que SQL Server doit effectuer en cas de réussite ou d'échec de chaque étape de travail. Procédez ensuite comme suit pour définir le déroulement logique des actions de l'étape de travail en utilisant l'Agent SQL Server .

Avant de commencer

Sécurité

Pour plus d'informations, consultez Implémenter la sécurité de SQL Server Agent.

Utilisation de SQL Server Management Studio

Pour définir un flux en cas de réussite ou d'échec de l'étape de travail

  1. Dans l' Explorateur d'objets, développez Agent SQL Server, puis Travaux.

  2. Cliquez avec le bouton droit sur le travail à modifier, puis sélectionnez Propriétés.

  3. Cliquez sur la page Étapes. Ensuite, sélectionnez une étape, puis Modifier.

  4. Dans la boîte de dialogue Propriétés de l'étape de travail , cliquez sur la page Avancé .

  5. Dans la liste Action en cas de réussite, sélectionnez l’action à effectuer si l’étape de travail réussit.

  6. Dans la zone Nouvelles tentatives, entrez le nombre de fois (entre 0 et 9 999) qu’il faut répéter l’étape de travail avant de la considérer comme un échec. Si vous tapez une valeur supérieure à 0 dans la zone Tentatives de reprises , entrez dans la zone Intervalle de reprise (minutes) , le nombre de minutes d’attente, compris entre 1 et 9999, avant que le travail fasse l’objet d’un nouvel essai.

  7. Dans la liste Action en cas d’échec, sélectionnez l’action à exécuter si l’étape de travail échoue.

  8. Si le travail est un script Transact-SQL , vous pouvez choisir les options suivantes :

    • Dans la zone Fichier de sortie , tapez le nom du fichier de sortie dans lequel la sortie du script sera écrite. Par défaut, les données du fichier sont remplacées chaque fois que l'étape de travail s'exécute. Si vous ne voulez pas remplacer le fichier de sortie, cochez la case Ajouter la sortie au fichier existant.

    • Activez Enregistrer un journal dans la table pour enregistrer l'étape de travail dans une table de base de données. Par défaut, le contenu de la table est remplacé chaque fois que l'étape de travail s'exécute. Si vous ne voulez pas remplacer les données, cochez la case Ajouter la sortie à l’entrée existante dans la table. Une fois l'étape de travail exécutée, vous pouvez afficher le contenu de la table en cliquant sur Afficher.

    • Activez Inclure la sortie de l'étape dans l'historique pour inclure la sortie dans l'historique de l'étape. Le résultat ne sera affiché que s'il n'y a pas d'erreur. De même, le résultat peut être tronqué.

  9. Si la liste Exécuter en tant qu'utilisateur est disponible, sélectionnez le compte proxy ayant les informations d'identification que le travail utilisera.

Utilisation de Transact-SQL

Pour définir un flux en cas de réussite ou d'échec de l'étape de travail

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter.

    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'TSQL',  
        @command = N'ALTER DATABASE SALES SET READ_ONLY',   
        @on_success_action = 1;  
    GO  
    

Pour plus d’informations, consultez sp_add_jobstep (Transact-SQL).

Utilisation de SQL Server Management Objects

Pour définir un flux en cas de réussite ou d'échec de l'étape de travail

Utilisez la classe JobStep à l’aide du langage de programmation de votre choix, tel que Visual Basic, Visual C# ou PowerShell. Pour plus d’informations, consultez SQL Server Management Objects (SMO).

Voir aussi