Quelqu'un pourrait-il m'expliquer s'il vous plaît comment créer des emplois dans SQL Server Express
édition?
SQL Server Express n'inclut pas l'Agent SQL Server , il est donc impossible de créer des travaux SQL Agent.
Ce que vous pouvez faire c'est:
Vous pouvez créer des travaux "manuellement" en créant des fichiers de traitement par lots et des fichiers de script SQL, puis en les exécutant via le Planificateur de tâches Windows.
Par exemple, vous pouvez sauvegarder votre base de données avec deux fichiers comme celui-ci:
backup.bat:
sqlcmd -i backup.sql
backup.sql:
backup database TeamCity to disk = 'c:\backups\MyBackup.bak'
Il suffit de mettre les deux fichiers dans le même dossier et d'exeute le fichier de commandes via le Planificateur de tâches Windows.
Le premier fichier est simplement un fichier de commandes Windows qui appelle = utilitaire sqlcmd et transmet un fichier de script SQL.
Le fichier de script SQL contient T-SQL. Dans mon exemple, la sauvegarde d'une base de données ne représente qu'une ligne, mais vous pouvez y insérer n'importe quel code T-SQL. Par exemple, vous pourriez faire quelques UPDATE
requêtes à la place.
Si les tâches que vous souhaitez créer sont destinées aux sauvegardes, à la maintenance des index ou aux contrôles d'intégrité, vous pouvez également utiliser l'excellent Solution de maintenance de Ola Hallengren.
Il consiste en un ensemble de procédures stockées (et de travaux d’agent SQL pour les éditions non Express de SQL Server), et dans la section FAQ , une section explique comment exécutez les travaux sur SQL Server Express:
Comment démarrer avec la solution de maintenance SQL Server sur SQL Server Express?
SQL Server Express ne possède aucun agent SQL Server. Par conséquent, l'exécution des procédures stockées doit être planifiée à l'aide de fichiers cmd et de tâches planifiées Windows. Suivez ces étapes.
SQL Server Express ne possède aucun agent SQL Server. Par conséquent, l'exécution des procédures stockées doit être planifiée à l'aide de fichiers cmd et de tâches planifiées Windows. Suivez ces étapes.
Téléchargez MaintenanceSolution.sql.
Exécutez MaintenanceSolution.sql. Ce script crée les procédures stockées dont vous avez besoin.
Créez des fichiers cmd pour exécuter les procédures stockées. par exemple:
sqlcmd -E -S.\SQLEXPRESS -d maître -Q "EXECUTE dbo.DatabaseBackup @Databases = 'USER_DATABASES', @Directory = N'C:\Backup ', @BackupType =' FULL '" -o C:\Log\DatabaseBackup.txtDans les tâches planifiées de Windows, créez des tâches pour appeler les fichiers cmd.
Planifiez les tâches.
Démarrez les tâches et vérifiez qu'elles se terminent correctement.
La fonctionnalité de création de travaux d'agent SQL n'est pas disponible dans SQL Server Express Edition. Une autre solution consiste à exécuter un fichier de commandes qui exécute un script SQL à l'aide du planificateur de tâches Windows.
Pour ce faire, commencez par créer un fichier batch nommé sqljob.bat
sqlcmd -S servername -U username -P password -i path of sqljob.sql
Remplacez servername
, username
, password
et path
par le vôtre.
Puis créez le fichier de script SQL nommé sqljob.sql
USE [databasename]
--T-SQL commands go here
GO
Remplace le [databasename]
avec votre nom de base de données. Les USE
et GO
sont nécessaires lorsque vous écrivez le script SQL.
sqlcmd
est un utilitaire de ligne de commande permettant d'exécuter des scripts SQL. Après avoir créé ces deux fichiers, exécutez le fichier de commandes à l'aide du planificateur de tâches Windows.
NB: Une réponse presque identique avait déjà été posée pour cette question. Mais j’ai eu le sentiment qu’il était incomplet, car il n’était pas précisé les informations de connexion avec sqlcmd
.
Les éditions de SQL Server Express sont limitées à certains égards. L'une d'elles est qu'elles ne disposent pas de l'agent SQL permettant de planifier les travaux.
Quelques extensions tierces offrant cette fonctionnalité - consultez par exemple: