sqlserver字符集問題(中文出亂碼,排序錯誤等)


 

在創建sqlserver 數據庫時未指定排序字符集,databases則會使用instances的排序規則。為了支持中文,需要設置成Chinese_PRC_CI_AS。

(1)通過sql腳本修改

--修改現有databases的排序規則 ALTER DATABASE mydb COLLATE Chinese_PRC_CI_AS

(2)通過界面操作。右擊數據庫——屬性——選項——修改排序規則。

2、如果操作報錯,出現數據庫被其他用戶連接使用時,出現排他鎖的錯誤。此時用腳本修改為單用戶模式——改排序規則——再修改回多用戶。

引用  https://www.cnblogs.com/FocusIN/p/5392765.html

Microsoft SQL Server 5030錯誤解決辦法

今天在使用SQL Server時,由於之前創建數據庫忘記了設置Collocation,數據庫中插入中文字符都是亂碼,於是到DataBase的Options中修改Collocation,出現了The database could not be exclusively locked to perform the operation這個錯誤,無法修改字符集為Chinese_PRC_90_CI_AS。

解決辦法找了很久才找到,如下:

1.執行SQL:  ALTER DATABASE db_database SET SINGLE_USER WITH ROLLBACK IMMEDIATE

  修改為單用戶模式

2.然后關閉所有的查詢窗口,修改Options的Collocation屬性為Chinese_PRC_90_CI_AS

  修改數據庫字符集  ALTER DATABASE db_database COLLATE Chinese_RPC_90_CI_AS

3.執行SQL : ALTER DATABASE db_database SET MULTI_USER

  再修改為多用戶模式

ALTER DATABASE EtlWorkSafetyLawEnforcement SET SINGLE_USER WITH ROLLBACK IMMEDIATE
go
ALTER DATABASE EtlWorkSafetyLawEnforcement
COLLATE Chinese_PRC_CI_AS
GO

ALTER DATABASE EtlWorkSafetyLawEnforcement SET MULTI_USER

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM