SQL Server での一貫した認証の問題
適用対象: SQL Server
注:
この記事で説明するコマンドは、Windows システムにのみ適用されます。
Microsoft SQL Server で発生する一貫した認証の問題は、通常、SQL Server データベースにアクセスしようとするユーザーまたはアプリケーションの認証と承認に関連します。 これらの問題は、認証エラー、アクセス拒否エラー、またはその他のセキュリティ関連の問題です。
一貫性のある認証の問題を効果的に解決するための鍵は、さまざまなエラーの種類と各エラー メッセージの意味を理解することです。 一部のエラーは、複数の認証の問題で発生する可能性があります。 「エラーの種類」セクションに記載されているトラブルシューティング情報を使用して 、エラー を解決できます。
前提条件
トラブルシューティングを開始する前に、 前提条件 のチェックリストに従って、次の情報を準備してください。
WireShark および問題ステップ レコーダー (PSR.exe) ツールをインストールします。 詳細については、「 さまざまな種類のエラーをトラブルシューティングするためのデータ収集方法」を参照してください。
サービス アカウントに基づくサービス プロバイダー名 (SPN) 情報を収集します。 これを行うには、 コマンドを
SETSPN -L
使用します。
エラーの種類
このセクションでは、エラーの種類と関連情報について説明します。
ディレクトリ サービス エラー: SQL Server エラー ログ ファイルに次のメッセージの一方または両方が含まれている場合、このエラーは Active Directory Domain 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でのデータベースのオフライン」を参照してください。
また、接続文字列のデータベース名が正しいかどうかを確認します。"ユーザー <ユーザー名>のログインに失敗しました。 このエラーは、 プロキシ アカウント が正しく認証されていない場合に発生する可能性があります。 "ユーザーのログインに失敗しました: 'NT AUTHORITY\ANONYMOUS LOGON'" このエラー は、SPN が見つからない場合、SPN が重複している場合、または SPN が間違ったアカウントにある場合に発生する可能性があります。 "ユーザー <ユーザー名>のログインに失敗しました。
"ユーザー '<database\username> のログインに失敗しました"接続文字列に正しくないサーバー名が含まれているかどうかを確認します。 また、ユーザーがサーバーへのアクセスを許可するために使用されるローカル グループに属しているかどうかを確認します。 その他の原因については、「 NT AUTHORITY\ANONYMOUS LOGON」を参照してください。 "ユーザー 'username>'< のログインに失敗しました。 理由: パスワードが、指定されたログインのパスワードと一致しませんでした。 このエラーは、正しくないパスワードが使用されている場合に発生する可能性があります。 詳細については、「ユーザー 'username' のログインに失敗しました」または「ユーザー '<domain><username>>' のログインに失敗しました」を<参照してください。 "SQL Server が存在しないか、アクセスが拒否されました。 名前付きパイプ接続 は、ユーザーが Windows にログインするためのアクセス許可を持っていないため失敗します。 "ログインは信頼されていないドメインからのものであり、Windows 認証では使用できません。 このエラーは、 ローカル セキュリティ サブシステム の問題に関連している可能性があります。 "ユーザー アカウントは、ネットワーク ログインの種類を許可されていません。 ネットワークにログインできない場合があります。
一貫性のある認証の問題の種類
このセクションでは、一貫した認証の問題の一般的な原因と、それぞれのソリューションについて説明します。 問題の種類を選択して、関連する問題、原因、および解決策を確認します。
接続文字列
このセクションでは、アプリケーションがデータベースに接続するために使用する構成設定に関連する問題の一覧を示します。
明示的な SPN がありません - この問題は、SPN が正しく構成または登録されていない場合に発生します。
ソリューション: この問題を解決するには、 Windows 認証を使用して SQL Server に接続するときの "SSPI コンテキストを生成できません" エラーに関するページを参照してください。
明示的な誤った 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) (たとえば、SQLPROD01.CONTOSO.COM) ではなく NetBIOS 名 (SQLPROD01 など) のみを使用する場合に発生する可能性があります。 これが発生すると、間違った DNS サフィックスが追加される可能性があります。
ソリューション: 既定のサフィックスのネットワーク設定を確認して正しいことを確認するか、FQDN を使用して問題を回避します。
クロック スキューが大きすぎる - この問題は、ネットワーク上の複数のデバイスが同期されていない場合に発生する可能性があります。 Kerberos 認証を機能させるには、デバイス間のクロックを 5 分以上オフにしたり、一貫性のある認証エラーが発生したりする可能性があります。
ソリューション: クロックを中央タイム サービスと定期的に同期するようにコンピューターを設定します。
機密性の高いアカウントを他のサービスに委任する - 一部のアカウントは AD DS で として
Sensitive
マークされる場合があります。 これらのアカウントは、ダブルホップシナリオでは別のサービスに委任できません。 機密性の高いアカウントはセキュリティを提供するために重要ですが、認証に影響を与える可能性があります。ソリューション: この問題を解決するには、「 ユーザー NT AUTHORITY\ANONYMOUS LOGON のログインに失敗しました」を参照してください。
ファイル共有への委任 - ユーザーまたはアプリケーションが資格情報を委任してファイル共有にアクセスする状況を指します。 適切な制約がないと、資格情報をファイル共有に委任すると、セキュリティ リスクが発生する可能性があります。
ソリューション: この種の問題を解決するには、 制約付き委任を使用してください。
不整合な DNS 名前空間 - DNS サフィックスがドメイン メンバーと DNS の間で一致しない場合に発生する可能性がある一貫した認証の問題を指します。 不整合な名前空間を使用すると、認証の問題が発生する可能性があります。 AD DS と DNS の組織階層が一致しない場合、データベース アプリケーション接続文字列で NETBIOS 名を使用すると、間違った SPN が生成される可能性があります。 この状況では、SPN が見つからず、Kerberos 資格情報の代わりに New Technology LAN Manager (NTLM) 資格情報が使用されます。
ソリューション: この問題を軽減するには、サーバーの FQDN を使用するか、接続文字列に SPN 名を指定します。 FQDN の詳細については、「 コンピューターの名前付け」を参照してください。
重複する SPN - ドメイン内で 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 のログインに失敗しました」を参照してください。
ソリューション: この問題を解決するには、ドメイン管理者が制約付き委任を設定する必要があります。
カーネル モード認証 - 通常、アプリ プール アカウントの SPN は Web サーバーに必要です。 ただし、カーネル モード認証を使用すると、コンピューターの HOST SPN が認証に使用されます。 このアクションはカーネルで実行されます。 この設定は、サーバーが同じホスト ヘッダー URL、異なるアプリ プール アカウント、 および Windows 認証を使用する多数の異なる Web サイトをホストする場合に使用される可能性があります。
ソリューション: カーネル モード認証が有効になっている場合は、HTTP SPN を削除します。
Access または Excel への委任権限を制限する - 共同エンジン テクノロジ (JET) プロバイダーと Access Connectivity Engine (ACE) プロバイダーは、ファイル システムと同様です。 SQL Server が別のコンピューターにあるファイルを読み取できるようにするには、制約付き委任を使用する必要があります。 一般に、ACE プロバイダーはリンク サーバーで使用しないでください。これは明示的にサポートされていないためです。 JET プロバイダーは非推奨であり、32 ビット コンピューターでのみ使用できます。
注:
32 ビット インストールをサポートする最後のバージョンである SQL Server 2014 がサポート対象外になると、JET シナリオはサポートされなくなります。
SPN が見つからない - この問題は、SQL Sever インスタンスに関連する SPN がない場合に発生する可能性があります。
ソリューション: 詳細については、「 Kerberos Configuration Manager でエラーを修正する (推奨)」を参照してください。
制約付きターゲットではない - 特定のサービス アカウントに対して制約付き委任が有効になっている場合、ターゲット サーバーの SPN が制約付き委任のターゲットの一覧にない場合、Kerberos は失敗します。
ソリューション: この問題を解決するには、ドメイン管理者がターゲット サーバーの SPN を中間層サービス アカウントのターゲット SPN に追加する必要があります。
NTLM と制約付き委任 - ターゲットがファイル共有の場合、中間層サービス アカウントの委任の種類は、Constrained-Kerberos ではなく Constrained-Any である必要があります。 委任の種類が Constrained-Kerberos に設定されている場合、中間層アカウントは特定のサービスにのみ割り当てることができますが、 Constrained-Any を使用すると、サービス アカウントは任意のサービスに委任できます。
ソリューション: この問題を解決するには、「 ユーザー NT AUTHORITY\ANONYMOUS LOGON のログインに失敗しました」を参照してください。
AD での委任に対してサービス アカウントを信頼できない - ダブルホップシナリオでは、AD DS での委任に対して中間層サービスのサービス アカウントを信頼する必要があります。 サービス アカウントが委任に対して信頼されていない場合、Kerberos 認証が失敗する可能性があります。
ソリューション: 管理者の場合は、[ 委任の信頼] オプションを有効にします。
一部のレガシ プロバイダーは、名前付きパイプ経由で 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 Alias が正しく機能しない可能性があります 。 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 のログインに失敗しました」を参照してください。
ループバック保護が正しく設定されていない - ループバック保護は、アプリケーションが同じコンピューター上の他のサービスを呼び出すのを禁止するように設計されています。 ループバック保護が正しく構成されていない場合、または誤動作が発生した場合、この状況により認証の問題が間接的に発生する可能性があります。
ソリューション: この問題を解決するには、「 MSSQLSERVER_18456」を参照してください。
Always-on リスナーに接続するとループバック保護が失敗する - この問題はループバック保護に関連しています。 プライマリ ノードから Always-On リスナーに接続すると、接続で NTLM 認証が使用されます。
ソリューション: 詳細については、「 MSSQLSERVER_18456」を参照してください。
LANMAN 互換性レベルに影響する問題 - LAN Manager (LANMAN) 認証の問題は、通常、古い (Windows Server 2008 より前の) および新しいコンピューターで使用される認証プロトコルに不一致が存在する場合に発生します。 互換性レベルを 5 に設定すると、NTLMv2 は許可されません。
ソリューション: Kerberos に切り替えると、Kerberos の方がセキュリティが強化されるため、この問題は回避されます。 詳細については、「 ユーザー NT AUTHORITY\ANONYMOUS LOGON のログインに失敗しました」を参照してください。
SQL ログイン
このセクションでは、認証資格情報に関連する問題の一覧を示します。
パスワードが正しくない - ログイン関連の問題を参照します。
ソリューション: この問題を解決するには、「 MSSQLSERVER_18456」を参照してください。
無効なユーザー名 - ログイン関連の問題を参照します。
ソリューション: この問題を解決するには、「 MSSQLSERVER_18456」を参照してください。
SQL Server ログインが有効になっていない - SQL Server 認証を使用して Microsoft SQL Server インスタンスに接続しようとしたが、アカウントに関連付けられているログインが無効になっているシナリオを指します。
ソリューション: この問題を解決するには、「 MSSQLSERVER_18456」を参照してください。
名前付きパイプ接続は、ユーザーが Windows にログインするためのアクセス許可がないために失敗 する - Windows でのアクセス許可の問題を参照します。
ソリューション: この問題を解決するには、「 SQL Server での名前付きパイプ接続の問題」を参照してください。
Windows のアクセス許可
このセクションでは、Windows のアクセス許可またはポリシー設定に固有の問題の一覧を示します。
アクセスはローカル グループを介して付与 されます。 ユーザーがサーバーへのアクセスを許可するために使用するローカル グループに属していない場合、プロバイダーは "ユーザー 'contoso/user1' のログインに失敗しました" というエラー メッセージを表示します。
ソリューション: データベース管理者は、SQL Server Management Studio (SSMS) の [セキュリティ>ログイン ] フォルダーを調べることで、この状況を確認できます。 データベースが包含データベースの場合は、 を確認します
databasename
。 詳細については、「ユーザー 'username' のログインに失敗しました」または「ユーザー '<domain>\<username>>' のログインに失敗しました」<を参照してください。資格情報ガードが有効になっている - このシナリオは、資格情報ガード機能が Windows システムで有効になっており、機密情報を格納するセキュリティで保護された環境を作成するために使用されることを示します。 ただし、特定の状況では、この機能によって認証の問題が発生する可能性があります。
ソリューション: この問題を解決するには、ドメイン管理者に制約付き委任を設定するように依頼します。 詳細については、「 Credential Guard を使用するときの考慮事項と既知の問題」を参照してください。
ローカル セキュリティ サブシステム エラー - ローカル セキュリティ サブシステム エラー (特に LSASS にリンクされているエラーが応答しなくなる) が発生すると、認証に影響する根本的な問題が示される可能性があります。
ソリューション: これらのエラーを解決するには、「 SQL Server のローカル セキュリティ サブシステム エラー」を参照してください。
ネットワーク ログインが許可されていません - このシナリオは、ネットワークにログインしようとしたときに、特定の理由でログイン要求が拒否されたときに発生します。
ソリューション: この問題を解決するには、「 ユーザーにネットワークにログインするためのアクセス許可がない」を参照してください。
管理者のみがログインできます - この問題は、コンピューターのセキュリティ ログがいっぱいで、イベントを満たすのに十分な領域がない場合に発生します。 セキュリティ機能 CrashOnAuditFail は、システム管理者がすべてのセキュリティ イベントを確認するために使用されます。 の有効な値
CrashOnAuditFail
は 0、 1、 および 2 です。 のキーCrashOnAuditFail
が 2 に設定されている場合は、セキュリティ ログがいっぱいになり、"管理者のみがログインできます" というエラー メッセージが表示されることを意味します。ソリューション: この問題を解決するには、次の手順に従います。
- レジストリ エディターを起動します。
- サブキーを
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa!crashonauditfail
見つけて、値が 2 に設定されているかどうかを確認します。 この値は、セキュリティ ログに手動によるクリアが必要であることを示します。 - 値を 0 に設定し、サーバーを再起動します。 また、セキュリティ ログを変更して、イベントのロール オーバーを有効にすることもできます。 設定が SQL、IIS、ファイル共有、ログインなどのすべてのサービスに与える影響の詳細については、「 セキュリティ イベント ログがいっぱいになるとユーザーが Web サイトにアクセスできない」を参照してください。
注:
この問題は、統合ログインにのみ影響します。 名前付きパイプは、SQL Server に接続する前に最初に Windows Admin Pipe にログインするため、名前付きパイプ接続は SQL Server ログインでも影響を受けます。
サービス アカウントが委任に対して信頼されていない - この種の問題は、通常、サービス アカウントが他のサーバーに資格情報を割り当てることが許可されていない場合に発生します。 この問題は、委任を必要とするサービスに影響する可能性があります。
ソリューション:委任シナリオが有効になっていない場合は、SQL Server secpol.msc を確認して、SQL Server サービス アカウントが [ローカル ポリシー>] [ユーザー権利の割り当て>] の下に一覧表示されているかどうかを確認します。認証セキュリティ ポリシー設定の後にクライアントを偽装します。 詳細については、 コンピューターアカウントとユーザー アカウントを委任に対して信頼できるようにするを参照してください。
Windows ユーザー プロファイルを SQL Server に読み込む - Windows ユーザー プロファイルの問題を参照します。
ソリューション: 破損したユーザー プロファイルのトラブルシューティング方法の詳細については、「 Windows ユーザー プロファイルを SQL Server に読み込む」を参照してください。
その他の側面
このセクションでは、Web 環境内の認証とアクセス制御に関連する問題の一覧を示します。
統合認証が有効になっていない - 統合 Windows 認証 (IWA) が正しく構成されていない構成の問題を示します。
ソリューション:この問題を解決するには、[インターネット オプション] 設定で [統合 Windows 認証] オプションが有効になっていることを確認します。
IIS 認証は許可されていません - この問題は、IIS の構成ミスが原因で発生します。 Web アプリケーションの Web.config ファイルで定義されている認証設定が、IIS で構成されている設定と競合する可能性があります。 この状況により、認証の問題が発生する可能性があります。
ソリューション:この問題を解決するには、Web サイトを構成して Windows 認証を有効にし、Web.config ファイルの値を設定
<identity impersonate="true"/>
します。インターネット ゾーンが正しくない - Internet Explorer の正しいインターネット ゾーンにない Web サイトにアクセスしようとすると、この問題が発生する可能性があります。 Web サイトがローカル イントラネット ゾーンにある場合、資格情報は機能しません。
ソリューション: IE のローカル イントラネット ゾーンに Web サーバーを追加します。
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。