关于数据库 区分大小写的问题

XBodhi. 2018-12-12 06:15:06
曾几何时,我记得SQL SERVER 数据库 字段名是不区分大小写,字段的值是区分的,

现在发现都不区分大小写了。用排序规则设置是可以了,但是字段名也变的 大小写敏感了。

因为用户的密码 和 用户名 是比较敏感的, 这里不想 增加
COLLATE Chinese_PRC_CS_AS
语句

有没有其他的方法 全局设置。

求方法
...全文
859 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2018-12-15
  • 打赏
  • 举报
回复
建议在SQL里写表名和字段名时, 尽量准确的写大小写, 这是个好习惯(代码规范)喔.
吉普赛的歌 2018-12-13
  • 打赏
  • 举报
回复
引用 5 楼 JoeXBodhi 的回复:
确实,生产的库在改就比较麻烦,因为 不 KILL 链接,容易失败。
晚上基本没有业务操作的时候, 处理下吧。 另外, 看下你实例的排序规则 , 如果也是大小写敏感, 按 #4 的链接处理下。
XBodhi. 2018-12-13
  • 打赏
  • 举报
回复
引用 1 楼 二月十六 的回复:



设置了后, 字段名也变的敏感了

我希望是 字段名不敏感,数据密码,而且不用 每个都跟一个 colate 的否则太麻烦了。
XBodhi. 2018-12-13
  • 打赏
  • 举报
回复
引用 2 楼 吉普赛的歌 的回复:
对于已成型的数据库, 直接改排序规则是非常痛苦的, 因为有许多数据库对象依赖于它, 很容易失败。

如果时间上允许,最好是:
1. 新建一个“正常”排序规则 的数据库, 脚本如下:
2. 生成原数据库对象脚本;

3. 将原数据库中的表用“导入导出向导”导入到新库。
USE [master]
GO
--库名自己换


CREATE DATABASE [dbTest]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'dbTest', FILENAME = N'D:\database\2014\dbTest.mdf' , SIZE = 8192KB , FILEGROWTH = 8192KB )
LOG ON
( NAME = N'dbTest_log', FILENAME = N'D:\database\2014\dbTest_log.ldf' , SIZE = 8192KB , FILEGROWTH = 8192KB )
COLLATE Chinese_PRC_CI_AS
GO


引用 2 楼 吉普赛的歌 的回复:
对于已成型的数据库, 直接改排序规则是非常痛苦的, 因为有许多数据库对象依赖于它, 很容易失败。

如果时间上允许,最好是:
1. 新建一个“正常”排序规则 的数据库, 脚本如下:
2. 生成原数据库对象脚本;

3. 将原数据库中的表用“导入导出向导”导入到新库。
USE [master]
GO
--库名自己换
CREATE DATABASE [dbTest]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'dbTest', FILENAME = N'D:\database\2014\dbTest.mdf' , SIZE = 8192KB , FILEGROWTH = 8192KB )
LOG ON
( NAME = N'dbTest_log', FILENAME = N'D:\database\2014\dbTest_log.ldf' , SIZE = 8192KB , FILEGROWTH = 8192KB )
COLLATE Chinese_PRC_CI_AS
GO



确实,生产的库在改就比较麻烦,因为 不 KILL 链接,容易失败。
Dear SQL(燊) 2018-12-13
  • 打赏
  • 举报
回复
Dear SQL(燊) 2018-12-13
  • 打赏
  • 举报
回复
SQL SERVER 2005之后密码不管是什么排序规则都区分大小写,想要用户名区分大小写需要安装SQL SERVER 的时候选带"_CS_"的排序规则,因为用户名存在master库
吉普赛的歌 2018-12-13
  • 打赏
  • 举报
回复
对于已成型的数据库, 直接改排序规则是非常痛苦的, 因为有许多数据库对象依赖于它, 很容易失败。

如果时间上允许,最好是:
1. 新建一个“正常”排序规则 的数据库, 脚本如下:
2. 生成原数据库对象脚本;

3. 将原数据库中的表用“导入导出向导”导入到新库。
USE [master]
GO
--库名自己换
CREATE DATABASE [dbTest]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'dbTest', FILENAME = N'D:\database\2014\dbTest.mdf' , SIZE = 8192KB , FILEGROWTH = 8192KB )
LOG ON
( NAME = N'dbTest_log', FILENAME = N'D:\database\2014\dbTest_log.ldf' , SIZE = 8192KB , FILEGROWTH = 8192KB )
COLLATE Chinese_PRC_CI_AS
GO

二月十六 2018-12-12
  • 打赏
  • 举报
回复

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧