SQL Server 2005 – Synchronisation des bases de développement / production

J'ai une database SQL Server 2005 plutôt importante qui est en développement constant. De time en time, je reçois un nouveau développeur ou j'ai besoin de déployer des changements de schémas à grande échelle sur le server de production.

Ma principale préoccupation est le deployment de mises à jour de schémas + données sur les machines de développement à partir de la copy de développement "maître".

Existe-t-il des fonctionnalités ou des outils embeddeds pour publier des schémas + données de cette manière? J'aimerais que ça prenne le less de time possible. Peut-il être fait à partir de SSMS?

Merci d'avance pour votre time

Je suggère d'utiliser les outils de RedGate (ce n'est pas de la publicité, mais une expérience réelle avec eux) qui peut déployer des changements de schéma et / ou des données:

  • Comparaison SQL pour les modifications de schéma
  • Comparaison des données SQL pour les modifications de données

J'ai utilisé ces outils dans le passé (d'autres aussi) et ils ont vraiment aidé au développement du process de mise en scène. Ces outils ne sont pas gratuits mais leur prix est plus qu'acceptable pour toute équipe de développement.

Vérifiez le site web de RedGate

Je sais que cela a été répondu il y a longtime, mais consultez http://en.wikipedia.org/wiki/Microsoft_SQL_Server_Compare_Tools

Il montre un certain nombre d'outils de comparaison gratuits et payants.
Par exemple, un outil gratuit répertorié est SQL Server Compare par Yes Soft http://www.yessoft.com/software/sqlservercompare/sqlservercompare.htm http://www.yessoft.com/software/sqlservercompare/screenshot1.jpg

Informations fournies sur le site:
-Liste des outils gratuits
-Liste des outils payants
-Fonctionnalités des outils: comparer, générer un script de synchronisation, synchroniser, l'octroi de licences

À l'envers: 5 outils gratuits sont répertoriés, 21 outils payants répertoriés.
Inconvénient: C'est wikipedia. Et les liens semblent pointer vers des pages wikipedia au lieu des pages d'accueil réelles, mais si vous google, vous les findez.

Je vais append mon vote pour les outils Red Gates – ils ne sont pas chers et ils sont utiles – nous avons plusieurs bases de données complexes et l'utilisation d'un outil tel que SQL Compare est la seule façon d'get les scripts de mise à jour. Avant que nous ayons des outils, c'était assez effrayant parfois

Vous pouvez planifier des tâches à sauvegarder et restaurer à l'aide de SSMS. À mon avis, c'est la solution la plus simple. La fréquence de ce travail dépendra de la dynamic de votre schéma / données.

http://msdn.microsoft.com/en-us/library/ms177429.aspx

Vous pouvez toujours simplement détacher la database copyz-la puis ré-attacher la database. Cette stratégie ne fonctionne que si ce n'est pas un problème pour le "maître" d'être indisponible pendant quelques minutes pendant que la copy est effectuée.

Ce n'est évidemment qu'un instantané de la database à ce moment-là, et si vous cherchez une solution plus dynamic, vous voudrez peut-être vous intéresser à la réplication.

Vous pouvez simplement sauvegarder et restaurer en utilisant les fonctions standard de SQL Server.
C'est ce que nous faisons. Nous effectuons une sauvegarde quotidienne sur le server de production à 21 heures de toute façon.

Puis à 23 heures, nous exécutons un travail SQL Server Agent sur le server de test qui restaure la dernière sauvegarde du server de production ("RESTORE DATABASE …").

Le seul con est: vous devez vous habituer au fait que tous les changements que vous faites dans la database de test sont partis le lendemain matin 🙂