我知道我可以使用这样的东西
select compatibility_level from sys.databases where name = 'database'
找出数据库兼容级别,但我实际需要的是此服务器支持的最小值。有这种动态的方式吗?或者我是否必须对值进行硬编码?
Backgroud :我们有大量客户使用各种服务器,并证明我们的系统对所有服务器都存在问题。如果我可以将它设置为低兼容级别,我知道这是经过充分验证的,这比设置为高/默认值要好。 (也就是说,在我们的场景中,将SQL Server 2012上的新数据库设置为兼容性90,而不是100或110)。
答案 0 :(得分:1)
您要做的是获取服务器版本(使用SELECT @@VERSION
),然后将其与将服务器版本映射到支持的兼容级别的列表进行比较:http://sqlrus.com/2014/10/compatibility-level-vs-database-version/
我注意到该链接上的列表不正确,因为我运行的SQL Server 2014服务器支持Level 90,但该页面说它应该只支持Level 100。