改认证方式:1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器
2.依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]3.在屏幕右方找到名称"LoginMode",双击编辑双字节值
4.将原值从1改为2,点击"确定"
5.关闭注册表编辑器
6.重新启动SQL Server服务.此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,
但是仍然无法使用Windows身份验证模式来连接SQL Server.
这是因为在 SQL Server 中有两个缺省的登录帐户:
BUILTIN\Administrators
<机器名>\Administrator 被删除.
要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入 BUILTIN\Administrators4.在"服务器角色"选项卡中,选择"System Administrators" 5.点击"确定"退出6.使用同样方法添加 <机器名>\Administrator 登录.说明:以下注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ABC\MSSQLServer
的值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).

解决方案 »

  1.   

    我在控制台里把MSDE的那个instance改为混合模式认证,现在服务起不来了,
    在注册表里又改LoginMode回到1,还是不行啊.
      

  2.   

    是在enterprise manager里面,改了后看到注册表里也变成了2.
    但在控制面板里启动MSSQL$AAA,抱什么内部错误.AAA就是MSDE的instance的名字.
    我怀疑MSDE是不是只能windowWindows 身份验证.
      

  3.   

    谢谢 zjcxc(邹建) 老大再帮帮忙
      

  4.   

    当时安装MSDE是,setup.ini是这样的:
    [Options]
    INSTANCENAME="AAA"
    SAPWD="AAADB"但这个sa的密码好象没什么作用.
      

  5.   

    msde肯定支持两种验证模式,这点不用置疑.报内部错误? 是处理过程中破坏了什么,或者是系统自身有问题吧? 换台电脑测试.
      

  6.   

    不好意思,才上
    现在是可以了,当时我是开了query analyzer,其中引用到了这个AAA(在用select查询).
    我把它关了再起MSSQL$AAA就好了.
    但又有个问题,我先前的AAA的字符集是latin1(非中文的),但我重启后就变为了中文字符集,
    因为我们程序都是在英文环境,这肯定不行,但为什么发生了转换?
    以前装sqlserver的instance,安装指定哪个就是哪个.没有这个问题.
    我想是不是MSDE比较弱,自动匹配操作系统的环境,所以发生了转换. zjcxc(邹建)大哥,能再多问两个问题吗?我另开贴送分.
    1. MSDE是不是安装完就只能用window身份验证,安装完再改为混合模式?
    我要用命令行osql来操作,但没找到命令来设为混合模式.2. 程序里的连接字符串conString="server=(local);user=sa;...", 现在我安装的是MSSQL$AAA.
    用conString="server=My\AAA;user=sa;..."试了一下没有问题.
    但我要发布出去就不能写死,能否用conString="server=(local)\AAA;user=sa;..."?
    要不安装的时候我就去掉INSTANCENAME="AAA"这行,还是用默认的,因为生产机器一台只安装一个数据库.我这是开发的机器,所以装了两个instance.这样以前的代码就不用改了.
    注: 这个数据库只是本机使用,所以我们一直用的是(local).
      

  7.   

    哎,老板才告诉我们只有sever的license,而用户是在美国,他们是不会用没license的数据库.
    所以现在搞出这么多事,要转到MSDE上.
      

  8.   

    1. 安装的身份验证模式问题:
    SAPASSWORD="密码"
    SECURITYMODE=SQL   ''指定这个才是关键,光指定密码没用,无论使用那种验证模式都可以给sa设置密码
    2.连接字符串的问题,如果不指定server=(local);,则使用本地的默认实例,所以你可以选择只安装默认实例.
       使用 .\AAA 应该可以访问本地的命名实例吧,这个没测试过,你自己试试吧.
      

  9.   

    谢谢 zjcxc(邹建) ,基本上都过了.