sql server 排序规则问题

sql server排序规则的问题,主要是由于我们开发环境是简体中文操作系统和sql server,这样安装sql server时默认的排序规则一般是 chinese_prc_ci_as,但是用户使用的环境千奇百怪,有英文的,繁体的,英文+繁体补丁的等等,这样安装sql server 时默认的数据库排序规则很可能就不是chinese_prc_ci_as,这个时候如果需要使用临时表而没有指定其字段的排序规则,就会出现排序规则不一致的错误,英文提示是can't resolve collation conflict equal to operation”。下面我先简单说一下什么是排序规则,然后再说明处理方法。

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区分 

区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,
         比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。

要解决上述问题有两个方法:

1、  重装Sql server 2000,安装时选择自定义安装,然后指定排序规则为chinese_prc_ci_as。

2、使用SQL Server工具Rebuildm.exe 更改 Microsoft SQL Server 实例的排序规则设置,重建Master数据库。

详细如下:

方法一.使用SQL Server工具Rebuildm.exe 更改 Microsoft SQL Server 实例的排

序规则设置,重建Master数据库。

(注:此方法执行成功后在企业管理器中将无法看到除了Sql Server 2000自带数据库的其他数据库,这些数据库的数据文件和日志文件仍然保留在原来目录,需要手工附加一下这些数据库。

步骤如下:

1. Rebuildm.exe文件一般会在

C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录下,可以通过搜索文件方式寻找;双击Rebuildm.exe,弹出界面如下图  

2. 根据实际情况在弹出“重建Master”界面中以下选项进行参数设置

服务器

选择SQL Server企业资源管理器中运行IEDS系统数据库的SQL Server 的实例。

包含数据文件的源目录

选择或指明SQL Server安装程序中Master数据库源文件位置,其位置为SQL Server安装程序根目录下的x86\DATA目录;默认出现的是最初安装SQL Server时的位置。(单击"浏览"可选择一个目录,可以从SQL Server光盘的根目录下选择 x86\Data 目录,或者从共享的网络安装驱动器中选择 x86\Data 目录。)

数据目录

显示存储 master 数据库的本地目录,仅显示不能修改。

排序规则设置

单击"设置"更改 SQL Server 实例的排序规则设置,弹出界面如下图:

这里排序规则指示器请选择Chinese_PRC,排序次序中只选择重音敏感,下面的Sql排序规则不用选择,按“确定”按钮完成排序规则设置,返回原来“重建Master”界面。

单击"重建"后弹出以下界面

按“”按钮,将用指定的排序规则设置重建Master 数据库并配置服务器,该过程需等待一定时间。时间长短,取决于这台Sql Server 2000下用户数据库的多少及数据量的大小。

3.成功重建Master数据库后,重启一下操作系统,在SQL Server企业资源管理器中重新把数据库加载到SQL Server实例中就完成了操作。

 

方法二:重新安装SQL Server,在安装类型中选用自定义方式进行安装。

1.重新安装SQL Server,先以正常方式安装,直到出现“安装类型”界面

把“典型”安装改为选“自定义”安装,再按下一步,出现界面如下图

 

直接再按下一步,出现界面如下图

直接按下一步,选择把“Windows身份验证模式”改为“混合模式”,根据需要输入密码,即如下图

按下一步,出现界面如下图

选择合适的排序规则,按下一步

直接按下一步,根据实际情况输入许可模式每客户设备数量

完成设置,开始安装SQL Server。

如果说Sql Server 是你的系统专用,则可以完全卸载后重新安装,如果有其他系统使用,建议采用安装新实例的方式来做。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值