ログインせずに混合モード認証が有効になっているかどうかを確認しますか?


回答:


15

もう1つの方法は、SQL認証を使用して、明らかに成功しない偽のアカウントでログインを試みることです。その後、メモ帳を使用してERRORLOGファイルを開きC:\Program Files\Microsoft SQL Server\$instance folder$\MSSQL\Log\、このエラーを確認できます...

エラー:18456、レベル:14、状態:58
ユーザー 'polly_wants_a_cracker'のログインに失敗しました。理由:SQL認証を使用したログインの試行が失敗しました。サーバーはWindows認証専用に構成されています。

これは、混合モード認証が有効になっていないことを意味します

...またはこれ...

エラー:18456、レベル:14、状態:5
ユーザー 'polly_wants_a_cracker'のログインに失敗しました。理由:指定された名前に一致するログインが見つかりませんでした。

これは、混合モード認証が有効であることを意味します

私はおそらくどちらも使わずに伝える方法があることを知りません:

  • 正常にログイン
  • ログインに失敗した場合、レジストリ設定(Julienが説明するように)または状態/メッセージのエラーログを確認するために、ボックス(またはリモートレジストリ)に物理的にアクセスできる

18

レジストリで確認できます:

HKLM\Software\Microsoft\Microsoft SQL Server\ [instancename] \MSSqlServer

現在のモードはLoginModeキーに記録されます。

値(DWORD)は次のいずれかです。

  • 1 = Windows認証モード
  • 2 = SQL ServerおよびWindows認証モード

注意:

  • 0 に等しい 2
  • レジストリ(およびサーバー)へのアクセスが必要です

2

PowerShellを使用してこれを行うこともできます。

import-module sqlserver
$sqlserver = "ServerName"
$srv = Get-SqlServer -sqlserver $sqlserver
$srv.LoginMode

これにより、次のような出力が返されます。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.