Sql-Server-2012
將 SQL Server 中的兼容模式從 100 更改為 110 的含義
我有一個
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 有何影響?
請指教
看看下面的連結:
向下滾動,您將看到“較低兼容級別與級別 110 之間的差異”部分,並確定這些項目是否會影響您。如果沒有,那麼只需將級別更改為 110。
Microsoft數據遷移助手可幫助您快速輕鬆地找到可能阻止升級或使升級複雜化的任何問題。
如果它沒有發現任何問題(或者如果它發現了,並且您已經解決了這些問題),您可以通過執行以下命令進行升級,一次一個:
USE master go ALTER DATABASE [yourdatabasesname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE go ALTER DATABASE [yourdatabasesname] SET COMPATIBILITY_LEVEL = 110 -- 130=SQL Server 2016, 120=2014, 110=2012 go ALTER DATABASE [yourdatabasesname] SET MULTI_USER go