alter database RecruitDB COLLATE Chinese_PRC_CS_AS(其中RecruitDB是一个数据库的名字)
但是执行后我的这个库还是不能区分大小写。
我的测试方法:设置一个表,向里面insert数据
表格式:
CREATE TABLE [dbo].[TableAdmin] (
[adminID] [int] IDENTITY (1, 1) NOT NULL ,
[adminName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TableAdmin] ADD
CONSTRAINT [PK_TableAdmin] PRIMARY KEY CLUSTERED
(
[adminID]
) ON [PRIMARY] ,
CONSTRAINT [IX_TableAdmin] UNIQUE NONCLUSTERED
(
[adminName]
) ON [PRIMARY]
GO
然后我执行:
insert TableAdmin (adminName) values ('test')
insert TableAdmin (adminName) values ('TEST')
查询分析器报错:
所影响的行数为 1 行)
服务器: 消息 2627,级别 14,状态 2,行 1
违反了 UNIQUE KEY 约束 'IX_TableAdmin'。不能在对象 'TableAdmin' 中插入重复键。
语句已终止。
显然是因为插入第二航的时候在adminName地方不符合unique约束
说明数据库还是把大小写认为是一样的。
现在我要然数据库区分大小写怎么办呢?
能有什么方法,再不重装SQL Server,最好也不重建数据库的情况下能让它区分大小写呢?当然,最好是让整个sqlserver系统上所有数据库都能区分大小写。
4 个解决方案
#1
不设 [adminName]为主键
#2
1.when you use:
alter database RecruitDB COLLATE Chinese_PRC_CS_AS
you should restart mssqlserver service
2.run rebuildm in DOS prompt
In the Collation Settings dialog box, verify or change settings used for the master database and all other databases.
alter database RecruitDB COLLATE Chinese_PRC_CS_AS
you should restart mssqlserver service
2.run rebuildm in DOS prompt
In the Collation Settings dialog box, verify or change settings used for the master database and all other databases.
#3
你設的是排序規則,不是大小寫敏感
#4
更改排序规则。
alter database 数据库 collate 排序规格
其中,某些排序规则指定CI 不区分大小写,CS 指定区分大小写。
如:alter database 数据库 COLLATE Chinese_PRC_CI_AS
不区分大小写,而
alter database 数据库 COLLATE Chinese_PRC_CS_AS
使之区分大小写。
使用如下命令,可以获得更多的规则:
SELECT *
FROM ::fn_helpcollations()
在sql server2000中如何改变整个sql的 排序规则名称
重建 master 数据库
关闭 Microsoft® SQL Server™ 2000,然后运行 Rebuildm.exe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
在"重建 Master"对话框中单击"浏览"按钮。
在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
单击"设置"按钮。在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。
最初,显示的是默认排序规则设置,但这些设置有可能与安装期间选择的排序规则不匹配。可以选择与安装期间使用的排序规则相同的设置,也可以选择新的排序规则设置。完成后单击"确定"按钮。
在"重建 Master"对话框中单击"重建"按钮以启动进程。
重建 Master 实用工具重新安装 master 数据库。
说明 若要继续,则可能需要终止正在运行的服务器。
alter database 数据库 collate 排序规格
其中,某些排序规则指定CI 不区分大小写,CS 指定区分大小写。
如:alter database 数据库 COLLATE Chinese_PRC_CI_AS
不区分大小写,而
alter database 数据库 COLLATE Chinese_PRC_CS_AS
使之区分大小写。
使用如下命令,可以获得更多的规则:
SELECT *
FROM ::fn_helpcollations()
在sql server2000中如何改变整个sql的 排序规则名称
重建 master 数据库
关闭 Microsoft® SQL Server™ 2000,然后运行 Rebuildm.exe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
在"重建 Master"对话框中单击"浏览"按钮。
在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
单击"设置"按钮。在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。
最初,显示的是默认排序规则设置,但这些设置有可能与安装期间选择的排序规则不匹配。可以选择与安装期间使用的排序规则相同的设置,也可以选择新的排序规则设置。完成后单击"确定"按钮。
在"重建 Master"对话框中单击"重建"按钮以启动进程。
重建 Master 实用工具重新安装 master 数据库。
说明 若要继续,则可能需要终止正在运行的服务器。
#1
不设 [adminName]为主键
#2
1.when you use:
alter database RecruitDB COLLATE Chinese_PRC_CS_AS
you should restart mssqlserver service
2.run rebuildm in DOS prompt
In the Collation Settings dialog box, verify or change settings used for the master database and all other databases.
alter database RecruitDB COLLATE Chinese_PRC_CS_AS
you should restart mssqlserver service
2.run rebuildm in DOS prompt
In the Collation Settings dialog box, verify or change settings used for the master database and all other databases.
#3
你設的是排序規則,不是大小寫敏感
#4
更改排序规则。
alter database 数据库 collate 排序规格
其中,某些排序规则指定CI 不区分大小写,CS 指定区分大小写。
如:alter database 数据库 COLLATE Chinese_PRC_CI_AS
不区分大小写,而
alter database 数据库 COLLATE Chinese_PRC_CS_AS
使之区分大小写。
使用如下命令,可以获得更多的规则:
SELECT *
FROM ::fn_helpcollations()
在sql server2000中如何改变整个sql的 排序规则名称
重建 master 数据库
关闭 Microsoft® SQL Server™ 2000,然后运行 Rebuildm.exe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
在"重建 Master"对话框中单击"浏览"按钮。
在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
单击"设置"按钮。在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。
最初,显示的是默认排序规则设置,但这些设置有可能与安装期间选择的排序规则不匹配。可以选择与安装期间使用的排序规则相同的设置,也可以选择新的排序规则设置。完成后单击"确定"按钮。
在"重建 Master"对话框中单击"重建"按钮以启动进程。
重建 Master 实用工具重新安装 master 数据库。
说明 若要继续,则可能需要终止正在运行的服务器。
alter database 数据库 collate 排序规格
其中,某些排序规则指定CI 不区分大小写,CS 指定区分大小写。
如:alter database 数据库 COLLATE Chinese_PRC_CI_AS
不区分大小写,而
alter database 数据库 COLLATE Chinese_PRC_CS_AS
使之区分大小写。
使用如下命令,可以获得更多的规则:
SELECT *
FROM ::fn_helpcollations()
在sql server2000中如何改变整个sql的 排序规则名称
重建 master 数据库
关闭 Microsoft® SQL Server™ 2000,然后运行 Rebuildm.exe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
在"重建 Master"对话框中单击"浏览"按钮。
在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
单击"设置"按钮。在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。
最初,显示的是默认排序规则设置,但这些设置有可能与安装期间选择的排序规则不匹配。可以选择与安装期间使用的排序规则相同的设置,也可以选择新的排序规则设置。完成后单击"确定"按钮。
在"重建 Master"对话框中单击"重建"按钮以启动进程。
重建 Master 实用工具重新安装 master 数据库。
说明 若要继续,则可能需要终止正在运行的服务器。