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


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

我们最近将开发副本和一些生产服务器切换到SQL Server 2008.但是,我们仍然有几十台SQL Server 2005在运行我们的软件。我们暂时没有计划升级这些。

问题很简单。 SSMS生成的脚本并不总是与SQL Server 2005一起使用.SMSS正在为命令添加额外的元数据(例如,关于锁升级)。要使用2005创建脚本,我们必须手动删除额外信息,否则脚本不会运行。

有没有办法配置SSMS生成与SQL Server 2005兼容的脚本?是否有自动摆脱额外SQL的工具或至少让我们知道哪些文件有问题?


6142
2018-01-09 17:16


起源

你看到了什么具体的错误? - Ken Yao


答案:


在SQL Server管理工作室2008中转到工具 - >选项 - > SQL Server对象资源管理器 - >脚本并选择“服务器版本的脚本”并将其更改为SQL Server 2005。


13
2018-01-11 00:59



我不敢相信我没注意到这一点。谢谢。 - Jason Kealey
从我所看到的,即使使用选项设置,它生成的脚本也是不兼容的:(。我会将此归咎于SSMS中的错误(不是我看到的第一个与配置选项相关的错误!)。 - Jason Kealey
如果这是一个SMSS错误,它仍然在最近发布的SQL 2008 R2中持久存在。 (我遇到了同样的问题并使用SQL2005-> 2000) - Martin Marconcini


更改选项的推荐解决方案似乎是corerct但是它仍然在我的数据库上生成ALTER TABLE SET(LOCK_ESCALATION = TABLE)(我甚至进入兼容模式90)


2
2018-02-02 22:21



这对我来说也是这样 - 手动删除它。 - Jason Kealey


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

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


0
2018-01-11 00:43