SQL Server での一貫した認証の問題
適用対象: SQL Server
Note
この記事で説明するコマンドは、Windows システムにのみ適用されます。
Microsoft SQL Server で発生する一貫した認証の問題は、通常、SQL Server データベースへのアクセスを試みるユーザーまたはアプリケーションの認証と承認に関連しています。 これらの問題には、認証エラー、アクセス拒否エラー、またはその他のセキュリティ関連の問題が考えられます。
一貫性のある認証の問題を効果的に解決するための鍵は、さまざまなエラーの種類と各エラー メッセージの意味を理解することです。 一部のエラーは、複数の認証の問題で発生する可能性があります。 エラーの種類セクションに記載されているトラブルシューティング情報を使用して、エラーを解決できます。
前提条件
トラブルシューティングを開始する前に、 前提条件 チェックリストに従って、次の情報を準備してください。
WireSharkとProblem Steps Recorder (PSR.exe) ツールをインストールします。 詳細については、「 さまざまな種類のエラーをトラブルシューティングするためのデータ収集の方法を参照してください。
サービス アカウントに基づくサービス プロバイダー名 (SPN) 情報を収集します。 これを行うには、
SETSPN -L
コマンドを使用します。
エラーの種類
このセクションでは、エラーの種類と関連情報について説明します。
ディレクトリ サービス エラー: SQL Server エラー ログ ファイルに次のメッセージのいずれかまたは両方が含まれている場合、このエラーは Active Directory ドメイン Services (AD DS) に関連しています。 このエラーは、SQL Server ベースのコンピューター上の Windows がドメイン コントローラー (DC) に接続できない場合や、ローカル セキュリティ機関サブシステム サービス (LSASS) で問題が発生した場合にも発生する可能性があります。
Error -2146893039 (0x80090311): No authority could be contacted for authentication. Error -2146893052 (0x80090304): The Local Security Authority cannot be contacted.
ログイン失敗エラー: "ログインに失敗しました" エラーのトラブルシューティングを行うと、SQL Server エラー ログには、エラーに関するより多くのコンテキストを提供する特定の状態値など、エラー コード 18456 に関する追加の分析情報が表示されます。 詳細については、
SQL 状態値の SQL Server エラー ログ ファイル を参照してください。 状態値の説明に従って、問題の修正を試みることができます。次の表に、特定の "ログインに失敗しました" エラー メッセージとその考えられる原因と解決策を示します。
エラー メッセージ 詳細 "サーバーに要求を送信するときにトランスポート レベルのエラーが発生しました。" リンクされたサーバー アカウント マッピングが正しいかどうかを確認します。 詳細については、 sp_addlinkedsrvloginを参照してください。 "SSPI コンテキストを生成できません" - 明示的な SPN アカウントが、見つからない、または正しく配置されていない可能性があります。
- SPN が間違ったアカウントにあるかどうかを確認します。
ログインによって要求されたデータベース <テスト> を開くことができません。 ログインに失敗しました。 データベースがオフラインであるか、アクセス許可が十分でない可能性があります。 詳細については、「MSSQLSERVER_18456 でオフラインの Database」を参照してください。
また、接続文字列のデータベース名が正しいかどうかを確認します。"user <username> のログインに失敗しました。" このエラーは、 proxy アカウント が正しく認証されていない場合に発生する可能性があります。 "ユーザーのログインに失敗しました: 'NT AUTHORITY\ANONYMOUS LOGON'" このエラーは、 SPN が見つからない、SPN が重複している、または SPN が間違ったアカウントにある場合に発生する可能性があります。 "user <username> のログインに失敗しました。"
"ユーザー '<database\username> のログインに失敗しました"接続文字列に正しくないサーバー名が含まれているかどうかを確認します。 また、ユーザーがサーバーへのアクセスを許可するために使用されるローカル グループに属しているかどうかを確認します。 その他の原因については、 NT AUTHORITY\ANONYMOUS LOGON を参照してください。 "ユーザー '<username>' のログインに失敗しました。 理由: パスワードが、指定されたログインのパスワードと一致しませんでした。 このエラーは、正しくないパスワードが使用されている場合に発生する可能性があります。 詳細については、ユーザー '<username>' の Login が失敗したか、ユーザー '<domain><username>' のログインに失敗したを参照してください。 "SQL Server が存在しないか、アクセスが拒否されました。" 名前付きパイプ接続 ユーザーが Windows にログインするためのアクセス許可を持っていないため失敗します。 "ログインは信頼されていないドメインからのものであり、Windows 認証では使用できません。" このエラーは、 ローカル セキュリティ サブシステム の問題に関連している可能性があります。 "ユーザー アカウントは、ネットワーク ログインの種類を許可されていません。" ネットワークに ログインできない場合があります。
一貫性のある認証の問題の種類
このセクションでは、一貫した認証の問題の一般的な原因とそれぞれの解決策について説明します。 問題の種類を選択して、関連する問題、原因、解決策を確認します。
接続文字列
このセクションでは、アプリケーションがデータベースに接続するために使用する構成設定に関連する問題の一覧を示します。
明示的な SPN がありません - この問題は、SPN が正しく構成または登録されていない場合に発生します。
解決策: この問題を解決するには、「Windows 認証を使用して SQL Server に接続する場合は、SSPI コンテキストを生成できません」エラーを参照してください。
明示的に正しく配置されなかった SPN - 特定のサービスまたはアカウントに誤って関連付けられた SPN を参照します。
解決策: この問題を解決するには、SPN 正しく配置されていない SPN の展開に関するセクションを参照してください。
明示的な SPN が重複しています - この問題は、SPN が複数回登録されているために重複している場合に発生します。
解決策: この問題を解決するには、「Windows 認証を使用して SQL Server に接続する場合は、SSPI コンテキストを生成できません」エラーを参照してください。
接続文字列のサーバー名が正しくない - この問題は、指定されたサーバー名が正しくないか、見つからない場合に発生します。
解決策: この問題を解決するには、 MSSQLSERVER_18456を参照してください。
接続文字列のデータベース名が間違っている - この問題は、認証用に指定されたデータベース名が正しくない場合に発生します。
解決策: 名前のスペルが正しいかどうかを確認します。 詳細については、「 MSSQLSERVER_4064」を参照してください。
明示的な SPN アカウントが間違っている - この問題は、SPN が AD DS の間違ったアカウントに関連付けられている場合に発生する可能性があります。
解決策: この問題を解決するには、「 SSPI コンテキスト エラーを生成できないを参照してください。
データベース
このセクションでは、SQL Server のさまざまな側面に固有の問題を示します。
データベースがオフライン - SQL Server データベースが Windows 認証モード用に構成されている SQL Server インスタンスに再接続しようとするシナリオを指します。
解決策: 詳細については、「 MSSQLSERVER_18456」を参照してください。
データベースのアクセス許可 - SQL Server データベースへのアクセスを有効または制限することを指します。
解決策: 詳細については、「 MSSQLSERVER_18456」を参照してください。
SQL Server のリンク サーバー接続エラー - SQL Server のコンテキストでリンク サーバーに影響する認証プロセスの問題が発生します。
解決策: この問題を解決するには、SQL Server での リンクされたサーバー接続エラーを参照してください。
リンク サーバーのメタデータに一貫性がありません - リンク サーバーのメタデータに一貫性がない、または予想されるメタデータと一致しない問題を参照します。
ビューまたはストアド プロシージャは、リンク サーバー内のテーブルまたはビューに対してクエリを実行しますが、プロシージャからコピーされた分散
SELECT
ステートメントがコピーされない場合でも、ログイン エラーを受け取ります。この問題は、ビューが作成され、リンク サーバーが再作成された場合、またはビューを再構築せずにリモート テーブルが変更された場合に発生する可能性があります。
解決策:
sp_refreshview
ストアド プロシージャを実行して、リンク サーバーのメタデータを更新します。プロキシ アカウントにアクセス許可がありません - SQL エージェントによって実行される SQL Server Integration Service (SSIS) ジョブには、SQL エージェント サービス アカウントが提供できるアクセス許可以外のアクセス許可が必要な場合があります。
解決策: この問題を解決するには、SQL Server エージェント ジョブ ステップから呼び出されたときに SSIS パッケージが実行されないを参照してください。
SQL Server データベースにログインできません - ログインできないと、認証でエラーが発生する可能性があります。
解決策: この問題を解決するには、 MSSQLSERVER_18456を参照してください。
ディレクトリ サービス
このセクションでは、ディレクトリ サービスとサーバーに関連する問題の一覧を示します。
アカウントが無効になっている - ユーザー アカウントが管理者またはユーザーによって無効にされた場合に、このシナリオが発生する可能性があります。 この場合、このアカウントを使用してログインすることも、このアカウントを使用してサービスを開始することもできません。 これにより、リソースにアクセスしたり、認証を必要とするアクションを実行したりできなくなる可能性があるため、一貫した認証の問題が発生する可能性があります。
解決策: ドメイン管理者は、アカウントを再度有効にすることで、この問題を解決できます。 アカウントが無効になっている場合は、通常、ユーザーが間違ったパスワードでログインしようとしたか、アプリケーションまたはサービスが古いパスワードを使用しようとしていることが原因です。
アカウントがグループに含まれていない - この問題は、ユーザーが特定のグループに制限されているリソースにアクセスしようとしている場合に発生する可能性があります。
解決策: SQL ログインを確認して許可されたグループを列挙し、ユーザーがいずれかのグループに属していることを確認します。
アカウントの移行に失敗しました - 古いユーザー アカウントがサーバーに接続できないが、新しく作成されたアカウントが可能な場合は、アカウントの移行が正しくない可能性があります。 この問題は AD DS に関連しています。
解決策: 詳細については、「 SQL Server のインスタンス間でのログインとパスワードの転送」を参照してください。
ドメイン コントローラーがオフライン - ドメイン コントローラーにアクセスできない問題を指します。
解決策:
nltest
コマンドを使用して、コンピューターを強制的に別のドメイン コントローラーに切り替えます。 詳細については、「 Active Directory レプリケーション イベント ID 2087: DNS 参照エラーが原因でレプリケーションが失敗する」を参照してください。ファイアウォールによってドメイン コントローラーがブロックされる - ユーザーのリソースへのアクセスを管理するときに問題が発生する可能性があります。
解決策: クライアントまたはサーバーからドメイン コントローラーにアクセスできることを確認します。 これを行うには、
nltest /SC_QUERY:CONTOSO
コマンドを使用します。ログインは信頼されていないドメインからのログインです - この問題はドメイン間の信頼レベルに関連しています。 次のエラー メッセージが表示される場合があります: "ログインに失敗しました。 ログインは信頼されていないドメインからのものであり、Windows 認証では使用できません。 (18452)."
エラー 18452 は、ログインで Windows 認証が使用されていますが、ログインが認識されない Windows プリンシパルであることを示します。 認識できない Windows プリンシパルは、Windows でログインを検証できないことを示します。 これは、Windows ログインが信頼されていないドメインからのログインであるために発生する可能性があります。 ドメイン間の信頼レベルにより、アカウント認証でエラーが発生したり、サービス プロバイダー名 (SPN) が表示されたりする可能性があります。
解決策: この問題を解決するには、 MSSQLSERVER_18452を参照してください。
クロスドメイン グループのアクセス許可がありません - リモート ドメインのユーザーは、SQL Server ドメインのグループ に属している必要があります。 ドメイン ローカル グループを使用して別のドメインから SQL Server インスタンスに接続しようとすると、問題が発生する可能性があります。
解決策: ドメインに適切な信頼がない場合、リモート ドメイン内のグループにユーザーを追加すると、サーバーがグループのメンバーシップを列挙できなくなる可能性があります。
選択的認証が無効になっている - ドメイン管理者がリモート ドメイン内のリソースにアクセスできるユーザーを制限できるドメイン信頼の機能を参照します。 選択的認証が有効になっていない場合、信頼されたドメイン内のすべてのユーザーがリモート ドメインにアクセスできます。
解決策: この問題を解決するには、選択的認証を有効にして、ユーザーがリモート ドメインでの認証を許可されていないことを確認します。
Kerberos 認証
このセクションでは、Kerberos 認証に関連する問題の一覧を示します。
NetBIOS 名に不適切な DNS サフィックスが追加されている - この問題は、完全修飾ドメイン名 (FQDN) ではなく NetBIOS 名 (SQLPROD01 など) のみを使用する場合に発生する可能性があります (例: SQLPROD01.CONTOSO.COM)。 これが発生すると、間違った DNS サフィックスが追加される可能性があります。
解決策: 既定のサフィックスのネットワーク設定を確認して正しいことを確認するか、FQDN を使用して問題を回避します。
クロック スキューが大きすぎます - この問題は、ネットワーク上の複数のデバイスが同期されていない場合に発生する可能性があります。 Kerberos 認証を機能させるには、デバイス間のクロックを 5 分以上オフにしたり、一貫した認証エラーが発生したりする可能性があります。
解決策: クロックを中央タイム サービスと定期的に同期するようにコンピューターを設定します。
機密性の高いアカウントを他のサービスに委任する - 一部のアカウントは AD DS で
Sensitive
としてマークされることがあります。 ダブルホップ シナリオでは、これらのアカウントを別のサービスに委任することはできません。 機密性の高いアカウントはセキュリティを提供するために重要ですが、認証に影響を与える可能性があります。解決策: この問題を解決するには、「ユーザー NT AUTHORITY\ANONYMOUS LOGON Login failed for user NT AUTHORITY\ANONYMOUS LOGON」を参照してください。
ファイル共有への委任 - ユーザーまたはアプリケーションが資格情報を委任してファイル共有にアクセスする状況を指します。 適切な制約がないと、資格情報をファイル共有に委任すると、セキュリティ 上のリスクが発生する可能性があります。
解決策: この種の問題を解決するには、必ず 制約付き委任を使用してください。
不整合な DNS 名前空間 - DNS サフィックスがドメイン メンバーと DNS の間で一致しない場合に発生する可能性がある一貫した認証の問題を指します。 不整合な名前空間を使用すると、認証の問題が発生する可能性があります。 AD DS と DNS の組織階層が一致しない場合、データベース アプリケーション 接続文字列で NETBIOS 名を使用すると、間違った SPN が生成される可能性があります。 この状況では、SPN が見つからず、Kerberos 資格情報の代わりに New Technology LAN Manager (NTLM) 資格情報が使用されます。
解決策: 問題を軽減するには、サーバーの FQDN を使用するか、接続文字列で SPN 名を指定します。 FQDN の詳細については、「 Computer の名前付け」を参照してください。
重複する SPN - 1 つのドメイン内で 2 つ以上の SPN が同一である状況を指します。 SPN は、Windows ドメイン内のサーバーで実行されているサービスを一意に識別するために使用されます。 SPN が重複すると、認証の問題が発生する可能性があります。
解決策: この問題を解決するには、「 Kerberos Configuration Manager (推奨)でエラーを修正する」を参照してください。
SPN で HTTP ポートを有効にする - 通常、HTTP SPN ではポート番号 (
http/web01.contoso.com
など) は使用されません。解決策: この問題を解決するには、クライアントのポリシーを使用してこれを有効にすることができます。 その後、Kerberos が正常に機能するためには、SPN が
http/web01.contoso.com:88
形式である必要があります。 それ以外の場合は、NTLM 資格情報が使用されます。NTLM 資格情報は、問題の診断が困難になる可能性があるため、推奨されません。 また、このような状況では、過剰な管理オーバーヘッドが発生する可能性があります。
期限切れのチケット - Kerberos チケットを参照します。 期限切れの Kerberos チケットを使用すると、認証の問題が発生する可能性があります。
解決策: この問題を解決するには、 期限切れチケットを参照してください。
HOSTS ファイルが正しくありません - HOSTS ファイルによって DNS 参照が中断され、予期しない SPN 名が生成される可能性があります。 この状況により、NTLM 資格情報が使用されます。 予期しない IP アドレスが HOSTS ファイル内にある場合、生成される SPN が、指しているバックエンド サーバーと一致しない可能性があります。
解決策: HOSTS ファイルを確認し、サーバーのエントリを削除します。 HOSTS ファイルエントリは、SQLCHECK レポートに表示されます。
サービスごとのセキュリティ識別子 (SID) のアクセス許可に関する問題 - サービスごとの SID は、認証方法として Kerberos ではなく NTLM を使用するようにローカル接続を制限する SQL Server のセキュリティ機能です。 サービスは、NTLM 資格情報を使用して別のサーバーにシングル ホップを作成できますが、制約付き委任を使用しないと、それ以上委任することはできません。 詳細については、「ユーザー NT AUTHORITY\ANONYMOUS LOGON Login failed for user NT AUTHORITY\ANONYMOUS LOGON」を参照してください。
解決策: この問題を解決するには、ドメイン管理者が制約付き委任を設定する必要があります。
カーネル モード認証 - アプリ プール アカウントの SPN は、通常、Web サーバーに必要です。 ただし、カーネル モード認証を使用する場合は、コンピューターの HOST SPN が認証に使用されます。 このアクションはカーネルで実行されます。 この設定は、同じホスト ヘッダー URL、異なるアプリ プール アカウント、 Windows 認証を使用する多数の異なる Web サイトをサーバーがホストする場合に使用できます。
解決策: カーネル モード認証が有効になっている場合は、HTTP SPN を削除します。
Access または Excel への委任権限を制限する - Joint Engine Technology (JET) プロバイダーと Access Connectivity Engine (ACE) プロバイダーは、いずれのファイル システムにも似ています。 SQL Server が別のコンピューターにあるファイルを読み取できるようにするには、制約付き委任を使用する必要があります。 一般に、ACE プロバイダーはリンク サーバーでは使用しないでください。これは明示的にサポートされていないためです。 JET プロバイダーは非推奨であり、32 ビット コンピューターでのみ使用できます。
Note
32 ビット インストールをサポートする最後のバージョンである SQL Server 2014 がサポート対象外になると、JET シナリオはサポートされなくなります。
SPN が見つかりません - この問題は、SQL サーバー インスタンスに関連する SPN が存在しない場合に発生する可能性があります。
解決策: 詳細については、「 Kerberos Configuration Manager でエラーを修正する (推奨)を参照してください。
制約付きターゲットではない - 特定のサービス アカウントに対して制約付き委任が有効になっている場合、ターゲット サーバーの SPN が制約付き委任のターゲットの一覧にない場合、Kerberos は失敗します。
解決策: この問題を解決するには、ドメイン管理者は、中間層サービス アカウントのターゲット SPN にターゲット サーバーの SPN を追加する必要があります。
NTLM および制約付き委任 - ターゲットがファイル共有の場合、中間レベルのサービス アカウントの委任の種類は Constrained-Any である必要があり、 Constrained-Kerberos である必要があります。 委任の種類が Constrained-Kerberos に設定されている場合、中間層アカウントは特定のサービスにのみ割り当てることができますが、 Constrained-Any はサービス アカウントが任意のサービスに委任できるようにします。
解決策: この問題を解決するには、「ユーザー NT AUTHORITY\ANONYMOUS LOGON Login failed for user NT AUTHORITY\ANONYMOUS LOGON」を参照してください。
AD での委任に対してサービス アカウントを信頼できません - ダブルホップ シナリオでは、中間層サービスのサービス アカウントが AD DS での委任に対して信頼されている必要があります。 サービス アカウントが委任に対して信頼されていない場合、Kerberos 認証が失敗する可能性があります。
解決策: 管理者の場合は、 Trusted for delegation オプションを有効にします。
一部のレガシ プロバイダーでは、名前付きパイプ経由の Kerberos がサポートされていません - Windows にバンドルされている従来の OLE DB プロバイダー (SQLOLEDB) と ODBC プロバイダー (SQL Server) では、名前付きパイプに対する Kerberos 認証はサポートされていません。 代わりに、NTLM 認証のみがサポートされます。
解決策: TCP 接続を使用して Kerberos 認証を許可します。 新しいドライバー (MSOLEDBSQL や ODBC Driver 17 など) を使用することもできます。 ただし、ドライバーのバージョンに関係なく、名前付きパイプよりも TCP が優先されます。
SPN が間違ったアカウントに関連付けられています - この問題は、SPN が AD DS の間違ったアカウントに関連付けられている場合に発生する可能性があります。 詳細については、「 Kerberos Configuration Manager でエラーを修正する (推奨)を参照してください。
AD DS の間違ったアカウントで SPN が構成されている場合、エラー メッセージが表示されることがあります。
解決策: エラーを解決するには、次の手順に従います。
SETSPN -Q spnName
を使用して、SPN とその現在のアカウントを見つけます。SETSPN -D
を使用して既存の SPN を削除します。SETSPN -S
を使用して、SPN を正しいアカウントに移行します。
SQL エイリアスが正しく機能しない可能性があります - SQL Server エイリアスによって予期しない SPN が生成される可能性があります。 これにより、SPN が見つからない場合は NTLM 資格情報が失敗し、別のサーバーの SPN と誤って一致した場合は SSPI エラーが発生します。
解決策:SQL エイリアス SQLCHECK レポートに表示されます。 この問題を解決するには、正しくない SQL エイリアスまたは正しく構成されていない SQL エイリアスを特定して修正し、正しい SQL Server を指し示します。
ユーザーが多数のグループに属している - ユーザーが複数のグループに属している場合、Kerberos で認証の問題が発生する可能性があります。 UDP 経由で Kerberos を使用する場合は、セキュリティ トークン全体が 1 つのパケット内に収まる必要があります。 多くのグループに属しているユーザーは、所属するグループの数が少ないユーザーよりも大きなセキュリティ トークンを持っています。
解決策: TCP 経由で Kerberos を使用する場合は、[
MaxTokenSize
] 設定を増やすことができます。 詳細については、「 MaxTokenSize」および「Kerberos Token Bloat」を参照してください。Web サイト ホスト ヘッダーを使用する - HTTP ホスト ヘッダーは、Web ページにアクセスするための HTTP プロトコルにおいて非常に重要な役割を果たします。
解決策: Web サイトにホスト ヘッダー名がある場合、HOSTS SPN を使用できません。 明示的な HTTP SPN を使用する必要があります。 Web サイトにホスト ヘッダー名がない場合は、NTLM が使用されます。 NTLM をバックエンド SQL Server インスタンスまたはその他のサービスに委任することはできません。
NT LAN Manager (NTLM)
このセクションでは、NTLM (NT LAN Manager) に固有の問題の一覧を示します。
NTLM ピア ログインのアクセスが拒否されました - NTLM ピア ログインに関連する問題を参照します。
解決策: 相互に信頼されていないワークステーションまたはドメイン内のコンピューター間で通信する場合は、両方のコンピューターで同じアカウントを設定し、NTLM ピア認証を使用できます。
ログインは、ユーザー アカウントとパスワードの両方が両方のコンピューターで一致する場合にのみ機能します。 NTLM 認証が無効になっているか、クライアント側またはサーバー側でサポートされていない可能性があります。 このような状況では、認証エラーが発生する可能性があります。 詳細については、「 MSSQLSERVER_18456」を参照してください。
複数のコンピューターでのダブルホップ シナリオ - NTLM 資格情報が使用されている場合、ダブルホップ プロセスは失敗します。 Kerberos 資格情報が必要です。
解決策: この問題を解決するには、「ユーザー NT AUTHORITY\ANONYMOUS LOGON Login failed for user NT AUTHORITY\ANONYMOUS LOGON」を参照してください。
ループバック保護が正しく設定されていません - ループバック保護は、アプリケーションが同じコンピューター上の他のサービスを呼び出すのを禁止するように設計されています。 ループバック保護が正しく構成されていない場合、または誤動作が発生した場合、この状況によって認証の問題が間接的に発生する可能性があります。
解決策: この問題を解決するには、 MSSQLSERVER_18456を参照してください。
Always-on リスナーに接続するとループバック保護が失敗する - この問題はループバック保護に関連しています。 プライマリ ノードから Always-On リスナーに接続すると、接続では NTLM 認証が使用されます。
解決策: 詳細については、「 MSSQLSERVER_18456」を参照してください。
LANMAN の互換性レベルに影響する問題 - LAN Manager (LANMAN) 認証の問題は、通常、以前の (Windows Server 2008 より前の) 以降のコンピューターで使用される認証プロトコルに不一致が存在する場合に発生します。 互換性レベルを 5 に設定すると、NTLMv2 は許可されません。
解決策: Kerberos に切り替えると、Kerberos の安全性が高くなるため、この問題は回避されます。 詳細については、「ユーザー NT AUTHORITY\ANONYMOUS LOGON Login failed for user NT AUTHORITY\ANONYMOUS LOGON」を参照してください。
SQL Login
このセクションでは、認証資格情報に関連する問題の一覧を示します。
パスワードが正しくありません - ログイン関連の問題を参照します。
解決策: この問題を解決するには、 MSSQLSERVER_18456を参照してください。
無効なユーザー名 - ログイン関連の問題を参照します。
解決策: この問題を解決するには、 MSSQLSERVER_18456を参照してください。
SQL Server ログインが有効になっていません - SQL Server 認証を使用して Microsoft SQL Server インスタンスに接続しようとしたが、アカウントに関連付けられているログインが無効になっているシナリオを指します。
解決策: この問題を解決するには、 MSSQLSERVER_18456を参照してください。
名前付きパイプ接続は、ユーザーが Windows にログインするためのアクセス許可を持っていないため失敗します - Windows でのアクセス許可の問題を参照します。
Windows のアクセス許可
このセクションでは、Windows のアクセス許可またはポリシー設定に固有の問題の一覧を示します。
アクセスはローカル グループを通じて付与されます - ユーザーがサーバーへのアクセスを許可するために使用されるローカル グループに属していない場合、プロバイダーは "ユーザー 'contoso/user1' のログインに失敗しました" というエラー メッセージを表示します。
解決策: データベース管理者は、SQL Server Management Studio (SSMS) の Security>Logins フォルダーを調べることで、この状況を確認できます。 データベースが包含データベースの場合は、
databasename
で確認します。 詳細については、「ユーザー '<username>' の Login failed or login failed for user '<domain>\<username>'を参照してください。Credential Guard が有効になっている - このシナリオは、Credential Guard 機能が Windows システムで有効になっており、機密情報を格納するためのセキュリティで保護された環境を作成するために使用されることを示します。 ただし、特定の状況では、この機能によって認証の問題が発生する可能性があります。
解決策: この問題を解決するには、ドメイン管理者に制約付き委任を設定するよう依頼します。 詳細については、「 Considerations and known issues when using Credential Guardを参照してください。
ローカル セキュリティ サブシステム エラー - ローカル セキュリティ サブシステム エラー (特に LSASS にリンクされているエラーが応答しなくなる) が発生した場合は、認証に影響する根本的な問題を示している可能性があります。
解決策: これらのエラーを解決するには、「SQL Server でのセキュリティ サブシステムのローカル エラーを参照してください。
ネットワーク ログインが許可されていません - このシナリオは、ネットワークにログインしようとしても、特定の理由でログイン要求が拒否された場合に発生します。
解決策: この問題を解決するには、「 User にネットワークにログインするためのアクセス許可がないを参照してください。
管理者のみがログインできます - この問題は、コンピューターのセキュリティ ログがいっぱいで、イベントを入力するための十分な領域がない場合に発生します。 セキュリティ機能 CrashOnAuditFail は、システム管理者がすべてのセキュリティ イベントを確認するために使用します。
CrashOnAuditFail
の有効な値は、0、1、および 2 です。CrashOnAuditFail
のキーが 2 に設定されている場合は、セキュリティ ログがいっぱいで、"管理者のみがログインできます" というエラー メッセージが表示されることを意味します。解決策: この問題を解決するには、次のステップに従ってください。
- レジストリ エディターを起動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa!crashonauditfail
サブキーを見つけて確認し、値が 2 に設定されているかどうかを確認します。 この値は、セキュリティ ログに手動によるクリアが必要であることを示します。- 値を 0 に設定し、サーバーを再起動します。 また、セキュリティ ログを変更して、イベントのロール オーバーを有効にすることもできます。 この設定が SQL、IIS、ファイル共有、ログインなどのすべてのサービスに与える影響の詳細については、「 セキュリティ イベント ログがいっぱいになるとユーザーが Web サイトにアクセスできない」を参照してください。
Note
この問題は、統合ログインにのみ影響します。 名前付きパイプは、SQL Server に接続する前に Windows 管理パイプに最初にログインするため、名前付きパイプ接続は SQL Server ログインでも影響を受けます。
サービス アカウントは委任に対して信頼されません - この種の問題は、通常、サービス アカウントが他のサーバーに資格情報を割り当てることができない場合に発生します。 この問題は、委任を必要とするサービスに影響する可能性があります。
解決策: 委任シナリオが有効になっていない場合は、SQL Server secpol.msc を調べて、認証後にクライアントを偽装>ユーザー権利の割り当て>ローカル ポリシーセキュリティ ポリシー設定に SQL Server サービス アカウントが表示されているかどうかを確認します。 詳細については、 コンピューターアカウントとユーザー アカウントを委任に対して信頼できるようにするを参照してください。
Windows ユーザー プロファイルを SQL Server に読み込む - Windows ユーザー プロファイルの問題を参照します。
解決策: 破損したユーザー プロファイルのトラブルシューティング方法の詳細については、「 Windows ユーザー プロファイルを SQL Server に読み込む」を参照してください。
その他の側面
このセクションでは、Web 環境内の認証とアクセス制御に関連する問題の一覧を示します。
統合認証が有効になっていません - 統合 Windows 認証 (IWA) が正しく構成されていない構成の問題を示します。
解決策: この問題を解決するには、Internet オプション設定で Integrated Windows Authentication オプションが有効になっていることを確認します。
IIS 認証は許可されません - この問題は、IIS の構成が間違っているために発生します。 Web アプリケーションの Web.config ファイルで定義されている認証設定が、IIS で構成されている設定と競合する可能性があります。 この状況により、認証の問題が発生する可能性があります。
解決策: この問題を解決するには、Windows 認証を有効にするように Web サイトを構成し、Web.config ファイルに
<identity impersonate="true"/>
値を設定します。インターネット ゾーンが正しくありません - Internet Explorer の正しいインターネット ゾーンにない Web サイトにアクセスしようとすると、この問題が発生する可能性があります。 Web サイトがローカル イントラネット ゾーンにある場合、資格情報は機能しません。
解決策: IE のローカル イントラネット ゾーンに Web サーバーを追加します。
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。