添加登录并使用SQL Server身份验证连接到SQL

cMi*_*nor 4 connection sql-server-2008

我想在SQL Server 2008中添加用户,以便我可以使用SQL Server身份验证而不是Windows身份验证来连接到SQL,并尝试使用此代码创建具有登录名的用户:

CREATE login [newLog] with password = 'passnewLognewLog'
Run Code Online (Sandbox Code Playgroud)

我完成了它,但当我想使用SQL身份验证连接到SQL Server时,我收到此消息

无法连接到"Mydb"
附加信息:用户'newLog'登录失败.(Microsoft SQL Server,错误:18456)

我在这里错过了什么?

Jef*_*ata 11

创建登录后,您需要将用户添加到数据库.这个例子是从SQL Server 文档CREATE USER:

CREATE LOGIN AbolrousHazem 
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
USE AdventureWorks2008R2;
CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;
GO 
Run Code Online (Sandbox Code Playgroud)

编辑

为了测试,我运行了这个T-SQL:

create login Foo with password ='f00';
go

use TestDB
create user Foo for Login Foo
go
Run Code Online (Sandbox Code Playgroud)

并使用此连接字符串成功打开连接:

"Server=<server>; user id=Foo; password=f00; initial catalog=TestDB"
Run Code Online (Sandbox Code Playgroud)


Dun*_*unc 5

  1. 您需要创建一个用于登录的用户,例如

    CREATE USER [newLog] FOR LOGIN [newLog] WITH DEFAULT_SCHEMA=[dbo]
    
    Run Code Online (Sandbox Code Playgroud)
  2. 检查是否启用了混合身份验证:/sf/answers/120363351/