2009-01-09 6 views
11

Nous activons "Outils ==> Options ==> Concepteurs ==> Concepteurs de tables et de bases de données ==> Générer automatiquement des scripts de modification" dans notre SQL Server Management Studio (SSMS). Lors de la modification de notre schéma de base de données, nous sauvegardons le script et, grâce aux outils de migration DB installés sur toutes les machines exécutant nos applications, nous pouvons synchroniser le schéma lors de la prochaine mise à jour de la version logicielle.SQL Server 2008 Génération automatique des scripts de modification Problème hérité

Nous avons récemment transféré nos copies de développement et certains serveurs de production vers SQL Server 2008. Cependant, nous avons toujours quelques douzaines de SQL Server 2005 exécutant notre logiciel dans la nature. Nous ne prévoyons pas de les mettre à jour pendant un petit moment.

Le problème est simple. Les scripts générés par SSMS ne fonctionnent pas toujours avec SQL Server 2005. SMSS ajoute des métadonnées supplémentaires aux commandes (concernant l'escalade de verrous, par exemple). Pour faire nos scripts avec 2005, nous devons supprimer manuellement les informations supplémentaires, sinon les scripts ne s'exécutent pas.

Existe-t-il un moyen de configurer SSMS pour générer des scripts compatibles avec SQL Server 2005? Y a-t-il des outils autour de cela qui supprimeraient automatiquement le SQL supplémentaire ou au moins nous laisseraient savoir quels sont les fichiers problématiques?

+0

Quelle erreur spécifique voyez-vous? –

Répondre

13

en studio de gestion SQL Server 2008 Outils goto -> Options -> Explorateur d'objets SQL Server -> Script et sélectionnez "Script pour la version du serveur" et changer à SQL Server 2005.

+0

Je ne peux pas croire que je n'ai pas remarqué cela. Merci. –

+0

De ce que je peux voir, même avec l'option d'installation, le script qu'il génère est incompatible :(. Je vais blâmer cela sur un bug dans SSMS (pas le premier que je vois lié aux options de configuration!) –

+1

Si cela est un bogue de SMSS, il est toujours persistant dans SQL 2008 R2 récemment libéré (j'ai le même problème et l'ai eu avec SQL2005-> 2000) –

0

Je n'ai pas encore utilisé le studio de gestion 2008, mais dans chaque version précédente, vous avez été en mesure de définir le script sur une version spécifique de SQL Server dans les options quelque part.

J'ai créé le studio de gestion 2005 pour générer 2000 scripts compatibles pour des raisons similaires.

2

La solution recommandée pour changer la options semble être corerct mais il génère toujours ALTER TABLE SET (LOCK_ESCALATION = TABLE) sur ma base de données (j'ai même mis en mode de compatibilité 90)

+0

Est-ce que ceci pour moi aussi - le supprimant manuellement. –

Questions connexes