Les projets d'application de niveau de données remplacent-ils les projets de base de données de Visual Studio Database Edition?

StackOverflow https://stackoverflow.com/questions/4235412

Question

Je ne connais que légèrement les fonctionnalités des applications de niveau de données et ce que les projets de base de données ont fait dans l'édition de la base de données de Visual Studio.

Ces deux solutions de chevauchement différentes pour le contrôle de la version de la base de données sont-elles? Ou les fonctionnalités d'application de niveau de données remplacent-elles carrément la nécessité d'utiliser l'édition de base de données Visual Studio et les projets de base de données?

Était-ce utile?

La solution

À l'heure actuelle, la différence entre les projets de base de données et les projets de niveau de données est dans le point de déploiement. Si vous souhaitez créer un DACPAC, vous utiliseriez le projet de niveau de données. Si vous souhaitez Createa .DBSChema et SQL Migration File, vous utiliseriez le projet de base de données conventionnel.

À mon connaissance, les applications de niveau de données devraient être importantes à l'avenir pour le déploiement SQL Azure.

À moins que vous ne recherchiez spécifiquement SQL Azure, j'utiliserais des projets de base de données pour l'instant. Tout dépend de ce que vous essayez de réaliser. Ce pourrait être que Contrôle de la source SQL (Par Red Gate, l'entreprise pour laquelle je travaille) est plus adaptée à vos besoins.

Autres conseils

DAC fournit un modèle d'application qui peut être utilisé comme interface entre les développeurs et les DBA. Le développeur modifie le modèle, le DBA gère / déploie du modèle. Par exemple, une fois le modèle construit ou extrait, il peut être déployé sur plusieurs serveurs.

Imaginez le .dacpac comme un .exe. Le développeur construit un .exe et le rend à quelqu'un. À ce stade, ce serait bien si le développeur n'a pas à s'inquiéter de l'endroit où cet .exe fonctionne parce que le .exe est cohérent en interne - il fonctionne ou ne le fait pas. Pourquoi le développeur devrait-il se soucier de cibler 2008, 2005 ou Azure spécifiquement? Développez simplement le modèle d'application et laissez DAC s'occuper du reste ...

Le fait d'avoir cet artefact de déploiement offre également de nouvelles capacités. Les exemples incluent les déploiements versés, la possibilité de déterminer si quelqu'un a changé la base de données depuis le dernier déploiement ou mise à niveau, la possibilité de créer la même base de données dans différents serveurs cibles.

Aimez-vous avoir à gérer une bibliothèque de scripts de mise à niveau pour vos différentes bases de données? Ne serait-il pas bien si tout l'état de votre base de données pouvait être construit ou capturé (extrait) à un moment donné?

Le Mashup du projet d'application de la base de données dans VS 2010 sera résolu dans une prochaine version d'outils de développeur centré sur la base de données. Investir dans DBSChema ou DAC n'affectera pas la compatibilité à l'avenir.

Je crois que les projets de base de données Visual Studio sont destinés aux développeurs.

Les applications de niveau de données sont ciblées sur les DBA. Voir Ce blog pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top