La bonne façon de désactiver/activer les Travaux de l'Agent sql server
J'ai un certain nombre de sql server agent des tâches planifiées, l'un d'entre eux effectue une sauvegarde complète. Je veux désactiver certains autres emplois lors de la sauvegarde commence et de les réactiver une fois que la sauvegarde est effectuée. Quelle est la bonne façon de le faire? Je pensais à l'ajout de l'une des opérations suivantes tsql commandes à la première étape de la tâche de sauvegarde (et activer les commandes de la dernière étape), mais je ne trouve pas lequel est le mieux (ou peut-être il ya une autre façon).
UPDATE MSDB.dbo.sysjobs
SET Enabled = 0
WHERE [Name] IN (....)
Ou un certain nombre de EXEC dbo.sp_update_job
?
Merci.
Je ne vois rien de mal avec votre approche.
Alors, qui pensez-vous est le meilleur?
qu'allez-vous faire à propos de l'désactivé emplois si la sauvegarde échoue?
J'incline à gbn de la solution avec applocks, mais il y a des pièges à éviter - le verrou acquis à l'étape 1 ne semble pas être tenue à l'étape 2.
Alors, qui pensez-vous est le meilleur?
UPDATE sysojobs
directement ou à l'aide de sp_update_job
?qu'allez-vous faire à propos de l'désactivé emplois si la sauvegarde échoue?
J'incline à gbn de la solution avec applocks, mais il y a des pièges à éviter - le verrou acquis à l'étape 1 ne semble pas être tenue à l'étape 2.
OriginalL'auteur a1ex07 | 2011-03-23
Vous devez vous connecter pour publier un commentaire.
Vous devez exécuter
EXEC dbo.sp_update_job
parce que vous ne pouvez pas le système de mise à jour des tables directement (bien que je ne suis pas sûr si sysjobs compte toujours comme un système de tableauMitch dit, il peut être mis à jour)Je considère l'utilisation de sp_getapplock et sp_releaseapplock de "verrouiller" les autres emplois sans réellement la mise à jour de l'emploi par le biais d'.
+1 pour le point sur applock procs.
Blé: vous n'avez pas essayé depuis quelques années et ne peut pas dans mon environnement
Juste essayé localement (comme admin système)
Merci pour les serrures de l'indice.
sysjobs
semblent être mise à jour, j'ai juste essayé d'ajouter des script tsql pour les étapes de travail et cela a fonctionné.OriginalL'auteur gbn
Certainement utiliser sp_update_job. Si le travail est d'ores et déjà prévue, puis de la manipulation de la sysjobs table directement ne le sont pas nécessairement la cause de la mise en cache horaire pour être re-calculé.
Il peut travailler pour le PERMIS drapeau (n'ai pas essayé), mais je sais que pour un fait qu'il n'est pas de travail pour les colonnes, comme start_step_id.
OriginalL'auteur BradC
Je voudrais utiliser sp_update_job comme il encapsule réutilisables morceau de logique qui est pris en charge. Pourquoi ré-inventer la roue.
http://msdn.microsoft.com/en-us/library/ms188745.aspx
OriginalL'auteur Kuberchaun
Je ne vois rien de mal avec votre approche. Vous pouvez également manipuler par catégorie d'emploi:
Je n'ai pas profilées, mais je pense
Générer le même code, mais le groupe builtin procs sont généralement la voie à suivre.
Ne recommande pas la mise à jour de sysjobs table directement, car mis en cache les horaires ne seront pas correctement mise à jour. Voir ma réponse.
OriginalL'auteur Mitch Wheat
De l'Agent SQL caches de l'état activé de l'emploi. Donc, si vous mettez simplement à jour le sysjobs table il ne fait d'empêcher un calendrier de déclencher le travail. Le
sp_update_job
procédure stockée ne déclencher le cache de mise à jour, donc je vous recommande de l'utiliser.Si vous souhaitez définir manuellement la valeur dans sysjobs, vous devez exécuter
sp_sqlagent_notify
à réellement obtenir de l'agent sql actualisation du cache de l'état activé. Il suffit de regarder le code desp_update_job
pour les paramètres exacts dont vous avez besoin.OriginalL'auteur Eric Stephani
L'autre approche serait d'ajouter une étape au début de votre d'autres emplois qui vérifie l'état de la tâche de sauvegarde, puis abandonne ou dort le travail en cours si la sauvegarde est en cours d'exécution.
Nous avons fait les deux sens à la fois, dépend de la façon fiable/critique les différents emplois que sont celui qui fonctionne le mieux.
OriginalL'auteur Rozwel