web-dev-qa-db-fra.com

Comment créer des travaux dans SQL Server Express Edition

Quelqu'un pourrait-il m'expliquer s'il vous plaît comment créer des emplois dans SQL Server Express édition?

64
Pearl

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.

  1. Téléchargez MaintenanceSolution.sql.

  2. Exécutez MaintenanceSolution.sql. Ce script crée les procédures stockées dont vous avez besoin.

  3. 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.txt

  4. Dans les tâches planifiées de Windows, créez des tâches pour appeler les fichiers cmd.

  5. Planifiez les tâches.

  6. Démarrez les tâches et vérifiez qu'elles se terminent correctement.

110
Christian Specht

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.

31
geo

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:

15
marc_s