Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Applies to :SQL Server sur Linux
Les tâches SQL Server sont utilisées pour exécuter régulièrement la même série de commandes dans votre base de données SQL Server. Ce tutoriel fournit un exemple de création d’un travail de SQL Server Agent sur Linux à l’aide de Transact-SQL et de SQL Server Management Studio (SSMS).
- Installer SQL Server Agent sur Linux
- Créer une nouvelle tâche pour effectuer des sauvegardes de données quotidiennes
- Planifier et exécuter la tâche
- Effectuer les mêmes étapes dans SSMS (facultatif)
Pour connaître les problèmes connus liés à SQL Server Agent sur Linux, consultez SQL Server sur Linux : Problèmes connus.
Prérequis
Pour exécuter ce didacticiel, vous devez réunir les conditions préalables suivantes :
Machine Linux avec les conditions préalables suivantes :
- Quickstart : Installez SQL Server et créez une base de données sur Red Hat Enterprise Linux
- Quickstart : Installez SQL Server et créez une base de données sur SUSE Linux Enterprise Server
- Quickstart : installez SQL Server et créez une base de données sur Ubuntu avec des outils en ligne de commande.
Remarque
À compter de SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) n'est pas pris en charge.
Les conditions préalables suivantes sont facultatives :
- Windows machine avec SSMS :
- Install SQL Server Management Studio pour les étapes SSMS facultatives.
Activer SQL Server Agent
Pour utiliser SQL Server Agent sur Linux, vous devez d’abord activer SQL Server Agent sur un ordinateur qui a déjà SQL Server installé.
Pour activer SQL Server Agent, exécutez la commande suivante.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueRedémarrez SQL Server avec la commande suivante :
sudo systemctl restart mssql-server
Remarque
À compter de SQL Server 2017 (14.x) CU 4, SQL Server Agent est inclus dans le package mssql-server et est désactivé par défaut. Pour la configuration de l’agent avant CU 4, consultez Installer SQL Server Agent sur Linux.
Créer un exemple de base de données
Procédez comme suit pour créer une base de données d'exemple nommée SampleDB. Cette base de données est utilisée pour la tâche de sauvegarde quotidienne.
Sur votre machine Linux, ouvrez une session du terminal Bash.
Utilisez sqlcmd pour exécuter une commande Transact-SQL
CREATE DATABASE./opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'Vérifiez la création de la base de données en répertoriant les bases de données sur votre serveur.
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'SELECT name FROM sys.databases'
Créer un travail avec Transact-SQL
Les étapes suivantes créent un travail SQL Server Agent sur Linux avec des commandes Transact-SQL. La tâche exécute une sauvegarde quotidienne de l’exemple de base de données SampleDB.
Conseil
Vous pouvez utiliser tout client T-SQL pour exécuter ces commandes. Par exemple, sur Linux, vous pouvez utiliser Installer les outils en ligne de commande sqlcmd et bcp SQL Server sur Linux ou l'extension SQL Server pour Visual Studio Code. À partir d’un Windows Server distant, vous pouvez également exécuter des requêtes dans SQL Server Management Studio (SSMS) ou utiliser l’interface d’interface utilisateur pour la gestion des travaux, qui est décrite dans la section suivante.
Utilisez sp_add_job pour créer une tâche nommée
Daily SampleDB Backup.-- Adds a new job executed by the SQLServerAgent service -- called 'Daily SampleDB Backup' USE msdb; GO EXECUTE dbo.sp_add_job @job_name = N'Daily SampleDB Backup'; GOAppelez sp_add_jobstep pour créer une étape de tâche qui crée une sauvegarde de la base de données
SampleDB.EXECUTE sp_add_jobstep @job_name = N'Daily SampleDB Backup', @step_name = N'Backup database', @subsystem = N'TSQL', @command = N'BACKUP DATABASE SampleDB TO DISK = \ N''/var/opt/mssql/data/SampleDB.bak'' WITH NOFORMAT, NOINIT, \ NAME = ''SampleDB-full'', SKIP, NOREWIND, NOUNLOAD, STATS = 10', @retry_attempts = 5, @retry_interval = 5; GOCréez ensuite une planification quotidienne pour votre tâche avec sp_add_schedule.
-- Creates a schedule called 'Daily' EXECUTE dbo.sp_add_schedule @schedule_name = N'Daily SampleDB', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000; USE msdb; GOJoignez la planification des tâches à la tâche avec sp_attach_schedule.
-- Sets the 'Daily' schedule to the 'Daily SampleDB Backup' Job EXECUTE sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GOUtilisez sp_add_jobserver pour attribuer la tâche à un serveur cible. Dans cet exemple, la cible est le serveur local.
EXECUTE dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(local)'; GODémarrez la tâche par sp_start_job.
EXECUTE dbo.sp_start_job N' Daily SampleDB Backup'; GO
Créer une tâche avec SSMS
Vous pouvez également créer et gérer des travaux à distance à l’aide de SQL Server Management Studio (SSMS) sur Windows.
Démarrez SSMS sur Windows et connectez-vous à votre instance de SQL Server Linux. Pour plus d’informations, consultez Utilisez SQL Server Management Studio sur Windows pour gérer SQL Server sur Linux.
Vérifiez que vous avez bien créé un exemple de base de données nommé
SampleDB.Vérifiez que SQL Agent a été Installer SQL Server Agent sur Linux et configuré correctement. Recherchez le signe plus en regard de SQL Server Agent dans l'Explorateur d'objets. Si SQL Server Agent n'est pas activé, essayez de redémarrer le service mssql-server sur Linux.
Créez une nouvelle tâche.
Donnez un nom à votre tâche et créez l’étape de votre tâche.
Spécifiez quel sous-système et quelle étape de la tâche utiliser.
Créez une nouvelle planification de tâches.
Démarrez votre tâche.
Étape suivante
Dans ce didacticiel, vous avez appris à :
- Installer SQL Server Agent sur Linux
- Créer des tâches à l'aide des procédures stockées système et Transact-SQL
- créer une tâche qui exécute des sauvegardes de données quotidiennes
- utiliser l’IU SSMS pour créer et gérer des tâches
Par la suite, explorez d’autres fonctionnalités pour créer et gérer des tâches :
SQL Server Agent documentation