Partager via


Créer une étape de travail Transact-SQL dans SQL Server Agent

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.

Cet article explique comment créer une étape de travail SQL Server Agent qui exécute des scripts Transact-SQL dans SQL Server à l’aide de SQL Server Management Studio, Transact-SQL ou SQL Server Management Objects.

Ces scripts d’étape de travail peuvent appeler des procédures stockées et des procédures stockées étendues. Une seule étape de tâche Transact-SQL peut contenir plusieurs lots et commandes incorporées GO. Pour plus d’informations sur la création d’un travail, consultez Créer des travaux SQL Server Agent.

Sécurité

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

Utilisez SQL Server Management Studio

  1. Dans l'Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server, puis développez cette instance.

  2. Développez SQL Server Agent, créez un travail ou cliquez avec le bouton droit sur un travail existant, puis sélectionnez Propriétés.

  3. Dans la boîte de dialogue Propriétés du travail , sélectionnez la page Étapes , puis Sélectionnez Nouveau.

  4. Dans la boîte de dialogue Nouvelle Étape de Tâche, tapez un nom d'étape .

  5. Dans la liste Type , sélectionnez Transact-SQL Script (TSQL) .

  6. Dans la zone Commande , tapez les lots de commandes Transact-SQL, ou sélectionnez Ouvrir pour sélectionner un fichier Transact-SQL à utiliser comme commande.

  7. Sélectionnez Analyse pour vérifier votre syntaxe.

  8. Le message « Analyse réussie » s’affiche lorsque votre syntaxe est correcte. Si une erreur est trouvée, corrigez la syntaxe avant de continuer.

  9. Sélectionnez la page Avancé pour définir les options d’étape de travail, telles que :

    • quelle action effectuer si l’étape du travail réussit ou échoue,
    • combien de fois SQL Server Agent doit essayer d’exécuter l’étape de travail, et
    • fichier ou table dans lequel SQL Server Agent peut écrire la sortie de l’étape de travail.

    Seuls les membres du rôle de serveur fixe sysadmin peuvent écrire la sortie d'une étape de travail dans un fichier de système d’exploitation. Tous les utilisateurs de SQL Server Agent peuvent consigner la sortie dans une table.

  10. Si vous êtes membre du rôle serveur fixe sysadmin et que vous souhaitez exécuter cette étape de tâche en tant que connexion SQL différente, sélectionnez la connexion SQL dans la liste Exécuter en tant qu'utilisateur.

Utiliser Transact-SQL

  1. Dans 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
    
    EXECUTE 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',
        @retry_attempts = 5,
        @retry_interval = 5;
    GO
    

Pour plus d’informations, consultez sp_add_jobstep.

Utiliser des objets de gestion SQL Server

Utilisez la classe à l’aide JobStep d’un langage de programmation que vous choisissez, tel que Visual Basic, C# ou PowerShell.