为什么我创建的 SQL Server 登录名无法登陆???
标题: 连接到服务器
------------------------------无法连接到 HJEB-9A13D8CA92。------------------------------
其他信息:用户 'guideDB' 登录失败。该用户与可信 SQL Server 连接无关联。 (Microsoft SQL Server,错误: 18452)有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=18452&LinkId=20476------------------------------
按钮:确定
------------------------------

解决方案 »

  1.   

    1:打开SQL Server Manager管理器!在左面找到 ‘安全性’ 单击右键 选择‘新建”,“登录” 弹出一个对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。 点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。 2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“SQL SERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了! 3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!输入刚才的用户名和密码就可以登录成功了 
     
      

  2.   

    还是不行啊。同样的错误。我在安装MS SQL的时候选的是“本地系统”。会不会与那个有关系?
      

  3.   

    那怎么办呢?该用户与可信 SQL Server 连接无关联什么意思?
      

  4.   

    我在安装的时候选的的是windows身份验证而不是混合模式windows身份验证和SQL SERVER身份验证会不会与那个有关?当时windows身份验证是默认选项
      

  5.   


    use 你的库名 
    go --新增用户 
    exec sp_addlogin 'test'            --添加登录 
    exec sp_grantdbaccess N'test'            --使其成为当前数据库的合法用户 
    exec sp_addrolemember N'db_owner', N'test'            --授予对自己数据库的所有权限 --这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表 
    go --删除测试用户 
    exec sp_revokedbaccess N'test'            --移除对数据库的访问权限 
    exec sp_droplogin N'test'            --删除登录 
    如果在企业管理器中创建的话,就用:企业管理器--安全性--右键登录--新建登录常规项
    --名称中输入用户名
    --身份验证方式根据你的需要选择(如果是使用windows身份验证,则要先在操作系统的用户中新建用户)
    --默认设置中,选择你新建的用户要访问的数据库名服务器角色项
    这个里面不要选择任何东西数据库访问项
    勾选你创建的用户需要访问的数据库名
    数据库角色中允许,勾选"public","db_ownew"确定,这样建好的用户与上面语句建立的用户一样 
    --------------------------------------------------------------------------- 最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例: --添加只允许访问指定表的用户: 
    exec sp_addlogin '用户名','密码','默认数据库名' --添加到数据库 
    exec sp_grantdbaccess '用户名'--分配整表权限 
    GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名]--分配权限到具体的列
    GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名]
      

  6.   

    2楼正解,你需要修改SQL SERVER的安全认证方式,即从“windows身份认证”改为“混合模式windows身份验证和SQL SERVER身份验证”
      

  7.   

    问题解决了!原来是我没重启SQL Server。谢谢各位了!!!!!!