2011-10-21 1 views
4

Imaginons que j'ai 2 bases de données distinctes sur la même instance de SQL Server. DB1 est une base de données relative à la négociation et la tenue de poste. DB2 est une base de données relative aux variables de prix du marché.Quel est le meilleur moyen de créer et de gérer des processus et des fonctions UDF globaux dans SQL Server?

Les deux bases de données ont le concept de travailler avec des objets date/heure et j'ai créé des fonctions UDF pratiques. Imaginons en outre que je construise des fonctions mathématiques pratiques que j'aimerais voir appelées de toutes les bases de données. Quelle est la meilleure façon de les créer et de les organiser?

Dois-je créer les UDF et les SP dans la base de données principale? Comment dois-je regrouper tous mes UDFs CustomDateTime, est-il préférable de créer quelque chose dans le schéma afin que je remplace .dbo par .myDateTime ou .myMath? Suggestions apprécié parce que je n'aime pas comment j'ai actuellement placé la plupart de mes fonctions dans DB1 et je sais que beaucoup seront pertinentes pour DB2?

Répondre

2

Créer un projet de base de données à l'aide de Visual Studio (je crois que 2008 et 2010 le prennent en charge). Conservez les scripts d'objets organisés dans le projet. Vérifiez le projet et les fichiers associés dans une forme de logiciel de contrôle de version (SVN, git, hg, SourceSafe ...).

Vous devez avoir un administrateur de base de données ou une personne dédiée responsable du déploiement des modifications de code dans vos environnements de production. Vous pouvez configurer le projet de base de données avec des scripts avant et après le déploiement, ce qui facilite le travail.

Je ne peux pas recommander de conserver les objets définis par l'utilisateur dans master; À mon humble avis, vous êtes mieux lotis avec des copies dans chaque base de données. Si vous gérez votre code comme ci-dessus, peu importe qu'ils soient dupliqués, car la source se trouve dans un seul emplacement géré.

+0

Je n'utilise que le serveur SQL 'express' depuis quelques mois et ai 2005 en production (comme c'est le défaut contenu dans Windows SBS2008) et exécutez SQL Server 2008 r2 Express sur un ordinateur portable pour le développement. Savez-vous si votre méthode fonctionnera dans une édition Visual Express (désolé, je n'utilise pas Visual Studio, bien que je pense à télécharger IronPython avec le projet VisualStudio codebase). Aussi, je serai le DBA. Merci – Bertie

+0

Malheureusement, je pense que vous aurez besoin au moins des saveurs "professionnelles" de VS 2008 ou 2010. Je peux me tromper et vous voudrez peut-être vérifier le téléchargeur de la plateforme web MS car ils changent leurs offres un peu. Même ainsi, vous pouvez toujours organiser vos scripts objet sur un système de fichiers et les conserver dans le contrôle de version. GForge n'est pas un mauvais outil SVN gratuit. – Yuck

Questions connexes