修改MsSql( sql server)的排序规则

本文介绍了一种在Windows Server 2008和SQL Server 2008 R2环境下,由于字段排序规则导致的中文查询问题及解决方案,并提供了一个避免此类问题的方法。

遇到了一个这样的问题..写好的后台在本地与测试都没问题  后面上线了就出问题了

  系统环境是window server 2008 英文版  数据库是sql server 2008 r2 英文版  查询语句查不出来结果 带了中文 (然后我在语句中加了N  有点很奇怪的是 我代码产生的加N的sql语句在 数据库中是可以查出来数据 但是使用了orm之后居然没有返回值..莫名其妙的..)   

    一出问题倒是一下子想到原因了  肯定字段的排序规则有问题   但是数据库已经在用了  直接用

alter database MyDB
collate Chinese_PRC_CI_AS ;

语句是 改不了  会报错的  然后找了一下 用以下语句可以解决问题

 

 

alter database MyDB
set single_user with rollback immediate ; --修改数据库为单用户访问,可以锁定数据库goalter database 
MyDB
collate Chinese_PRC_CI_AS ; --修改数据库排序规则goalter database 
MyDB
set multi_user; --释放

 

后面研究了一下  只要在创建数据库的时候设置好排序规则(默认是Latin1_General_CI_AS_KS_WS反正不是中文的排序..)就好了   以后就没事了    以后创建数据库注意点就好了不用煞费苦心的去找解决方案了.

 

最好呢还是用中文系统,中文数据库就行了  没这么多事情了

 

比较简单的东西

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值