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?
Réponses:
Utilisez ExpressMain, sa solution très pratique pour les utilisateurs de SQL Server Express.
ExpressMaint
Ces deux articles vous aideront à l'utiliser
http://www.sqldbatips.com/showarticle.asp?ID=27
http://www.sqldbatips.com/showarticle.asp?ID=29
la source
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.
la source
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).
la source
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.
la source