Sql server 从文本文件更新客户端SQL Server数据库结构
我们有一个“主数据库结构”,需要一个例程来保持客户端站点上的数据库结构最新 已经提出了许多建议,但我正在寻找更具体的解决方案,大致如下:Sql server 从文本文件更新客户端SQL Server数据库结构,sql-server,database,compare,Sql Server,Database,Compare,我们有一个“主数据库结构”,需要一个例程来保持客户端站点上的数据库结构最新 已经提出了许多建议,但我正在寻找更具体的解决方案,大致如下: 我想生成一个文本文件(XML或其他可读格式),它描述整个数据库结构(这可以进入版本控制)。此例程将在内部运行,以提供一个数据库模式文件,该文件将随产品的下一版本一起分发 然后,我需要一种方法来更新客户端站点上的数据库结构,使其与主数据库结构相对应。(换句话说,我不想为不同版本的数据库结构跟踪大量的更改脚本,而是需要一个更通用的例程,可以将客户机数据库结构更新为
您喜欢的比较文本路径(比较两种模式的文本SQL转储)在我看来很难做到正确和自动,看起来不像是正确的路径。几种流行的策略是这方面的变体:
- 将表添加到数据库:
创建表发布
(发布号int不为空,
应用的日期时间不为空
) - 作为发布脚本的一部分,每个发布都会在此表中插入一行李>
- 现在,您可以通过一个查询找出每个客户机正在运行的版本,并运行该版本和它们希望运行的版本之间的所有版本李>
- 此外,您可以通过执行以下操作来检查每个版本的模式是否正确(正确的表名、列等):
选择so.name,
sc.name
从sysobjects so,
syscolumns sc
其中type='U'
按1、2顺序订购 - 然后计算结果的散列,并将其与预先计算的散列(通过在参考安装上运行查询生成)进行比较,以查看安装是否正确李>