最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

SQLServer问题之排序规则(collation)冲突

来源:动视网 责编:小采 时间:2020-11-09 10:11:18
文档

SQLServer问题之排序规则(collation)冲突

SQLServer问题之排序规则(collation)冲突:一、写在前面 最近公司进行开发环境升级,数据库也准备了一个新的服务器,一切准备好后开始数据迁移,采取的方式为对现有Database(现有服务器Windows Server 2003 + SQL Server 2005)进行Back up,然后在新服务器(Windows Server 2008
推荐度:
导读SQLServer问题之排序规则(collation)冲突:一、写在前面 最近公司进行开发环境升级,数据库也准备了一个新的服务器,一切准备好后开始数据迁移,采取的方式为对现有Database(现有服务器Windows Server 2003 + SQL Server 2005)进行Back up,然后在新服务器(Windows Server 2008


一、写在前面 最近公司进行开发环境升级,数据库也准备了一个新的服务器,一切准备好后开始数据迁移,采取的方式为对现有Database(现有服务器Windows Server 2003 + SQL Server 2005)进行Back up,然后在新服务器(Windows Server 2008 R2 + SQL Server 20

一、写在前面

  最近公司进行开发环境升级,数据库也准备了一个新的服务器,一切准备好后开始数据迁移,采取的方式为对现有Database(现有服务器Windows Server 2003 + SQL Server 2005)进行Back up,然后在新服务器(Windows Server 2008 R2 + SQL Server 2008 R2)上再Restore Databse,一切似乎挺顺利的。但是当从Web Server开始访问的时候出现错误Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

二、问题分析

  上面出现的问题是由于排序规则冲突(collation)而引发,具体说来就是数据库所使用的语言的排序规则冲突,美国服务器,查看数据库所(老服务器)使用的排序规则如下所示

  而新服务器上数据库的排序规则为SQL_Latin1_General_CP1_CI_AS(就不上图了),由此可以看出排序规则不同,此即问题所在。

  那么为什么数据库的排序规则会不同呢?换句话说数据库的排序规则是怎么来的?原来这里的排序规则是在安装SQL Server数据库实例时配置/指定的,香港虚拟主机,默认的排序规则将基于操作系统的区域语言设置,我们新服务器OS的区域语言为US - English,而在安装SQL Server数据库实例时我们又没有配置排序规则(采取了默认的方式),香港服务器,所以才导致最终数据库的排序规则为SQL_Latin1_General_CP1_CI_AS

三、解决问题

  下面列出解决此问题可能的方式以及说明

1. 在SQL语句中强行指定排序规则,类似的SQL语句如下所示 (COLLATE Chinese_PRC_CI_AI_WS)

SELECT A.ID, B.NO FROM TABLEA A INNER JOIN TABLEB B ON A.NAME=B.NAME COLLATE Chinese_PRC_CI_AI_WS

文档

SQLServer问题之排序规则(collation)冲突

SQLServer问题之排序规则(collation)冲突:一、写在前面 最近公司进行开发环境升级,数据库也准备了一个新的服务器,一切准备好后开始数据迁移,采取的方式为对现有Database(现有服务器Windows Server 2003 + SQL Server 2005)进行Back up,然后在新服务器(Windows Server 2008
推荐度:
标签: 规则 问题 sql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top