Comment puis-je mettre à jour ma base de données SQL Server schéma?
Généralement tout au long du développement d'un projet, je vais déployer souvent, juste pour s'assurer que je ne vais pas avoir de problèmes dans la production.
Aussi, tout au long du développement, je me retrouve à la modification de la base de données du schéma.
Comment puis-je facilement mettre à jour la base de données en production?
J'ai été à la baisse de l'ancienne base de données et le rattachement de la nouvelle. Est-il un moyen plus rapide de mettre à jour la base de données de déploiement?
Grâce
MODIFIER
Quels sont certains des outils gratuits pour cela?
OriginalL'auteur Ronnie Overby | 2009-07-23
Vous devez vous connecter pour publier un commentaire.
Maintenir une liste de tous les scripts de modification que vous appliquez à votre dev base de données et de les appliquer à la base de données de Production lors du déploiement.
Vous pouvez également utiliser un outil tiers qui peut comparer les deux schémas et de fournir un changescript que vous pouvez ensuite exécuter.
comment voulez-vous maintenir à jour une liste de scripts de modification? Je change souvent ma base de données à l'aide de l'interface graphique pas les scripts.
OriginalL'auteur
J'essaie d'utiliser des outils comme RedGate SQL de Comparer qui va vous montrer les "différences" entre les deux versions et en fait le script les composants qui sont différents. Vous pouvez également en faire une habitude de script de l'ensemble de votre base de données de révisions, de sorte que vous avez une piste d'audit des modifications que vous avez apportées et peut les appliquer d'une manière programmatique lorsque vous êtes prêt à déployer.
L'amour de la RedGate comparer, mais il existe d'autres applications. Encore, la question la plus importante à considérer est de l'ordre de dépendance qui RedGate ne sera pas vous aider à comprendre sauf manuellement.
Porte rouge SQL de Comparer ordre le script dans l'ordre des dépendances, sinon c'est un bug! Dans SQL de Comparer 9.5 il y a maintenant un nouveau "migrations" fonctionnalité qui vous permet de personnaliser le comportement par défaut de l'outil. red-gate.com/MessageBoard/viewtopic.php?t=14113
OriginalL'auteur
Votre meilleur pari est de mettre en œuvre vos modifications en tant qu'ensemble de diff scripts. Donc, plutôt que de la suppression d'une table et de le recréer, le script est comme ALTER TABLE.
Il y a aussi des outils pour vous aider à faire cela. Si vous gardez une copie de l'original et de la nouvelle base de données, vous pouvez exécuter un outil contre les deux ce qui va générer le SQL qui va vous prendre à partir d'une version à l'autre.
OriginalL'auteur
Personnellement, j'aime à conserver la totalité de la création de scripts de mise à jour, ainsi que le maintien d'un script de mise à niveau, à chaque fois que je change le schéma pour une version donnée. J'ai utilisé du Rouge Porte SQL de Comparer, et c'est un très bon outil, mais je préfère garder les scripts maintenu.
OriginalL'auteur
Toujours écrire un script pour faire vos modifications de schéma. Placez le script dans un dossier de promotion, de sorte que lorsque vous faites la promotion de vos modifications, les scripts sont exécutés à chaque changement d'environnement.
OriginalL'auteur
Essayer DBSourceTools.
http://dbsourcetools.codeplex.com
Ses open source, et va créer un script de base de données entière
- des tables, des vues, des proc et des données sur le disque, puis vous permettre de re-créer la base de données par le biais d'une cible de déploiement.
Il est spécifiquement conçu pour aider les développeurs à obtenir leurs bases de données sous contrôle de code source.
OriginalL'auteur
L'Générer des Scripts assistant a fait exactement ce dont j'avais besoin.
Désolé, ça fait des années que cela a été posté, donc je ne peux pas l'expliquer. J'étais un peu vert quand je posais des questions à ce sujet. J'ai utilisé le RedGate outils avec succès, mais plus récemment, j'ai vraiment comme la RoundHouse, qui fait partie de l'Chuck Norris cadre.
OriginalL'auteur
Migrator Dot Net est un outil génial pour la version de votre base de données. Il est difficile de revenir manuellement à garder la trace de scripts et de faire de la base de données des comparaisons après que vous avez utilisé migrations.
OriginalL'auteur
Base De Données Visual Studio Edition est assez bonne à ce. Il conserve l'intégralité de votre schéma dans la source des scripts sous contrôle de code source avec le reste de votre code. Il peut analyser votre schéma de dépendances lorsque vous apportez une modification. Il peut exécuter des meilleures pratiques de l'analyse. Et il peut générer un .dbschema fichier est utilisé par l'outil de déploiement pour la mise à niveau de votre base de données dans le schéma actuel.
Vous pouvez réellement automatiser cela avec continue d'intégration et de construire des gouttes de droit de l'environnement de test, la mise en scène de l'environnement et même l'environnement de production. Ce que cela signifie est que lorsque vous signez dans le test de la branche, la construction de la machine de construction, exécutez la génération de tests de validation et de le déployer sur votre serveur de développement. Lorsque vous inversez les intégrer à partir du test de branche à branche principale, la construction de la machine génère le produit, exécute le Bvt et déploie est sur votre mise en scène de test de réception/serveur. Et quand vous intégrer dans la branche la machine de compilation va construire, tester et déployer finalement sur la production. Maintenant est vrai, pas beaucoup d'entreprises sont prêts à aller aussi loin et de laisser le continu du processus d'édification de déployer automatiquement sur des serveurs de production et je crois que c'est un peu radical de la pensée. Mais je dis que vous devriez faire confiance à votre automatisé Bvt et de processus automatisés que n'importe quel manuel de test et de déploiement.
OriginalL'auteur