1

我正在尝试为本地运行的 SQL Server 2008 实例创建一个基本的纯文本密码登录和数据库用户。我正在使用以下 SQL 代码进行登录、添加用户并授予权限,但我无法使用 SSMS 或 SQLCMD 连接到服务器(当我使用我的域凭据和集成安全时,它工作正常)。

 USE <database_name>
 GO
 CREATE LOGIN aspLogin with password=N'pass1',
DEFAULT_DATABASE=<default_db>, CHECK_POLICY = OFF
 GO
 CREATE USER aspLogin FOR LOGIN aspLogin
 EXEC sp_addrolemember N'db_datareader', N'aspLogin'
 EXEC sp_addrolemember N'db_datawriter', N'aspLogin'
 GO
 USE master
 GO
 GRANT CONNECT SQL TO aspLogin

使用 SQLCMD:

C:\>sqlcmd -S .\SQL -P pass1 -U aspLogin
Msg 18456, Level 14, State 1, Server <machine_name>\SQL, Line 1
Login failed for user 'aspLogin'.

我错过了什么?这是使用“.\SQL”(这是实例的正确名称,而不是默认实例名称)的问题。例如,这很好用:

C:\>sqlcmd -S .\SQL -E
1> 
4

1 回答 1

4

确保启用混合模式身份验证。

http://msdn.microsoft.com/en-us/library/ms188670(v=sql.105).aspx

您可以使用轻松检查身份验证模式

exec master.sys.xp_loginconfig 'login mode'
于 2012-08-06T19:01:54.463 回答