某些产品会有固定的DB Collation,如果提前创建DB的时候没有按照要求指定对应的Collation,这个时候就会报错,提示你Collation不匹配。在安装SQL Server的时候有时候需要有区分大小写的要求,只是在安装的时候改变Collation成CaseSensitive(区分大小写),其实至始至终也不明白Collation在SQL Server中的作用到底是什么。

Collation到底是什么?

说白了Collation其实就是描述了数据在数据库中是按照什么规则来描述字符,以及字符在数据库中如何排序和比较的,Collation 是由两部分组成的(前半部是SQL所支持的字符集,后半部分指的是SQL的排序规则),举个例子:

Chinese_PRC_90_CI_AS_KS ——》由“Chinese_PRC_90”(前半部分支持中国大陆的字符集)和“CI_AS_KS ”(后半部分排序规则)组成。

  • _CI(CS)表示是否区分字母大小写,CI不区分,CS区分。如果区分大小写,那么排序的时候小写字母的排在大写的前面;如果不区分大小写,那么排序的时候视大小写字母相同。
  • _AI(AS) 表示是否区分重音,AI不区分,AS区分。如果不区分重音,那么排序的时候视“a”和“ấ”为相同字符
  • _KI(KS) 表示是否区分假名类型,KI不区分,KS区分。在日语中应用。
  • _WI(WS) 表示是否区分全半角,WI不区分,WS区分。半角是单字节,全角是双字节。

SQL Server Collation的级别

  • Server Level Collation: 安装SQL Server 的时候给Instance指定的Collation规则(比如说我们指定的区分大小写之类的)
  • Database Level Collation:在创建Database的时候指定的Collation规则
  • Column Level Collation: 给Database表增加行的时候,给行指定的Collation规则
  • Expression Level Collation: 在执行SQL 查询语句的时候加的Collation规则

如何update已创建好的Collation?

对于Server Level Collation的更改(更新有风险,更新需谨慎啊,对Server Collation更新后,之前保存的数据将会全部丢失)

对于Server Level Collation的更改需要注意几个地方:

  1. 首先指向到安装目录下setup.exe这一层
  2. 如果是Windows认证模式,不需要指定【SAPWD=StrongPassword】
  3. 如果是混合认证模式,使用sa用户认证,则必须指定【SAPWD=StrongPassword】,否则会报错

update的代码:

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
/SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
/SQLCOLLATION=CollationName

验证Collation是否成功Update:

对于Database Level Collation的更改

1. 使用SQL Server Management Studio

2. 使用SQL语句:

ALTER DATABASE DataBaseName
COLLATE Chinese_PRC_90_CI_AS_KS ;
GO

————————————————————————————————

WHOOOOSHHHHHHHHHHHH…………

Blimey what was that?

That was your life mate

Oh, I was not quite ready. Can I have another go?

Sorry mate, only one per person.

SQL Server Collation解惑的更多相关文章

  1. 全半角空格导致的Sql Server Analysis Services处理错误(转载)

    问题描述 某维度表的字符串列同时出现两条记录,A记录以半角空格(英文空格)结束,B记录以全角空格(中文空格)结束,除此之外其他部分均相同.Analysis Service处理的时候抛出“Key not ...

  2. Microsoft SQL Server

    instance / database / schema / object login / user / schema (dbo) sequence Collation PSM: Both Insta ...

  3. 转载:Character data is represented incorrectly when the code page of the client computer differs from the code page of the database in SQL Server 2005

    https://support.microsoft.com/en-us/kb/904803 Character data is represented incorrectly when the cod ...

  4. Microsoft SQL Server Version List [sqlserver 7.0-------sql server 2016]

    http://sqlserverbuilds.blogspot.jp/   What version of SQL Server do I have? This unofficial build ch ...

  5. Microsoft SQL Server Version List(SQL Server 版本)

    原帖地址 What version of SQL Server do I have? This unofficial build chart lists all of the known Servic ...

  6. sql server 小技巧(6) Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "Chinese_PRC_CI_AS" in the equal to operation

    今天查询二个db,出现这个错误,二种方法,一种是把db里的collation改成一样的:如果不方便可以直接在sql语句后面转一下: select * from table where crm_mscr ...

  7. SQL Server 问题之 排序规则(collation)冲突

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

  8. SQL Server, Cannot resolve the collation conflict

    今天遇到一个较为头痛的问题: Cannot resolve the collation conflict between "Chinese_PRC_90_CI_AS" and &q ...

  9. Easy way to change collation of all database objects in SQL Server

    This info is from: http://www.codeproject.com/Articles/302405/The-Easy-way-of-changing-Collation-of- ...

随机推荐

  1. Android4.4 ContentResolver查询图片无效 及 图库删除 增加图片后,ContentResolver不更新的问题解决

    问题背景: 参考链接 做了一个图片浏览,用ContentResolver扫描图库照片,且严格按照时间拍摄顺序排好序显示在listview里.如下图所示: 遇到的问题是在4.2的手机上能正常显示,但是新 ...

  2. 反向路径过滤——reverse path filter

    原文地址:反向路径过滤——reverse path filter 作者:pwp_cu 反向路径过滤——reverse path filter 一.原理先介绍个非对称路由的概念参考<Underst ...

  3. .NET Core中向已存在文件的特定位置写入数据

    本例使用.NET Core向一个文本文件中的特定位置写入数据,来模拟文件上传中的断点续传是如何在服务器端实现的. 新建一个.NET Core控制台项目FileContinueToWrite,其Prog ...

  4. #20155232《网络对抗》Exp9 Web安全基础

    20155232<网络对抗>Exp9 Web安全基础 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 WebGoat Webgoat是OWASP组织研 ...

  5. 20155317王新玮《网络对抗》Exp2 后门原理与实践

    20155317王新玮<网络对抗>Exp2 后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划 ...

  6. 20155320 EXP8 Web基础

    20155320 EXP8 Web基础 [基础问题回答] 什么是表单? 表单:可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 表单由文本域.复选框.单选框.菜单.文件地址域.按钮等 ...

  7. 20155333 《网络对抗》 Exp8 Web基础

    20155333 <网络对抗> Exp8 Web基础 基础问题 (1)什么是表单? 表单在网页中主要负责数据采集功能. 一个表单有三个基本组成部分: 表单标签,这里面包含了处理表单数据所用 ...

  8. WPF 简易进度条效果

    最近做一个项目,看到以前同事写的进度条效果不错,所以,拿来简化了下,不炫,但是项目中还是够用的. 还是,先来看下调用以后的效果 1.因为ProgressbBar的Foreground显示不得不一样,所 ...

  9. linux & windows下重启oracle

    Linux:方法1 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start ...

  10. Hadoop日记Day16---命令行运行MapReduce程序

    一.代码编写 1.1 单词统计 回顾我们以前单词统计的例子,如代码1.1所示. package counter; import java.net.URI; import org.apache.hado ...