SQL Server 2008无法使用新创建的用户登录


200

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

  1. 我打开SQL Server Management Studio。
  2. 我通过右键单击“安全性”->“登录”来创建新的登录名。
    检查:SQL Server身份验证
    登录名:tester
    密码:test
    单击“确定”
  3. 我将此用户添加到“用户映射”到我选择的数据库中。
  4. 单击文件->连接对象资源管理器,选择SQL Server身份验证,然后输入测试器/测试,然后单击连接。

我收到一个错误:

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

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

Answers:


480

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

以下是修复步骤:

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

    在此处输入图片说明

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

这对于IBM Connections用户也非常有用,因为我的向导只有在修复此设置后才能连接。


8
我认为这很好,因为它使潜在的响应者知道问题已解决。它还有助于增加文档的数量,其他开发人员可以在将来使用这些文档来找到自己的答案。

4
回答您自己的问题绝对不错。即使是数年之后,您的答案对我也很有用!
johanvdw 2012年

4
我有同样的问题。寻找了几个小时的解决方案。我尽力解决了所有问题,但是没有发生。然后我看到了这个帖子。我以为重新启动服务是我没有尝试过的事情。所以我重新启动了服务,它起作用了!然后,我登录仅是说...谢谢
Answer_42 2013年

16
应将责任归咎于荒谬的错误消息。如果它说类似“无法登录。不允许SQL Server身份验证。服务器配置为仅允许Windows身份验证。请联系...”,这样可以省去很多麻烦。
rpattabi

5
@托尼有趣。谢谢。但是,我仍然不相信安全性是妨碍可用性的有效借口。消息中可能存在某些内容,以指示用户解决问题。
rpattabi 2015年

14

如果在更改登录名后尚未重新启动SQL数据库服务器,请确保执行此操作。 Start- > Programs- > Microsoft SQL Server- > Configuration tools- > SQL Server configuration manager- > Restart Server

看来您只将用户添加到了服务器。您还需要将它们添加到数据库中。打开数据库/安全性/用户/添加新用户,或打开服务器/安全性/登录名/属性/用户映射。


感谢您的注意。.我忘了提到我编辑用户映射来执行此操作。
2009年

我知道旧线程,但是必须先向服务器添加新的登录名,然后才能向数据库中添加新用户。服务器>安全性>登录名>右键单击,新登录服务器>数据库>选择数据库>安全性>用户>右键单击,新用户。
red_dorian

2

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


谢谢..我已经去过那个页面。注意,它没有提到State = 1的实际含义。嗯...但是我现在很好。
2009年

如页面所述,SQL Server错误日志中记录的状态将不同于报告给用户的状态。
GuyBehindtheGuy

1

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

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

第1步:

Login Name : SomeName

第2步:

Select  SQL Server / Windows Authentication.

有关更多信息, sql server身份验证和Windows身份验证之间有什么区别?

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

点击确定

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

要么

尝试查询:

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.