[MSSQL] 更改資料庫相容性層級 (Compatility Level)

[MSSQL] 更改資料庫相容性層級 (Compatility Level)

曾經遇過一個資料庫,執行個體已經是 2008 的版本了,資料庫相容性層級卻仍停留在 80 (相當於 SQL Server 2000) 。

sql2000 2

 

如此某些需要 2005+ 版本的語法,執行就會出錯了。

sql2000

 

如果確認使用此資料庫的程式或報表,語法沒有使用到只有 2000- 版本能用的語法 (像是 := 的關聯語法),可以考慮更改資料庫的相容層級,以下方法擇一使用即可。

 

方法一:

步驟:

1.資料庫右鍵->屬性

003s

2.選項 -> 相容性層級-> 選擇層級 -> 確定

clip_image002

 

 

方法二:

使用預存程序 sp_dbcmptlevel,將目前資料庫的相容性層級設定為 90

 

語法

sp_dbcmptlevel [ [ @dbname = ] name ]
    [ , [ @new_cmptlevel = ] version ]

 

引數

[ @dbname= ] name

這是將要變更相容性層級的資料庫名稱。 資料庫名稱必須符合識別碼的規則。 name 是 sysname,預設值是 NULL。

[ @new_cmptlevel= ] version

資料庫所要相容的 SQL Server 版本。 version 是 tinyint,預設值是 NULL。 此值必須是下列其中之一:

90 = SQL Server 2005 

100 = SQL Server 2008 

110 = SQL Server 2012 

120 = SQL Server 2014

 

範例:

 


 

 

 

方法三:

ALTER DATABASE database_name 
SET COMPATIBILITY_LEVEL = { 90 | 100 | 110 | 120 }

 

範例:

 


 

 

 

參考資料:

ALTER DATABASE Compatibility Level (Transact-SQL)

 

創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權,文章歡迎轉載,請註明出處,謝謝~~~