让我们假设我在同一个SQL Server实例上有两个独立的数据库。 DB1是与交易和头寸保持有关的数据库。 DB2是一个与市场定价变量相关的数据库。
两个数据库都有使用时间/日期对象的概念,我创建了一些方便的UDF。让我们进一步想象一下,我建立了一些方便的数学函数,我希望从所有数据库中调用它们。创建和组织它们的最佳方法是什么?
即。我应该在主数据库中创建UDF和SP吗?我应该如何对所有CustomDateTime UDF进行分组,最好是在Schema中创建一些内容,以便用.myDateTime或.myMath替换.dbo?
建议赞赏,因为我不喜欢我目前如何将大部分功能放在DB1中,而且我知道很多功能与DB2相关?
答案 0 :(得分:2)
使用Visual Studio创建数据库项目(我相信2008和2010支持它)。保持项目中的对象脚本组织。将项目和相关文件检查为某种形式的版本控制软件(SVN,git,hg,SourceSafe ...)。
您应该有一名DBA或专职人员负责将代码更改部署到您的生产环境中。您可以使用部署前和部署脚本来配置数据库项目,以便更轻松地使用它。
我不建议在master
中保留用户定义的对象;恕我直言,你最好在每个数据库中使用副本。如果您正在管理上述代码,那么它们是重复的并不重要,因为源位于一个托管位置。