在中文 Win98 升級安裝的 Win2000 Server 上,以預設方式安裝英文版 SQL Server 7.0 後,執行 sp_attach_db 附加原有資料庫報錯:
Server: Msg 1816, Level 16, State 1
Could not attach the database because the character set, sort order, or Unicode collation for the database differs from this server.
Warning: sort order 52 in database differs from server sort order of 199.
Warning: Unicode language locale 1033 in database differs from server Unicode language locale of 2052.
ISO Character Set,排序為 Dictionary order, case-insensitive,Unicode 定序為 General。從中文 Windows 98 升級/安裝的 Windows 2000,其底層字符集/定序設定會與英文版 SQL Server 產生衝突,導致無法附加不同定序的資料庫。
此問題雖罕見,但對災難恢復場景極具參考價值。