2010-03-18 6 views
3

J'ai une liste de procédures. Toutes les procédures ne dépendent pas les unes des autres. Donc, je dois faire est, pour exécuter les procédures indépendantes en parallèle. J'ai 4 procédures qui doivent être exécutées en parallèle. Lorsque les procédures sont exécutées avec succès, maintenant je dois passer à la tâche suivante. Ces procédures créent environ 10 tables.Je souhaite exécuter deux procédures ou plus en parallèle

La tâche suivante consiste à exécuter l'ensemble des procédures. J'ai fait une table, où je décris la dépendance de ces procédures aux tables créées ci-dessus. Après que l'une des procédures ci-dessus est terminée, je devrais venir à cet ensemble de procédures et trouver les procédures dont les tables de dépendance sont déjà créées. Si une procédure dont la création de tables dépendantes est terminée, j'ai besoin d'exécuter cette procédure.

Exécution 4 procédures parallèles est effectuée par dts. Mais, la difficulté pour moi est de transférer la tâche des 4 procédures ci-dessus à l'ensemble des procédures ci-dessous. Aidez-moi s'il vous plaît à compléter ma tâche.

Merci d'avance

+1

rechercher SSIS ... –

Répondre

0

Quelle version du serveur Sql? Si vous êtes sur 2000, essayez d'utiliser DTS et si vous êtes sur 2005, essayez d'utiliser SSIS.

+0

J'utilise SQL Server 2008 –

1

Dans une coque de noix, vous ne pouvez pas.

Le DTS/SSIS tâche attendra les 4 procs pour compléter: vous ne pouvez pas continuer de manière asynchrone un fil/connexion dans une tâche DTS/SSIS qui est parallèle

Je considérerais l'aide d'une enveloppe stockée proc pour exécuter l'un des 1er 4, tester des tables, lancer d'autres procs stockés. De cette façon, la tâche DTS/SSIS peut lancer 4 enveloppes en une fois. Ou maintenez 4 chemins d'exécution via un package SSIS afin que chaque "thread" s'exécute à son propre rythme.

Questions connexes