Bonjour,

Je fais mes premiers pas en SSIS et j'ai un petit problème. Voici mon histoire !

J'ai un script sql qui me permet de créer une base, un login et un user (associé à la base bien sûr) et enfin des tables.
Lorsque le script a fini son execution je passe à un data flow task qui va se charger de remplir les tables fixes.

Lors du lancement du script je me connecte avec une auth windows et sur [master]. Là ok.
Sur le dataflow je me connecte à ma base avec le user que j'ai créé. Mais là il plante car le user n'a pas les droits (je suppose !) de faire des inserts sur les tables. Sur ce, je vais sur sql server et j'execute ça :

execute sp_addrolemember [db_owner], [monUser]
go

puis je repars dans studio et je relance le data flow task de mon package ssis. Et là super, ça marche !

Quelle histoire ! Mais là arrive le retournement de situation !!
J'efface ma base, je rajoute le code précédent dans mon script sql et je relance tout mon package. Et là ça me fait pareil ! Je vais voir dans sql serveur et je remarque qu'il n'a pas ajouté le role à mon user.

Donc je résume :
- quand je lance mon script sql directement depuis SQL Server, il ajoute le role à mon user.
- quand je le lance depuis un sql task d'un package ssis, il ne l'ajoute pas.

Je fais quelque chose de mal ??

Merci d'avance !

PS : je précise que dans l'ordre mon script fait :
- création de la base
- création du login
- création du user
- ajout du role à l'user
- création des tables