1. 程式人生 > >SQL 2000 bug:在企業管理器中修改現有檢視時,會自動將列名修改為Expr1,Expr2等

SQL 2000 bug:在企業管理器中修改現有檢視時,會自動將列名修改為Expr1,Expr2等

這個問題以前就遇到過,後來印象中好象是重灌了SQL就解決了,今天又遇到了同樣的問題,在修改SQL 2000已有的檢視時,以前用的好好的檢視一用企業管理器修改,所有select中列出的列名就被自動修改為Expr1,Expr2等等,補丁打到sp4也沒用。

今天又在網上查找了一下,才知道是microsoft的BUG,在sql 7和sql 2000中全都存在

症狀: 

當從 SQL Server 企業管理器 (SEM) 設計檢視工具建立檢視,T-SQL 語法將顯示正常。 但是,如果檢視儲存,在關閉設計檢視,並設計檢視重新開啟要檢查檢視然後,語法將可能會更改。

SQL Server 2000 和 SQL Server 7.0 中, 出現此問題,儘管到 T-SQL 更改是兩個版本之間稍有不同。 此行為是僅存在一個很少和唯一的組的情況。 請參閱在"更多資訊"部分,瞭解進一步的詳細資訊,請。

當您右鍵單擊檢視,然後選擇 屬性 ,檢視的語法顯示正常 ; 它將可以執行在查詢分析器 (QA),並將每次返回正確的結果。 但是,更改的語法,從設計檢視不會返回正確的結果。

原因:

此問題已與為外部聯接 ; 而不是它是由於到 autoaliasing 時在這些特定的情況下應該不會發生。 在結果是未繫結的列建立的獲取重新繫結到錯誤的表。

替代方法:

使用設計檢視建立檢視後,避免編輯,然後 resaving 使用設計檢視工具在 SQL 企業管理器檢視。 使用查詢分析器和 T-SQL 而編碼。

Microsoft 已經確認這是 SQL Server 7.0 中的問題。
Microsoft 已經確認這是 SQL Server 2000 中的一個問題。

.....

這些都是機器翻譯的結果,還是看看micorosft原文連結吧

檢視microsoft給出的原文: