2010-07-01 10 views
2

J'essaie de configurer un travail planifié qui, en une seule étape, insère les résultats d'un sproc dans une table.INSERT INTO results_table EXEC sproc à partir d'un travail planifié

INSERT INTO results_table EXEC sproc 

Le travail s'exécute et signale un succès. Pourtant, rien n'est inséré dans une table. Lorsque j'exécute le même script à partir du SSMS, les résultats sont insérés. Qu'est-ce qui pourrait causer le problème?

** EDIT le travail appartient à sa et l'étape est exécutée en tant que dbo. Toutes les exécutions dans l'historique sont signalées comme terminées avec succès. Je l'ai essayé de changer l'étape de

INSERT INTO results_table(field_names) (SELECT values FROM table GROUP BY column_name) 

et il se comporte d'une manière similaire

** EDIT le problème se produit uniquement lorsque je sélectionne à partir de la base de données maître. Sélection à partir d'autres tableaux fonctionne très bien.

+2

Avez-vous vérifié les autorisations [insérer] pour le compte sous lequel le processus planifié est exécuté? – tgolisch

Répondre

0

Le problème était que dans le travail planifié la procédure stockée a été exécutée pas dans le contexte de la base de données principale.

2

Vérifiez si vous insérez dans la base de données master ou dans la base de données que vous souhaitez insérer. Ou appelez le SP avec base de données instanse dans l'étape de travail

Insert Into Results_Table 
EXEC <DBNAME>.<SchemaName>.<ProcedureName> 
+0

Cela n'a pas de sens - s'il essayait d'insérer dans la base de données master, il aurait une erreur car cette table particulière n'existe pas dans la base de données. – ajdams

+0

Droit! nous était déjà arrivé avant de déployer les scripts, la table se trouvait également dans la base de données principale. Que dit l'historique d'exécution du travail? – Baaju

0

Avez-vous essayé d'insérer les résultats de la procédure stockée dans une table temporaire d'abord, puis les insérer dans votre results_table? Je suggère que ainsi que cet article qui examine ce concept en profondeur: