step 1:
c:\>net stop mssqlserverstep 2:
d:\mssql7\binn>rebuildm.exestep 3:
choose case-sensitivestep 4:
c:\>net start mssqlserver
c:\>net stop mssqlserverstep 2:
d:\mssql7\binn>rebuildm.exestep 3:
choose case-sensitivestep 4:
c:\>net start mssqlserver
解决方案 »
- sql 多表查询问题
- 急,进来,查询语句
- 请大家帮我看看这个关系图是否有问题
- SQL多表查询语句错误
- 存储过程问题:如果在一个表或是多个表中,有关于(A+B)*C/D ,而且还不在同一行,在多行里边。可否有比使用游标更简单的方法
- sql查询中对数据处理问题
- 请教一个疑难问题
- Ms SQL 和 SQL Server有什么区别??
- 分析服务器中建立挖掘模型后处理时出错,请问各位大虾看看是怎么回事?(急)
- 急!!如何把一个表中指定的ID号(自动编号)赋给另一个表的某一个字段的值,是单个值,如何实现
- SQLSERVER2000+WIN2000当更改系统管理员密码后重启后无法打开SQL
- VFP菜鸟问题1:怎样用命令键激活同表单视频控件(急,立即给分)
你能解释一下嘛?
每步是什么意思
还有step3没有盘符嘛
但是至少有20%的可能性会重建master库失败,mssqlserver的服务不能启动。
(微软的bug真多)
如果出现了这种情况,那幺就只有重装了。重装后可以用sp_attach_db来将.mdf和.ldf俩个文件注册db。
改变字符集,排序方式及大小写敏感这些内容只有重建master库一种方法。
而如果要重建master库的话,要么运行rebuildm.exe文件,要么重装!
要在纯DOS里面运行嘛?您能说得尽量详细嘛,我得数据库可能不能有什么损失啊
比较下以下二个吧
print cast('aa' as binary )
print cast('AA' AS BINARY)
看看他们还相等吗????????
不必要ms-dos的方式运行,只是本人用了dos命令行若干年,习惯在dos模式下敲命令操作。
上面的ms-dos方式也可以是如下方式:
step 1:
在服务中停掉mssqlserver的服务step2:
运行mssql7\binn目录下的rebuildm.exe文件step3:
在跳出的dialog中选择大小写敏感及正确的字符集,排序方式然后重建master库
step4:
启动mssqlserver服务
dull_knife(学无止境) :
你的方法只是查询数据的时候有用!
对于下面的情况没有用:
在大小写敏感的情况下,我的某个数据库有如下几张表:
TEST
test
Test
……
字符集是Chinese_PRC_CS_AI,大小写敏感方法一:不改数据库结构,直接用SQL语句:
SELECT * FROM 表名
WHERE 表名.字段名 COLLATE SQL_Latin1_General_CP1_CS_AS like '%条件字符串%'
方法二:改变字符集
alter table 表名 ALTER COLUMN 字段名 字段结构 COLLATE Chinese_PRC_CS_AI
在精华区中有其它关于大小写的贴子可供参考。
TEST
test
Test
……
在开发中到底有没有实际意义啊!!!!!!
Means_pan(酷鱼)提的问题实际上就是要求查询时区分大小写
还有在你的步骤中遗漏了很重要的内容,rebulidm后你必须重新恢复msdb(如何有job,alert...)等系统数据库和用户数据库.
你的方法可以只在数据库里改变嘛?因为我不想动源程序,因为那个程序不是我开发的,而且很复杂,没有文档,不敢动,麻烦你在解释的清楚一点好吗?
我得数据一定不能出问题的,谢谢
我的方法只能适用与查询中,对数据库自身不行
实际上你目前二条路,要么重装sql server选择区分大小写(但你要考虑清楚是否所有的程序都要区分大小写,还有如一个表叫TEST,而你原程序中有FORM
test,那末这类情况你必须修改)
对与我的方法仅仅在要区分大小写的where条件中使用转换
如原来where name=@name
现在可以where cast(name as binary )=cast(@name as binary )
当然这样操作将会影像性能。)
何去何从由你来定,我的意见仅供参考