2008-12-08 9 views
1

Nous avons un produit qui utilise une base de données Microsoft SQL Server. Nous avons des clients qui utilisent diverses versions plus anciennes du produit.SQL Server: mise à niveau des bases de données

Comment les utilisateurs écrivent-ils/structurent-ils leurs scripts de mise à niveau de base de données dans cette situation?

Répondre

2

Vous avez besoin d'un ensemble de scripts de correctifs de version à publication. Sur les systèmes de production avec des données en direct, c'est un peu plus compliqué car vous devrez peut-être aussi manipuler des données dans ces scripts.

Redgate SQL Compare Pro est un très bon outil pour générer ces scripts ou faire des fonctions d'assurance qualité sur les scripts (évidemment, vous ne devriez pas vraiment l'utiliser pour les deux rôles). Parce que vous avez des données client en direct impliquées, vous devrez tester les mises à niveau de régression.

Je ne pense pas qu'il existe un moyen facile de le faire. Vous devrez développer le script et tester toutes les manipulations de données qu'il effectue. Faites les tests de version en version pour un ensemble utile de mises à niveau. La clé ici est d'organiser un environnement de test miroir de production que vous pouvez tester les correctifs avant de les appliquer à un système en direct.

P.S. N'oubliez pas de sauvegarder et de tester la restauration sur la base de données de production avant d'exécuter le script de correctifs, mais vous le saviez déjà; -}

0

Nous avons un script SQL qui effectue une installation propre et une mise à niveau. Après avoir installé SQL Express ou serveur complet SQL, nous courons ce script qui effectue les opérations suivantes:

  1. crée les tables si elles n'existent pas avec CREATE TABLE.
  2. Supprimez et recréez toutes les procédures stockées
  3. apporter des modifications aux tables telles que les changements sur le terrain, les ajouts de terrain, etc.

Nous continuons à étendre ce script, de sorte que chaque version ne fera qu'ajouter à ce fichier de script SQL. Cela signifie que nous pouvons exécuter ce script sur les systèmes de production pour les mettre à jour avec le dernier schéma. Utilisez le script pour les nouvelles installations afin de créer le schéma à partir de zéro. De cette façon, nous sommes assurés que le script de mise à niveau apportera la plus ancienne installation jusqu'à la dernière version.

+0

Comment faites-vous face à la mise à jour continue de ce script? Cela ne rend-il pas difficile à lire si vous devez regarder la création de la table initiale, puis une collection d'insertions de colonne, potentiellement réparties sur un tas de scripts suivants? –

+0

Eh bien non, je ne regarde jamais la création de la table d'origine. Je fais simplement les modifications qui doivent être faites en fonction de ma dernière version. Donc, je n'ajoute que quelques modifications après chaque build. – Maltrap

Questions connexes