2

Windows 認証を使用して SQL Server ログインとユーザーを設定しようとしています。

これまでに行ったことは次のとおりです。

  1. 「User1」という新しい非管理者アカウントを PC に追加しました。PC は「DESKTOP」と呼ばれるため、完全なユーザー名は「DESKTOP\User1」です。

  2. 「FROM WINDOWS」オプションを使用してこのユーザーの SQL Server ログインを作成し、SQL ログインを PC ログインにリンクしました。ユーザーは「DESKTOP\User1」などと呼ばれます。

  3. 「FOR LOGIN」オプションを使用してSQL Serverログイン用のデータベースレベルのユーザーを作成し、ユーザーをSQL Serverログインにリンクしました。

  4. 新しいデータベース ユーザーが「SysAdmins」グループのメンバーではなく、ログインが有効でログイン アクセスが許可されていることを確認しました。

  5. 管理者の Windows アカウントからログアウトし、「User1」としてログインしました。ログインに成功しました。

  6. SSMS を開始し、ユーザー名セットが「DESKTOP\User1」であり、「Windows 認証」が選択されていることを確認しました。

「接続」を押すと、イベントログに次のようなエラーが表示されました。

Token based server access validation failed with an infrastructure error
Server Name: DESKTOP
Error Number: 18456
Severity: 14
State: 1
Line Number: 65536

これについて読むと、これは UAC エラーであるという提案があります。そこで、管理者として SSMS を実行しました。Windows 8.1では、システム管理者アカウントでログインするように求められますが、これは機能しますが、「DESKTOP\User1」ではなく「DESKTOP\Administrator」としてSQL Serverにログインしています。

Windows が管理者以外の資格情報を SQL Server に渡してログインできないのはなぜですか? これのポイントは、(将来の "ドメイン") ユーザーが非管理者権限で Windows 認証を使用して SQL Server にアクセスできるようにすることです。

前もって感謝します。

4

2 に答える 2

0

SQL Server イベント ログに次のメッセージがあると仮定します。

Login failed for users ‘DESKTOP\User1’. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: xxx.xxx.xxx.xxx]
Error: 18456, Severity: 14, State: 12

状態 12 は、SQL Server がユーザーを認証できたが、基になる Windows 権限で検証できなかったことを意味します。

管理者としてサーバーにログインし、次を実行してみてください。

GRANT CONNECT SQL TO [DESKTOP\User1];
GRANT CONNECT ON ENDPOINT::"TSQL Default TCP" TO [DESKTOP\User1];
于 2013-11-07T15:21:42.363 に答える