Partager via


Démarrer un 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.

Cet article décrit comment démarrer l’exécution d’un travail Microsoft SQL Server Agent dans SQL Server en utilisant SQL Server Management Studio, Transact-SQL ou SQL Server Management Objects.

Un travail est une série d'actions exécutées par SQL Server Agent. SQL Server Agent peuvent être exécutés sur un serveur local ou sur plusieurs serveurs distants.

Avant de commencer

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 Serveret développez-la.

  2. Développez Agent SQL Server et développez Travaux. Selon la façon dont vous voulez démarrer le travail, procédez de l'une des manières suivantes :

    • Si vous travaillez sur un seul serveur, si vous travaillez sur un serveur cible ou si vous exécutez un travail de serveur local sur un serveur maître, cliquez avec le bouton droit sur le travail à démarrer et sélectionnez Démarrer le travail.

    • Pour démarrer plusieurs travaux, cliquez avec le bouton droit sur Moniteur d'activité des travaux, puis sélectionnez Afficher l'activité du travail. Dans le Moniteur d'activité des travaux, vous pouvez sélectionner plusieurs travaux. Pour cela, cliquez avec le bouton droit sur votre sélection et sélectionnez Démarrer les travaux.

    • Si vous travaillez sur un serveur maître et souhaitez que tous les serveurs cibles exécutent le travail simultanément, cliquez avec le bouton droit sur le travail à démarrer, sélectionnez Démarrer le travail, puis Démarrer sur tous les serveurs cibles.

    • Si vous travaillez sur un serveur maître et souhaitez spécifier les serveurs cibles pour le travail, cliquez avec le bouton droit sur le travail à démarrer, sélectionnez Démarrer le travail, puis Démarrer sur les serveurs cibles spécifiques. Dans la boîte de dialogue Publier les instructions à télécharger , activez la case à cocher Serveurs cibles sélectionnés , puis sélectionnez chacun des serveurs cibles sur lesquels ce travail doit s'exécuter.

Utiliser Transact-SQL

  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.

    -- starts a job named Weekly Sales Data Backup.
    USE msdb ;
    GO
    
    EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ;
    GO
    

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

Utiliser les langages de programmation

Appelez la méthode Start de la classe Job à l’aide du langage de programmation de votre choix, tel que Visual Basic, Visual C# ou SQL PowerShell.

SQL PowerShell

Voici un script PowerShell qui peut être utilisé dans SQL Server Agent avec des paramètres. Ce script montre comment démarrer un travail SQL Server Agent avec des paramètres passés au script.

# Parameters
param(
    [string]$ServerInstance,
    [string]$JobName
)

# Load the SMO assembly
Add-Type -AssemblyName "Microsoft.SqlServer.SMO"

# Create a server object
$server = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance

# Get the job you want to start
$job = $server.JobServer.Jobs[$JobName]

# Start the job
if ($job) {
    $job.Start()
    Write-Output "The job '$JobName' on server '$ServerInstance' has been started successfully."
} else {
    Write-Output "The job '$JobName' was not found on server '$ServerInstance'."
}

Comment utiliser des scripts dans SQL Server Agent.

  1. Ouvrez SQL Server Management Studio (SSMS).

  2. Connectez-vous à l’instance SQL Server appropriée.

  3. Développez le nœud Agent SQL Server.

  4. Cliquez avec le bouton droit sur Travaux et sélectionnez Nouveau travail.

  5. Dans la boîte de dialogue Nouveau travail, entrez le nom du travail et les autres détails requis.

  6. Accédez à la page Étapes, puis sélectionnez Nouveau pour créer une étape de travail.

  7. Dans la boîte de dialogue Nouvelle étape de travail :

    1. Définissez le Type sur PowerShell.

    2. Dans le champ Commande, entrez le script PowerShell avec ses paramètres, par exemple :

      .\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
      
  8. Définissez les autres propriétés de travail en fonction de vos besoins (planifications, alertes, notifications, etc.).

  9. Sélectionnez OK pour enregistrer le travail.

Explication du script

  • Paramètres : le script accepte deux paramètres, $ServerInstance et $JobName, qui sont respectivement l’instance SQL Server et le nom du travail.
  • Charger l’assembly SMO : la cmdlet Add-Type est utilisée pour charger l’assembly SMO (SQL Server Management Objects).
  • Objet serveur : un nouvel objet serveur est créé à l’aide du paramètre $ServerInstance.
  • Obtenir le travail : le script récupère le travail spécifié à l’aide du paramètre $JobName.
  • Démarrer le travail : si le travail est trouvé, il est démarré à l’aide de la méthode Start. Le script génère un message de réussite. Si le travail est introuvable, un message d’erreur s’affiche.

Pour plus d’informations, consultez SQL Server Management Objects (SMO).