搜尋本站文章

2011-08-23

遭遇 Microsoft SQL Server, Error: 468;情境:使用 SSMS 管理工具執行作業

使用環境:
SQL Server 2008
SQL Server 2008 R2

在使用 SSMS 管理工具執行作業,例如:檢視資料庫的屬性時,可能遭遇到以下的錯誤:


--01 SSMS 管理工具,遭遇 錯誤: 468


錯誤訊息:

標題: Microsoft SQL Server Management Studio
------------------------------

無法顯示要求的對話方塊。

------------------------------
其他資訊:

無法顯示要求的對話方塊。 (SqlMgmt)

------------------------------

執行 Transact-SQL 陳述式或批次時發生例外狀況。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

無法解析 equal to 作業中 "Chinese_Taiwan_Stroke_CI_AS" 與 "Chinese_Taiwan_Stroke_BIN" 之間的定序衝突。 (Microsoft SQL Server, 錯誤: 468)

如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2500&EvtSrc=MSSQLServer&EvtID=468&LinkId=20476



--01 查詢各個資料庫的「預設定序(default collation)」
SELECT name N'資料庫', collation_name N'預設定序'
FROM sys.databases 

--02 查詢各個資料庫的「預設定序(default collation)」



檢視上圖,可以觀察到系統資料庫 model、tempdb 使用的「定序」是:Chinese_Taiwan_Stroke_CI_AS。

但系統資料庫 master 使用的是:Chinese_Taiwan_Stroke_BIN。




若要修正此類問題,方式是讓系統資料庫的定序要一致,可能的解決方式是:

(1)
重建系統資料庫,指定使用正確的定序。

(2)
找到與系統資料庫 master 一樣定序的系統資料庫 model。
使用備份與還原或是檔案覆蓋方式來處理系統資料庫 model。
重新啟動 SQL Server 服務。

--03 各個系統資料庫的「定序」都是一樣的



參考資料

重建系統資料庫
http://msdn.microsoft.com/zh-tw/library/dd207003.aspx

重建系統資料庫;Rebuilding System Databases
http://sharedderrick.blogspot.com/2011/05/rebuilding-system-databases.html

無法重建系統資料庫,以 SQL Server 2008 R2 版本為例
http://sharedderrick.blogspot.com/2011/05/sql-server-2008-r2.html

還原系統資料庫:master、model、msdb
http://sharedderrick.blogspot.com/2011/05/mastermodelmsdb.html

無法解析 equal to 作業中...之間的定序衝突(Cannot resolve the collation conflict between...in the equal to operation) :當資料行的定序不相同,資料表聯結無法正常執行;Msg 468, Level 16, State 9, Line 3 (1)
http://sharedderrick.blogspot.com/2011/04/equal-to-cannot-resolve-collation.html

無法解析 equal to 作業中...之間的定序衝突(Cannot resolve the collation conflict between...in the equal to operation) :當資料行的定序不相同,資料表聯結無法正常執行(2)
http://sharedderrick.blogspot.com/2011/04/equal-to-cannot-resolve-collation_23.html