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 に答える