我有一个Mydatabase
在 SQL Server 2008 R2 中创建的数据库。我已经升级到 SQL Server 2012。
我试图执行下面的查询来计算百分位数
select Distinct [KEY],PERCENTILE_CONT(0.25) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q1,PERCENTILE_CONT(0.50) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q2,
PERCENTILE_CONT(0.75) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q3,
PERCENTILE_CONT(1) within group(order by EachPrice)
OVER(Partition By [KEY]) As Q4
from Mydatabase
但我收到一条错误消息,指出
Msg 10762, Level 15, State 1, Line 1
当前兼容模式下不允许使用 PERCENTILE_CONT 函数。仅允许在 110 或更高模式下使用。
- 我可以将兼容模式更改为 110 吗?
- 将兼容模式从 100 更改为 110 有何影响?
请指教
看看下面的链接:
ALTER DATABASE 兼容级别
向下滚动,您将看到“较低兼容级别与级别 110 之间的差异”部分,并确定这些项目是否会影响您。如果没有,那么只需将级别更改为 110。
Microsoft数据迁移助手可帮助您快速轻松地找到可能阻止升级或使升级复杂化的任何问题。
如果它没有发现任何问题(或者如果它发现了,并且您已经解决了这些问题),您可以通过运行以下命令进行升级,一次一个:
还有升级顾问,它可以帮助您识别数据库中的任何内容,这些内容在更改兼容性级别时可能会导致问题(基本上是一种半自动化的方式来执行@steoleary 建议的操作,从而减少您丢失任何内容的机会)。