2011-04-22 77 views
4

我们有一个运行在SQL 2005上的生产数据库。我们正在使用SQL 2008 Management Studio。我们遇到的问题是,我们编写的一些存储过程/函数获得的代码与SQL 2008兼容,但与SQL 2005不兼容。较新的管理工作室不会将此标记为错误,但当我们尝试部署一个版本,我们会得到大量的错误。有什么办法可以让2008 Management Studio验证代码的兼容性吗? 谢谢!我可以让SQL 2008 Management Studio验证SQL 2005的代码吗?

+1

的确,SQL Server 2008的SSMS在使用SQL Server 2005实例时不会突出显示语法错误,但是您仍然可以使用* Parse *命令('Ctrl + F5')而不会出现任何问题。 (尽管最常见的* Parse *不会让你看到由错误名称引起的错误。) – 2011-04-22 14:40:05

回答

0

您可以在数据库属性的选项部分下将兼容级别设置为SQL Server 2005(90)。

右键单击数据库,选择“属性”,然后选择“选项”。

+1

这没有帮助。这是为了保持旧代码在2008年无法运行,它不会阻止您使用新功能。 – HLGEM 2011-04-22 14:46:58

+0

感谢您的更正。 – Dave 2011-04-25 16:03:57

2

即使您使用的是Management Studio 2008,您的开发数据库也应该与产品相匹配。当您的prod数据库是2005年时,对照2008​​年的数据库进行开发是一个非常糟糕的想法。您仍然可以在管理工作室2008中连接到2005年的数据库。然后,您将立即发现代码无效。事实上,如果你连接到2005数据库,它只会让你使用2005语法。我们连接到2000年的数据库很长一段时间,直到我们得到所有的服务器升级,并且它不会让我们编写2008年特定的代码,只要我们附加的数据库是2000.

如果由于某种原因(和我我们还建议你在2008年的在线预订中查看2008年的新功能,并确保你的所有开发者知道他们永远不应该使用哪些功能。确保您的代码审查人员根据列表检查代码。

+0

我真的不知道如何判断一个数据库是2005年还是2008年。我认为我们的数据库可能已经更新到2008年,因为我们在尝试在2005年DB上部署2008年功能时遇到了一些问题。特别是,我们遇到了Date数据类型的问题,并且在一步中声明和分配变量(DECLARE @ID INT = 0)。 – GreenEggsAndHam 2011-04-22 19:26:06

+0

请选择@@版本 – HLGEM 2011-04-22 19:46:14

相关问题