2012-03-30 19 views
0

Sql Serverでエラーが発生しましたが、解決した後、この問題が発生した理由を探しています。Sql Server 2008によって自動作成された統計情報が削除されない

統計「empDate」の列に依存している「empDate」 - 状況は、私はこの

Alter Table tblEmployee 
Alter Column empDate Date 

しかし、このスクリプトを実行している間、私はエラーを取得するようにテーブルの列を変更しようとしたことです。 メッセージ4922、レベル16、状態9、行1 ALTER TABLE ALTER COLUMN 1つ以上のオブジェクトがこの列にアクセスしたため、empDateが失敗しました。

このエラーは、この列で統計情報が参照されていることが原因であることが判明しました。明示的に統計を作成するスクリプトがなく、運用環境でエラーが発生したため、自動作成されている必要があります。それが自動作成されている場合、なぜSql Serverは自動的にそれを削除しないのですか?統計を削除したとき、私のエラーは解決しました。

私は他の場所を見て、関連するものを見つけることができませんでした。

答えて

0

私はいくつかのバージョンのSQL統計を見ていませんでしたが、自動生成された統計情報にはかなり異なる名前(「_WA_Sys_00000005_00000037」など)があるときに戻ってきました。あなたの統計情報が文字通り「empDate」という名前を持っていた場合は、ではなくではなく、自動作成された統計ですが、意図的に作成されたものです。

関連する問題