Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server : Exécution automatique de code au démarrage du moteur

Il y a 2 manières d’exécuter du code de manière automatique dans SQL Server. L’une se fera dans le moteur relationnel au niveau du service SQL Server, l’autre par l’intermédiaire de l’agent SQL (planificateur de tâches du moteur).

Du côté relationnel, il est envisageable de définir les propriétés des procédures stockées par l’intermédiaire de :

sp_procoption [ @ProcName = ] 'procedure' 
        , [ @OptionName = ] 'option'
        , [ @OptionValue = ] 'value'

Il y a un certain nombre de conditions pour que l’exécution automatique d’une procédure stockée au démarrage du serveur soit autorisée :

  • Elle doit être dans la base système « master »
  • Son propriétaire doit être dbo (Ce qui est le cas si vous être sysadmin et que vous la créez)
  • Elle ne doit pas avoir de paramètres

Si toutes ces conditions sont réunies, le code suivant permettra de changer la propriété de démarrage automatique de la procédure stockée :

use master 

exec sp_procoption 'MaProc', 'startup', 'on'

Pour connaître la liste des procédures qui sont dans la même situation, vous pourrez consulter la vue système :

select object_id, name, is_auto_executed from sys.procedures

Toutes les procédures stockées ayant le champ « is_auto_executed » passé à 1 sont exécutées automatiquement au démarrage du serveur.

En cas de problèmes (ex une procédure stockées étendu interdisant le démarrage du serveur, etc.) il vous est possible de désactiver l’exécution de ces procédure :

  • Par l’option “scan for startup procs” du serveur

exec sp_configure 'show advanced options', 1

reconfigure

exec sp_configure 'scan for startup procs', 0

reconfigure

exec sp_configure 'show advanced options', 0

reconfigure

  • Via le TraceFlag 4022
    • A ajouter dans les paramètres de démarrage du service

Cela vous permettra de désactiver l’exécution automatique de la procédure problématique.

Côté Agent SQL, il est possible de planifier une tâche qui s’exécutera au démarrage de l’Agent… Généralement l’agent démarre juste après le moteur de base de données relationnel, mais s’il est paramétré pour un démarrage manuel cela peut être bien plus tard. Il n’est pas non plus impossible qu’il s’arrête (arrêt voulu ou non) et redémarre plusieurs fois pendant l’activité du moteur relationnel, gardez cela en tête.

Il suffira d’aller dans Management Studio :

  • Connectez-vous à une instance du moteur relationnel
  • Allez sous « SQL Server Agent » et sous « Jobs »
  • Dans les propriétés d’une des tâches allez dans l’onglet de planification
  • On indique que l’on souhaite que la tâche s’exécute au démarrage de l’agent :

Bon démarrage…

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié mercredi 27 février 2008 09:00 par christian
Classé sous : ,

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [PowerShell 3] Télécharger et installer la documentation en ligne par Blog de SPBrouillet (Pierrick BROUILLET) le il y a 17 heures et 30 minutes

- [#SharePoint 2010][#SQLServer 2012] AlwaysOn pour SharePoint (1/4) : Configuration (1ère partie)… par Le blog de Patrick [MVP SharePoint] le il y a 22 heures et 56 minutes

- Job Day @MIC Brussels - .Net Developers on Mobile applications par Le Blog (Vert) d'Arnaud JUND le 05-15-2012, 20:26

- [SharePoint 2010] – SharePoint 2010, Windows (Server) 8 et des erreurs IIS sont dans une VM… par Blog de SPBrouillet (Pierrick BROUILLET) le 05-14-2012, 12:10

- [Event] Windows Azure dev Camp le 20 juin! par Fathi Bellahcene le 05-13-2012, 09:29

- Comment redimensionner une image avec WinRT : plusieurs solutions par Richard Clark le 05-11-2012, 15:43

- Event : Swiss SharePoint Club Meeting #20 à Yverdon par Blog Technique de Romelard Fabrice le 05-11-2012, 15:24

- Réflechissons un peu ce matin à propos des ORM par Richard Clark le 05-11-2012, 08:48

- #SharePoint Solutions Roadshow le 5 juin à Issy ! par Le blog de Patrick [MVP SharePoint] le 05-09-2012, 15:10

- SharePoint : Mes alertes ne marchent pas … Que faire ? Comment réparer ou agir ? par The Mit's Blog le 05-08-2012, 14:59