SQL Server 2008自动生成更改脚本遗留问题

问题描述:

我们在我们的SQL Server Management Studio(SSMS)中启用“工具==>选项==>设计器==>表和数据库设计器==>自动生成更改脚本”。在更改我们的数据库模式时,我们保存了脚本,并且由于我们已经在运行我们的应用程序的所有机器上安装了数据库迁移工具,因此我们可以在下次软件版本更新期间同步模式。SQL Server 2008自动生成更改脚本遗留问题

我们最近将开发副本和一些生产服务器切换到SQL Server 2008.但是,我们仍然有几十个SQL Server 2005在野外运行我们的软件。我们不打算在短时间内升级这些设备。

问题很简单。由SSMS生成的脚本并不总是适用于SQL Server 2005. SMSS正在向命令添加额外的元数据(例如,有关锁升级)。为了在2005年制作脚本,我们必须手动删除额外的信息,否则脚本不会运行。

有什么办法可以配置SSMS来生成与SQL Server 2005兼容的脚本吗?有没有工具会自动摆脱额外的SQL,或者至少让我们知道哪些文件有问题?

+0

你看到了什么特定的错误? – 2009-01-09 18:44:22

在SQL Server Management Studio 2008中转到工具 - >选项 - > SQL Server的对象资源管理器 - >脚本,然后选择 “脚本的服务器版本” 并将其更改到SQL Server 2005

+0

我不敢相信我没有注意到这一点。谢谢。 – 2009-01-12 15:49:13

+0

从我所看到的,即使使用选项设置,它生成的脚本也是不兼容的:(我将这个错误归咎于SSMS中的错误(不是我看到的与配置选项有关的第一个错误!) – 2009-01-19 12:50:20

我还没有使用2008管理工作室,但在以前的每个版本中,您都可以将脚本设置为特定版本的SQL Server。

我有2005管理工作室设置为生成2000兼容脚本出于类似的原因。

推荐的解决方案来改变选项似乎是corerct,但它仍然会在我的数据库上生成ALTER TABLE SET(LOCK_ESCALATION = TABLE)(我甚至会将兼容模式设置为90)