1. 程式人生 > >SQL建立資料庫失敗解決辦法:(Collation '' is not valid.)

SQL建立資料庫失敗解決辦法:(Collation '' is not valid.)

      使用SQL2008進行建立資料庫的時候,如果遇到建立失敗的情況,如下:

 Create 對於 資料庫“test123”失敗。  (Microsoft.SqlServer.Smo)

Collation '<伺服器預設值>' is not valid. (Microsoft.SqlServer.Smo)

      這是因為建立資料庫的時候,沒有制定正確的Collation(即“選項”中的“排序規則”),一般情況下預設屬性就可以了,但是也不排除出現問題的可能,所以,如果出現上述問題,請自行制定正確的排序規則即可: Chinese_PRC_CI_AS

      就排序規則的含義,也做下簡單的介紹: MS是這樣描述的:

      "在 Microsoft SQL Server 2000 中,字串的物理儲存由排序規則控制。排序規則指定表示每個字元的位模式以及儲存和比較字元所使用的規則。"   

      在查詢分析器內執行下面語句,可以得到SQL SERVER支援的所有排序規則。

       select * from ::fn_helpcollations()  

      排序規則名稱由兩部份構成,前半部份是指本排序規則所支援的字符集。如:

  Chinese_PRC_CS_AI_WS 前半部份:指UNICODE字符集,Chinese_PRC_指標對大陸簡體字UNICODE的排序規則。

      排序規則的後半部份即字尾 含義:  

_BIN 二進位制排序  

_CI(CS) 是否區分大小寫,CI不區分,CS區分  

_AI(AS) 是否區分重音,AI不區分,AS區分     

_KI(KS) 是否區分假名型別,KI不區分,KS區分      

_WI(WS) 是否區分寬度 WI不區分,WS區分   

      區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。

      區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,比較還將重音不同的字母視為不等。區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。區分寬度:如果想讓比較將半形字元和全形字元視為不等,請選擇該選項