Je prends en charge une application dans une grande entreprise, l'un de mes rôles est de nettoyer les données. Il y a une requête que je dois exécuter toutes les heures et je voudrais l'automatiser. En raison des stratégies d'organisation, je ne peux pas créer de travaux SQL Server Agent ou modifier le schéma, je ne peux que manipuler des données.
Un sans fin
WHILE(1=1)
BEGIN
WAITFOR DELAY '01:00';
--do work
END
fait le travail pour moi, mais je hausse les épaules à l'idée d'une connexion perma-open.
Idéalement, je scripterais le MS SS lui-même pour exécuter un morceau de code donné toutes les heures, mais je ne sais pas si c'est possible.
Y-a t'il une solution à ce problème?
sql-server
scheduled-tasks
Ivan Koshelev
la source
la source
Réponses:
Votre ami est sqlcmd (Microsoft Technet)
Par exemple
Bonne chance.
la source
Vous n'avez pas besoin de Management Studio pour exécuter des requêtes.
Si vous n'avez vraiment aucune option pour que quelqu'un planifie un travail pour vous, vous devriez examiner sqlcmd comme indiqué dans la réponse de hot2use
Si vous êtes sur une version où cela n'est pas supporté (puisque vous n'avez pas spécifié de version) il y a aussi osql qui est un client de ligne de commande, mais cet outil est obsolète.
Vous pouvez ensuite planifier une commande à l'aide du planificateur de votre choix (planificateur de tâches Windows par exemple) et exécuter quelque chose comme ceci:
Jetez un œil à la documentation pour voir quelles options vous avez pour la sélection et l'authentification du serveur.
la source
Utiliser "SQL Server Agent" qui se trouve dans MS SQL studio (dans l'explorateur d'objets, développez votre serveur et il devrait normalement être au bas de la liste) est probablement votre meilleur pari.
Cela créera un travail qui peut être configuré pour s'exécuter à des intervalles définis. Les travaux s'exécuteront en tant que service sur le serveur plutôt que sur le client. Cela signifie que si votre client se déconnecte, il s'exécutera toujours et si le serveur est redémarré (pour une raison inconnue), le travail continuera à s'exécuter sans que vous ayez besoin de le réinitialiser.
L'inconvénient est que vous aurez probablement besoin de droits d'accès élevés pour pouvoir le faire.
la source