Planificateur de tâches pour SQL Server Express

19

J'ai une application ASP.NET MVC qui fonctionne avec la base de données sous l'édition SQL Server 2008 R2 Express. Il est nécessaire d'effectuer une tâche régulière de mise à jour de certains enregistrements dans la base de données.

Malheureusement, l'édition Express manque d'agent SQL.
Quelle approche recommanderiez-vous?

rem
la source
question similaire posée dans SO
CoderHawk

Réponses:

9

Utilisez ExpressMain, sa solution très pratique pour les utilisateurs de SQL Server Express.

ExpressMaint

Description du projet

Ce projet gère deux utilitaires pour automatiser la sauvegarde et la maintenance des bases de données pour SQL Server 2005/2008 / 2008R2 Express Edition. Ils sont basés sur l'application sqlmaint fournie avec SQL Server 2000 mais mise à jour pour SQL Server 2005/2008 / 2008R2. Il existe une application console VB.NET autonome et une procédure stockée SQL, qui montrent comment automatiser les tâches de sauvegarde et de maintenance de la base de données via SMO (SQL Management Objects) ou TSQL.

Ces deux articles vous aideront à l'utiliser
http://www.sqldbatips.com/showarticle.asp?ID=27
http://www.sqldbatips.com/showarticle.asp?ID=29

CoderHawk
la source
15

Vous pouvez consulter le projet open source de l' Agent SQL autonome . Il utilise les tables et procédures natives de l'Agent SQL (qui existent toujours dans SQL Express) pour stocker les travaux remplaçant l'Agent SQL lui-même. Le moteur est assez bien fait pour les commandes T / SQL et Dos. Des choses comme SSIS, etc. ne sont pas encore terminées. De plus, l'éditeur n'est qu'environ 1/2 terminé, mais le moteur pour exécuter les travaux est la partie importante.

mrdenny
la source
8

Vous pouvez utiliser le planificateur de tâches intégré de Windows pour exécuter un script SQL à l'aide des outils de ligne de commande fournis avec SQL Express - je pense que http://msdn.microsoft.com/en-us/library/ms162773.aspx est inclus avec toutes les éditions SQL 2005 et 2008, y compris Express.

Je recommanderais de configurer un utilisateur spécifiquement pour cela et d'exécuter le script enregistré via l'authentification intégrée de Windows. Si vous utilisez l'authentification basée sur l'utilisateur / passe, assurez-vous de sécuriser correctement le fichier contenant le mot de passe, en particulier si la machine est partagée. En plus d'être plus précis sur ce que les utilisateurs peuvent faire sur votre base de données, l'autre avantage de l'exécution de la tâche en tant qu'utilisateur Windows différent est que vous n'avez pas besoin de jouer pour vous assurer qu'aucune fenêtre de console ne s'ouvre pour vous gêner si elle s'exécute lorsque vous êtes connecté (si vous l'exécutez en tant que vous-même, une fenêtre de console peut apparaître et revendiquer le focus lorsque la tâche s'exécute).

David Spillett
la source
Je suis tombé une fois sur un site exécutant SQL 6.5 sur NT4 où ils utiliseraient la commande intégrée Windows AT pour lancer Internet Explorer, qui chargerait une page Cold Fusion qui contenait le SQL de leur travail par lots ... Le plus drôle était qu'ils avait SQL Executive (comme ISTR il s'appelait alors), ils ne savaient tout simplement pas comment l'utiliser.
Gaius
6

J'ai eu du succès dans le passé avec Teratrax Job Scheduler: http://www.teratrax.com/tjs/

Vous pouvez simplement configurer des scripts SQL pour qu'ils s'exécutent selon un calendrier. Très facile à utiliser et possède une petite interface graphique pratique pour gérer vos horaires. Il dispose également d'un système de notification par courrier électronique intégré que vous pouvez utiliser pour les notifications de réussite / d'échec, etc.

L'inconvénient des solutions mentionnées ci-dessus est qu'il est proposé à 99 $, bien qu'il existe un essai gratuit si vous souhaitez y jeter un œil.

GShenanigan
la source