Partager via


Définir le flux de réussite ou d’échec de l’étape de travail

s’applique à :SQL ServerAzure SQL Managed Instance

Importante

Sur Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités de 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 ou limitations des tâches de SQL Agent dans SQL Managed Instance.

Lors de la création de travaux Microsoft SQL Server Agent, vous pouvez spécifier l’action que SQL Server doit entreprendre si un échec se produit pendant l’exécution du travail. Déterminez l’action que SQL Server doit entreprendre en cas de réussite ou d’échec de chaque étape de travail. Utilisez ensuite la procédure suivante pour configurer la logique de flux d’action de l’étape de travail à l’aide de SQL Server Agent.

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 la tâche que vous souhaitez modifier, puis sélectionnez Propriétés.

  3. Sélectionnez la page Étapes, sélectionnez une étape, puis Modifier.

  4. Dans la boîte de dialogue propriétés de l’étape de travail , sélectionnez la page Avancé.

  5. Dans la liste des actions en cas de succès , sélectionnez l’action à effectuer si la tâche se termine correctement.

  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 avez entré une valeur supérieure à 0 dans la zone tentatives de réessai, entrez dans la zone intervalle de réessai (minutes) le nombre de minutes comprises entre 1 et 9999 qui doivent passer avant que l'étape de la tâche soit réessayée.

  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 parmi les options suivantes :

    • Dans la zone Fichier de sortie, entrez le nom d’un fichier de sortie dans lequel la sortie du script sera écrite. Par défaut, le fichier est remplacé chaque fois que l’étape du travail s’exécute. Si vous ne souhaitez pas remplacer le fichier de sortie, vérifiez 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 la tâche s’exécute. Si vous ne souhaitez pas remplacer le contenu de la table, vérifiez Ajouter la sortie à une entrée existante dans la table. Une fois l’étape de travail exécutée, vous pouvez afficher le contenu de cette table en cliquant sur Affichage.

    • Activez Inclure la sortie de l'étape dans l'historique pour inclure la sortie dans l'historique de l'étape. La sortie s’affiche uniquement s’il n’y a pas d’erreur. En outre, la sortie peut être tronquée.

  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 Explorateur d’objets, connectez-vous à une instance du moteur de base de données.

  2. Dans la barre 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 d’objets de gestion SQL Server

Pour définir le flux de réussite ou d’échec de l’étape de travail

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