執行SSMS磁碟使用量報表發生錯誤

執行SSMS磁碟使用量報表發生錯誤

 

今天要檢視一個資料庫的磁碟使用量報表時(報表路徑如下圖)

 

 

居然出現了錯誤訊息,且無法正常顯示報表。

clip_image002

 

 

 

 

報表錯誤的訊息如下,當下google一下。有相當多人有遇見類似

 

問題,因此很好取得解決方法。

clip_image004

 

 

 

 

發生這樣的問題時請先檢查該DB的相容性層級(如下圖所示),我

 

DB由於是SQL2000(80)的相容性層級,因此會發生這樣的錯誤。

clip_image006

 

 

 

 

解法很簡單,只要提昇相容性層級到SQL2005(90)以上即可(如下圖所示)

 

但須注意一但提昇DB的相容性層級後,有一些原來在SQL2000可以執行

 

的語法會不支援而導致AP發生錯誤。因此轉換前一定要確認所有AP

 

語法不會受到影響。

clip_image008

 

 

 

 

我將相容性層級提升到SQL2008(100)後再執行一次該報表。這一次報表內容

 

就可以正常顯示了。

clip_image010

 

查詢問題過程中我有利用Profiler去錄製執行該報表會用到的語法,

 

並逐一在相容性層級為SQL2000(80)DB上執行。我發現所有語法

 

都可以正常執行並不會有錯誤訊息。但不知道SSMS的報表產生器

 

是否有甚麼限制,而發生了錯誤。

我是ROCK

rockchang@mails.fju.edu.tw