2 votes

la meilleure façon de produire un script maître pour SQL

Je veux extraire des tables de base de données spécifiques et des procédures stockées dans un script maître. Connaissez-vous un logiciel qui pourrait m'aider à faire cela plus rapidement ? J'ai essayé d'utiliser l'outil de publication des bases de données SQL, mais ce n'est pas très efficace car il rassemble des tables que je n'ai pas sélectionnées.

2voto

Mitch Wheat Points 169614

Dans SQL Server 2005, cliquez avec le bouton droit de la souris sur la base de données, puis sélectionnez Tâches, et enfin Générer scripts.

Génération de scripts SQL en SQL Server 2005

Comme mentionné dans ce lien, je suis presque sûr que vous devez générer les instructions DROP et CREATE séparément.

0voto

gregmac Points 12813

J'utilise Comparaison de Redgate SQL pour cela (en comparant à une BD vide), ainsi que pour faire des mises à jour entre toutes mes versions de la BD (je sauvegarde une copie de la BD pour chaque version publiée, et ensuite je fais juste une comparaison entre la version actuelle et la précédente pour obtenir un changement script pour cette version).

J'ai constaté que le "Generate scripts" fait un mauvais travail dans certains cas avec des dépendances - par exemple, il va essayer de créer une procédure stockée qui utilise une table avant que la table ne soit créée, ce qui entraîne l'échec du scripts. Je reconnais qu'il est possible que je l'utilise mal, mais SQL Compare "fonctionne tout simplement". Les scripts qu'il génère sont également inclus dans une transaction -- donc si quelque chose échoue, toute la modification est annulée. Vous ne vous retrouvez pas avec une base de données à moitié peuplée ou à moitié mise à jour.

L'inconvénient est qu'il s'agit d'un outil commercial, mais, à mon avis, le prix en vaut la peine.

0voto

blorkfish Points 2107

Essayez DBSourceTools. http://dbsourcetools.codeplex.com
Il est open source, et spécifiquement conçu pour script des bases de données - tables, vues, procs sur disque.
Il vous permet également de sélectionner les tables, vues, db-objets à script.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X