今天做了一个查询出错(第一次遇到),才知道排序规则这回事,我现在想知道排序规则是如何分配的?
为什么有的会是SQL_Latin1_General_CP1_CI_AS有的会是 <database default>

解决方案 »

  1.   

    你當前的數據庫實例的配置也會導致兩個庫內的排序規則不同.例如:
    1.dbA 是還原過來的,dbB 是新建的,可能前後的實例配置不同導致 dbA dbB 的排序規則不同
    2.dbA 是附加上去的,dbB 是新建的,前後的實例配置不同也會導致 dbA dbB 的排序規則不同
    3.dbA 是之前建的,過了一段時間,改了實例的設置,然後再新建 dbB,也會導致 dbA dbB 的排序規則不同
      

  2.   

    如果是新建的数据库,默认会使用实例级别的排序规则,但是在后续的使用、管理、开发的时候可能会有所更改,设置的话可以到达列级别,而运行时候也能临时更改排序规则,正如其名,“主要”用于排序,当然还有很多情况,微软建议新版SQLServer安装时候最好使用Windows排序或者使用的最多的那种语言对应的排序规则