web-dev-qa-db-fra.com

Planificateur de tâches pour SQL Server Express

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

Malheureusement, l'édition express manque d'agent SQL.
[.____] Quelle approche recommanderiez-vous?

19
rem

Utilisez ExpressMain, c'est une solution très pratique pour les utilisateurs SQL Server Express.

expressmaint

Description du projet

Ce projet conserve deux utilitaires d'automatisation de la sauvegarde et de 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 mises à jour pour SQL Server 2005/2008/2008R2. Il existe une application de console VB.NET autonome et une procédure stockée SQL, qui démontrent comment automatiser les tâches de sauvegarde et de maintenance de la base de données via SMO (objets de gestion SQL) 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

9
CoderHawk

Vous pouvez consulter le projet Standalone SQL Agent Open Source Project. Il utilise les tables et les procédures d'agent SQL natif (qui existent toujours dans SQL Express) pour stocker les travaux de remplacement de l'agent SQL lui-même. Le moteur est assez bien fait pour les commandes T/SQL et DOS. Des choses comme les SSIS, etc. ne sont pas encore terminées. De plus, l'éditeur est seulement environ 1/2 fait, mais le moteur à exécuter les emplois est la partie importante.

15
mrdenny

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

Je vous 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 fin à la grain de 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 de Windows différent est que vous n'avez pas besoin de vous gâcher en garantissant sans console Windows ouverte pour vous mettre en route si elle Exécute pendant que vous êtes connecté (si vous l'exécutez comme vous-même, vous pouvez trouver une fenêtre de console apparaît et affirme que la tâche fonctionne lorsque la tâche fonctionne).

8
David Spillett

J'ai eu du succès dans le passé avec le planificateur de travail TeraTrax: http://www.teratrax.com/tjs/

Vous pouvez essentiellement simplement configurer des scripts SQL pour exécuter sur un calendrier. Très facile à utiliser et possède une petite interface graphique pratique pour gérer vos horaires. Il possède également un système de notification de courrier électronique intégré que vous pouvez utiliser pour les notifications sur le succès/l'échec, etc.

L'inconvénient sur les solutions mentionnées précédemment est qu'il est livré avec une étiquette de prix de 99 $, bien qu'il existe un essai gratuit si vous souhaitez jeter un coup d'œil.

6
GShenanigan