Je ne vous recommande pas de le faire si vous pouvez l'éviter.
Si vous voulez juste comparer deux bases de données SQL Server, je recommande une alternative à faible coût http://cdttools.com/sql-diff-erence/. (mise en garde: je l'ai écrit). Cependant, pour ce que vous voulez dire, je recommande une approche différente. vous devriez déjà connaître la version différente des différents schémas pour votre produit que vous avez déjà expédiés. Créez donc un script de modification basé sur la mise à niveau complète de chacun d'entre eux vers votre dernière version. De cette façon, l'installateur doit seulement détecter un seul numéro de version et choisir ses actions sql en fonction de cela. Si vous voulez réellement vraiment faire des comparaisons SQL pendant un programme d'installation, yoo pourrait vouloir regarder les objets SMO (Shared Management Objects) qui font partie du pack de fonctions du serveur SQL. Mais vous devrez probablement installer ceux avant de pouvoir les utiliser. Puis vous pouvez les utiliser pour générer les scripts pour chaque objet SQl et faire une comparaison dans votre programme d'installation. Cependant, honnêtement, je ne le recommande pas.
Il vous dira s'ils existent et vous permettra de générer des versions de script "alt" ou "create". Vous pouvez également accéder directement aux objets du système de base de données INFORMATION_SCHEMA qui vous permettront d'interroger directement l'existence des objets.
+1 ne peut pas dire assez de bonnes choses sur les outils Red-Gate - ils sont un must have ** ** dans les instructions SQL graves Boîte à outils du développeur du serveur! –
Juste besoin de confirmer, cet outil fonctionnera avec l'installateur? Je veux dire quand j'exécute des objets sql sur la machine cliente en utilisant le programme d'installation à ce moment-là, je veux que sql compare pour vérifier la version existante. –
Si vous voulez ajouter la logique de SQL Compare dans votre propre code, vous aurez besoin de http://www.red-gate.com/products/sql-development/sql-comparison-sdk/ –