2017-06-27 3 views
0

J'essaie d'exécuter un script .sql sur un calendrier. J'ai créé un fichier batch pour exécuter le script. Le script s'exécute très bien dans SQL Server Management Studio et aussi lorsque je cours le contenu du fichier batch via cmd.Bat fichier pour exécuter une requête SQL sur un calendrier via le planificateur de tâches

Contenu du fichier batch:

sqlcmd -S omfmesql -U OMESRV -P orat -i "\\pvsrv- 
fsr14\data\Projects\Stat_Table_Creation_unique.sql" 

Le script SQL est censé mettre à jour une table de stat. Lorsque je l'exécute avec cmd et actualise la table des statistiques, les numéros sont mis à jour. Mais lorsque j'exécute ce fichier de commandes via le planificateur de tâches, la seule action qui semble être exécutée est exécutée C: \ Windows \ SYSTEM32 \ cmd.exe

La tâche est déclarée terminée avec succès, mais la requête sql n'est tout simplement pas courir. Je n'ai pas trop d'expérience avec Task Scheduler. Toute aide ici serait très appréciée. Merci!

Note: Je ne suis pas l'intention d'utiliser SQL Server Agent

+0

Je ne suis pas sûr que le planificateur de tâches puisse transmettre vos informations d'identification au serveur SQL. –

+0

compte système peut-être pas les autorisations pour accéder à l'emplacement réseau partagé. vous pouvez exécuter une tâche sous un compte d'utilisateur, sachant qu'il a accès à toutes les ressources nécessaires. vous définissez l'utilisateur et passez pour que sqlcmd puisse se connecter, mais le planificateur de tâches ne peut pas accéder au partage réseau. – elzooilogico

Répondre

1

Si vous ne l'avez pas fait, vous devez définir l'emplacement dans Planificateur de tâches (TS). Dans au moins certaines versions de TS, cela ne peut être fait que lorsque vous créez une tâche de base, pas à partir de l'option "Créer une tâche ..." plus générale. Assurez-vous que tous les chemins dans le fichier de commandes sont absolus ou sont basés à cet emplacement.

+0

J'ai spécifié le chemin du fichier de commandes sous l'onglet Actions dans TS. Dans l'onglet Général, je ne peux pas spécifier le "emplacement". C'est grisé. –

+0

Il est grisé si vous avez utilisé l'option "Créer une tâche ...", mais elle devrait être modifiable si vous utilisez l'option "Créer une tâche de base". –

+0

L'utilisation de l'option "Créer une tâche ..." a fonctionné. Merci! –