2014-04-30 1 views
1

Lorsque je choisis "Publier ..." à partir d'un projet de base de données Visual Studio, il semble, entre autres choses, qu'il exécute les scripts du projet sur la base de données. qui ont l'action Build définie sur "Build". En d'autres termes, les scripts d'action "Aucune" ne sont pas exécutés sur la base de données dans le cadre d'une publication.Projet de base de données - exécution Action de construction = Aucune Scripts SQL

J'ai un projet de base de données mais je n'ai pas tous les éléments de la base de données dans ce projet. Puis-je conserver des scripts (par exemple, pour les procédures stockées) dans mon projet et les exécuter dans la base de données? Comment? Si je les mets à "Build", je reçois des erreurs de construction, car les éléments dont ils dépendent ne sont pas dans le projet. Si je les mets à "None", ils ne fonctionnent pas du tout sur la base de données. Y at-il un moyen de les faire fonctionner sur la base de données sans avoir besoin de leurs éléments dépendants? Si non, quelle est la meilleure façon de le faire?

+0

Pouvez-vous nous donner un peu plus d'information sur la raison pour laquelle la base de données tout est pas dans le projet? Est-ce une DB tierce? Essayer de comprendre afin que nous puissions fournir les meilleurs conseils sur la façon dont vous pourriez procéder. –

+0

Parce que d'autres mettront à jour les objets de base de données en dehors de ce projet, et parce que la base de données est assez grande et mon équipe qui utilisera le contrôle de version n'est responsable que d'une partie de celui-ci. –

+0

Vous pourrez peut-être vous en sortir si vous tirez une copie de la base de données actuelle dans un dacpac, puis ajoutez-la en tant que référence de base de données. Cela devrait vous donner toutes les dépendances dont vous avez besoin pour les objets que vous entretenez. Je ne peux pas dire comment il serait publié à partir de là, cependant. Ce serait quelque chose à tester. Vous pouvez également modifier ce dacpac et le reconnecter pour supprimer des objets supplémentaires si vous souhaitez utiliser cette route. –

Répondre

0

Il semble qu'il n'y ait aucun moyen de faire ce que je cherche; Les projets de base de données étaient censés résoudre toutes les dépendances.

1

Vous pouvez essayer de définir l'action de construction sur none sur le script, puis d'exécuter le script à partir d'un script de post-déploiement.

Il ne peut y avoir qu'un seul script de post-déploiement dans chaque projet de base de données. Vous pouvez l'ajouter en ajoutant un nouvel élément et en recherchant le post-déploiement. Dans le script, vous utilisez la syntaxe de commande pour exécuter des scripts.

http://www.mssqltips.com/sqlservertutorial/3006/working-with-pre-and-post-deployment-scripts/

Questions connexes