none
SQL Server 2008 R2 登陆问题 RRS feed

  • 问题

  • 使用Windows验证可以正常登录。使用SQL验证尝试了很多登录名,都是出现错误18456.然后百度结果没一个靠谱的,无奈之下直接重装。然后出现一个错误提示:

    ===================================

    无法连接到 PC-201406212100\SQLEXPRESS。

    ===================================

    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) (.Net SqlClient Data Provider)

    ------------------------------
    有关帮助信息,请单击: (这个链接被我和谐掉了)

    ------------------------------
    错误号: -1
    严重性: 20
    状态: 0


    ------------------------------

    2014年8月10日 11:27

答案

  • 默认安装是仅Windows身份验证(安装向导中可以设置)

    你可以用下面的SQL语句进行验证和修改,修改之后必须重启 SQL 服务才能使修改生效

    USE [master]
    GO
    -- 查询允许的身份验证模式
    EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
    -- 如果返回的是1, 表示仅允许Windows身份登陆,这个时候所有的 SQL 帐号无法登陆
    -- 如果是2,则Windows和SQL帐号都可以登陆, 当然, SQL 帐号你得先创建
    GO
    
    -- 修改身份验证模式为混合模式
    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
    GO
    

    2014年8月11日 1:45

全部回复

  • Express is set to windows authentication only by default, you have to change to mixed authentication and restart sql then try with sql login again.
    2014年8月10日 23:49
  • 默认安装是仅Windows身份验证(安装向导中可以设置)

    你可以用下面的SQL语句进行验证和修改,修改之后必须重启 SQL 服务才能使修改生效

    USE [master]
    GO
    -- 查询允许的身份验证模式
    EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
    -- 如果返回的是1, 表示仅允许Windows身份登陆,这个时候所有的 SQL 帐号无法登陆
    -- 如果是2,则Windows和SQL帐号都可以登陆, 当然, SQL 帐号你得先创建
    GO
    
    -- 修改身份验证模式为混合模式
    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
    GO
    

    2014年8月11日 1:45