step 1:
c:\>net stop mssqlserverstep 2:
d:\mssql7\binn>rebuildm.exestep 3:
choose case-sensitivestep 4:
c:\>net start mssqlserver

解决方案 »

  1.   

    Please backup your DB before do such operation!
      

  2.   

    To IronPromises(铁诺)
    你能解释一下嘛?
    每步是什么意思
    还有step3没有盘符嘛
      

  3.   

    If you do step 2,then understand what means about step 3 immediately!
      

  4.   

    这个方法虽然是微软自家推荐使用的标准方法。
    但是至少有20%的可能性会重建master库失败,mssqlserver的服务不能启动。
    (微软的bug真多)
    如果出现了这种情况,那幺就只有重装了。重装后可以用sp_attach_db来将.mdf和.ldf俩个文件注册db。
      

  5.   

    升级好象没有用的。
    改变字符集,排序方式及大小写敏感这些内容只有重建master库一种方法。
    而如果要重建master库的话,要么运行rebuildm.exe文件,要么重装!
      

  6.   

    那它端掉的是服务器上的SQL SERVER嘛?它知道是那个SQL嘛?
    要在纯DOS里面运行嘛?您能说得尽量详细嘛,我得数据库可能不能有什么损失啊
      

  7.   

    你没有必要安装成区分大小写,直接将要比较的值转变为binary 
    比较下以下二个吧
    print cast('aa' as binary )
    print cast('AA' AS BINARY)
    看看他们还相等吗????????
      

  8.   

    要改当然就是改的DB服务器上的master库啦。
    不必要ms-dos的方式运行,只是本人用了dos命令行若干年,习惯在dos模式下敲命令操作。
    上面的ms-dos方式也可以是如下方式:
    step 1:
    在服务中停掉mssqlserver的服务step2:
    运行mssql7\binn目录下的rebuildm.exe文件step3:
    在跳出的dialog中选择大小写敏感及正确的字符集,排序方式然后重建master库
    step4:
    启动mssqlserver服务
    dull_knife(学无止境) :
    你的方法只是查询数据的时候有用!
    对于下面的情况没有用:
    在大小写敏感的情况下,我的某个数据库有如下几张表:
    TEST
    test
    Test
    ……
      

  9.   

    字符集是Chinese_PRC_CI_AI,大小写不敏感
    字符集是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
      

  10.   

    不好意思,字符集COLLATE Chinese_PRC_CS_AI等方式在SQL7.0中不行。
    在精华区中有其它关于大小写的贴子可供参考。
      

  11.   

    IronPromises(铁诺) 
    TEST
    test
    Test
    ……
    在开发中到底有没有实际意义啊!!!!!!
    Means_pan(酷鱼)提的问题实际上就是要求查询时区分大小写
    还有在你的步骤中遗漏了很重要的内容,rebulidm后你必须重新恢复msdb(如何有job,alert...)等系统数据库和用户数据库.
      

  12.   

    To dull_knife(学无止境)
    你的方法可以只在数据库里改变嘛?因为我不想动源程序,因为那个程序不是我开发的,而且很复杂,没有文档,不敢动,麻烦你在解释的清楚一点好吗?
    我得数据一定不能出问题的,谢谢
      

  13.   

    Means_pan(酷鱼):
    我的方法只能适用与查询中,对数据库自身不行
    实际上你目前二条路,要么重装sql server选择区分大小写(但你要考虑清楚是否所有的程序都要区分大小写,还有如一个表叫TEST,而你原程序中有FORM
    test,那末这类情况你必须修改)
    对与我的方法仅仅在要区分大小写的where条件中使用转换
    如原来where name=@name
    现在可以where cast(name as binary )=cast(@name as binary )
    当然这样操作将会影像性能。)
    何去何从由你来定,我的意见仅供参考