码农家园

关闭
导航

关于身份验证:SQL Server 2008无法使用新创建的用户登录


authenticationloginsql-serverssms

SQL Server 2008 can't login with newly created user

我使用的是Windows Vista,我无法使用新创建的用户登录。

  • 我打开了SQL Server Management Studio。
  • 我通过右键单击安全性->登录来创建一个新的登录。检查:SQL Server身份验证登录名:测试人员密码:测试单击"确定"
  • 我添加了这个用户到用户的映射到我选择的数据库。
  • 单击"文件"->"连接对象资源管理器",选择"SQL Server身份验证",然后输入"测试人员/测试",然后单击"连接"。
  • 我得到一个错误:

    1
    2
    Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456"
    with Severity = 14 and State = 1.

    是什么导致了这个错误,以及如何用我的用户登录?


    未将SQL Server配置为允许混合身份验证。

    以下是要修复的步骤:

  • 右键单击对象资源管理器根目录下的SQL Server实例,单击属性
  • 从左窗格中选择安全性。
  • 选择"SQL Server和Windows身份验证模式"单选按钮,然后单击"确定"。

    enter image description here。

  • 右键单击SQL Server实例,选择"重新启动"(或者,打开服务并重新启动SQL Server服务)。

  • 这对IBM Connections用户也非常有用,我的向导在我固定此设置之前无法连接。

    相关讨论

    • 我认为这很好,因为它让潜在的响应者知道问题已经解决了。它还促进了文档的不断增长,其他开发人员将来可以使用这些文档来找到自己的答案。
    • 除了重新启动SQL服务之外,我做了所有这些…噢,我应该考虑一下。谢谢!
    • 回答自己的问题肯定不错。即使数年后,你的答案对我也很有用!
    • 我也有同样的问题。几个小时都在寻找解决方案。尽我所能去解决它,但没有发生。然后我看到了这个帖子。我认为重新启动服务是我没有尝试过的。所以我重新启动了服务,它工作了!然后我登录只是想说…谢谢您
    • 这应该归咎于荒谬的错误信息。如果上面说"无法登录"。不允许使用SQL Server身份验证。服务器配置为仅允许Windows身份验证。请联系……"这会减轻很多痛苦的。
    • @rpattabi这是有意做的。"请注意,该消息是相当难以描述的,以防止向未经身份验证的客户披露信息。特别是,无论问题的性质如何,"状态"始终显示为"1"。(blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.as‌&8203;px)
    • @托尼很有趣。谢谢。不过,我不相信安全是妨碍可用性的有效借口。消息中可能有一些内容指向用户以解决问题。
    • 7年来,我感谢你的回答:)
    • 太好了:)你救了我一天:)
    • 你救了我一天!谢谢!


    如果在更改登录名后没有重新启动SQL数据库服务器,请确保已重新启动。Start->Programs->Microsoft SQL Server->Configuration tools->SQL Server configuration manager->Restart Server。

    看起来您只是将用户添加到服务器。您还需要将它们添加到数据库中。打开数据库/security/user/add new user或打开服务器/security/logins/properties/user映射。

    相关讨论

    • 谢谢你注意……我忘了提到我编辑了用户映射来实现这一点。
    • 我知道旧的线程,但在向数据库添加新用户之前,我必须向服务器添加一个新的登录名。服务器>安全>登录>右键单击,新建登录服务器>数据库>选择数据库>安全>用户>右键单击,新建用户。


    您可能需要检查SQL Server错误日志以确定实际状态(出于安全原因,它不会报告给客户端。)有关详细信息,请参阅此处。

    相关讨论

    • 谢谢。。我已经看过那一页了。注意,它没有提到state=1的实际含义。GRR…但我现在很好。
    • 正如页面所解释的,您的SQL Server错误日志中记录的状态将不同于向用户报告的状态。


    以管理员身份登录到服务器

    转到安全>登录>新建登录

    步骤1:

    1
    Login Name : SomeName

    第2步:

    1
    Select  SQL Server / Windows Authentication.

    号

    更多信息,SQL Server身份验证和Windows身份验证有什么区别….

    选择默认数据库和您选择的语言

    单击"确定"

    尝试使用新的用户凭据连接,它将提示您更改密码。更改和登录

    或

    尝试查询:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    USE [master] -- Default DB
    GO

    CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
    GO

    --123456 is the Password And Username is Login User
    ALTER LOGIN [Username] enable -- Enable or to Disable User
    GO


    • 将具有默认值的列添加到SQL Server中的现有表中
    • 如何仅返回SQL Server日期时间数据类型中的日期
    • 如何检查SQL Server表中是否存在列?
    • 关于tsql:SQL Server中的左联接与左外部联接
    • 关于ssms:为SQL Server表自动生成INSERT语句的最佳方法是什么?
    • 如何从SQL Server中的select执行update?

    Copyright ©  码农家园 联系:[email protected]