解決方法:
第一種辦法:先選中出錯的數據庫→選中以後右鍵點擊屬性會彈出數據庫屬性 對話框→選中數據庫屬性對話框中的選項→把選項中的排序規則設置成:Chinese_PRC_90_CI_AS→最後點擊確定即可。(注意:在選擇數據庫屬性的時候必須確保你所修改的數據庫未被使用纔可以修改否則會失敗的)
第二種辦法:首先打開你的sql查詢分析器(新建查詢),然後輸入以下代碼執行即可:
ALTER DATABASE 數據庫名COLLATE Chinese_PRC_90_CI_AS
解析原因:出現以上情況主要是因爲數據庫屬性的排序規則設置不正確,在Microsoft SQL Server 2005 中,字符串的物理存儲由排序規則控制。排序規則指定表示每個字符的位模式以及存儲和比較字符所使用的規則。
排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。如:
Chinese_PRC_90_CI_AS
前半部份:指UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。
排序規則的後半部份即後綴 含義:
_BIN 二進制排序
_CI(CS) 是否區分大小寫,CI不區分,CS區分
_AI(AS) 是否區分重音,AI不區分,AS區分
_KI(KS) 是否區分假名類型KI不區分,KS區分
_WI(WS) 是否區分寬度WI不區分,WS區分
區分大小寫:如果想讓比較將大寫字母和小寫字母視爲不等,請選擇該選項。
區分重音:如果想讓比較將重音和非重音字母視爲不等,請選擇該選項。如果選擇該選項,比較還將重音不同的字母視爲不等。
區分假名:如果想讓比較將片假名和平假名日語音節視爲不等,請選擇該選項。
區分寬度:如果想讓比較將半角字符和全角字符視爲不等,請選擇該選項
附:如果數據庫正在被使用會提示錯誤:
消息 5030,級別 16,狀態 2,第 1 行
無法用排他鎖鎖定該數據庫,以執行該操作。
消息 5072,級別 16,狀態 1,第 1 行
ALTER DATABASE 失敗。無法將數據庫 *** 的默認排序規則設置爲 Chinese_PRC_90_CI_AS。
解決方法:
確保沒有任何用戶正在使用數據庫,然後將數據庫設置爲單用戶模式。
在數據庫“屬性”->"選項"->“限制訪問”->“Single”
終結方法:
改好之後如果仍然是問號,將其varchar的值增大;