2012-03-30 70 views
0

我在Sql Server中遇到了一個錯誤,在解決它之後,我正在查找發生這種情況的原因。 的情況是,我想在一個表中改變列這樣自動創建的統計信息沒有被Sql Server 2008刪除

Alter Table tblEmployee 
Alter Column empDate Date 

但運行此腳本時,我得到的錯誤 -

統計「empDate」是依賴於列「empDate」 。 消息4922,級別16,狀態9,行1 ALTER TABLE ALTER COLUMN empDate失敗,因爲一個或多個對象訪問此列。

事實證明,這個錯誤是因爲在本專欄中引用了統計信息。我沒有明確創建統計信息的腳本,並且生產環境中發生錯誤,因此它必須已經自動創建。如果它是自動創建的,那麼Sql Server爲什麼不自己刪除它?當我放棄統計信息時,我的錯誤得到了解決。

我看着其他地方,無法找到任何相關的東西。

回答

0

我還沒有看過幾個版本的SQL統計信息,但回來的時候,自動生成的統計信息具有相當獨特的名稱(如「_WA_Sys_00000005_00000037」)。如果你的統計字面上有'empDate'這個名字,那麼幾乎肯定是而不是和自動創建的統計信息,但是有人有意地創建了一些統計信息。

相關問題