匿名ログインを使用して SQL Server のインスタンスに接続できない場合があります。

重要 この資料にはセキュリティ設定を低くする方法、またはコンピューターのセキュリティ機能を無効にする方法を示す情報が含まれています。特定の問題を回避するためにこれらの変更を行うことができます。これらの変更を行う前に、特定の環境でこの回避策の実装に関連付けられているリスクを評価することをお勧めします。この回避策を実装する場合、システムを保護するために適切な追加の手順を実行します。

概要

Microsoft SQL Server 2000 または Microsoft SQL Server 2005 のインスタンスに AUTHORITY\ANONYMOUS は NT ログオン ログインを追加すると、SQL Server のインスタンスが Microsoft Windows 統合セキュリティを匿名のログインを受け入れるし、接続しようとするように、接続の試行、匿名ユーザーとして SQL Server のインスタンスができない可能性もあり、次のエラー メッセージが表示される場合があります。

ユーザー '(null)' のログインに失敗しました。理由: は、SQL Server の信頼関係接続に関連付けられていません。

さらに、次のイベントがシステム イベント ログに記録されます。

イベントの種類: エラー
イベント ソース: LsaSrv

イベント カテゴリ: なし
イベント ID: 6033
日付: < 日付 >

時間: < 時刻 >
ユーザー: N/A
コンピューター: < コンピューター名 >

説明:

< コンピューター名 > から接続されている匿名のセッションは、このコンピューター上の LSA ポリシー ハンドルを開くしようとしています。匿名の呼び出し元にセキュリティの重要な情報リークを防ぐために STATUS_ACCESS_DENIED で拒否されました。

この操作を実行するアプリケーションを修正する必要があります。アプリケーション ベンダーに問い合わせてください。一時的な回避策としてこのセキュリティ対策を無効に設定します
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TurnOffAnonymousBlock 1 の DWORD 値です。

この問題は、次の条件すべてに該当する場合に発生します。

  • SQL Server のインスタンスは、Microsoft Windows Server 2003 を実行しているコンピューターにインストールされます。

  • SQL Server のインスタンスを実行しているコンピューターは、ドメインのメンバー サーバーです。

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TurnOffAnonymousBlockレジストリ値が不足しているかは、1 に設定されていません。

  • ネットワーク アクセス: 匿名の SID と名前の変換を許可するの SQL Server インスタンスを実行しているコンピューター上のセキュリティ オプションが有効になっていません。

原因

匿名ユーザーとして SQL Server のインスタンスに接続しようとすると、匿名の接続は、SQL Server のインスタンスを実行しているコンピューター上の LSA ポリシー ハンドルを開くしようとします。既定では、Windows Server 2003 メンバー サーバーは、 TurnOffAnonymousBlockレジストリ値が 1 に設定されていない場合は、LSA ポリシー ハンドルを開こうとすると、匿名の接続試行を拒否します。したがって、匿名接続は成功ではありません。さらに、SQL Server では、匿名の接続要求を受信した後、SQL Server は、アカウント名を取得するLookupAccountSid Windows API 関数を呼び出します。関数が呼び出されるため匿名接続のコンテキストで、関数呼び出しも障害が発生した場合は、ネットワーク アクセス: 匿名の SID と名前の変換を許可するのセキュリティ オプションが有効になっていません。

回避策

警告: この回避策は、悪意のあるユーザーやウイルスなどの悪意のあるソフトウェアによる攻撃をコンピューターまたはネットワークを受けやすくすることがあります。この資料の情報は、ユーザーが記載されている回避策を自己の判断で使用することを前提に提供されているものであり、この回避策をお勧めするものではありません。この回避策は、自己の責任において使用してください。

この問題を回避するには、SQL Server 2000 または SQL Server 2005 への匿名接続を許可する Windows Server 2003 を実行しているコンピューターで以下の手順を実行。

  1. 有効にする、のネットワーク アクセス: 匿名の SID と名前の変換を許可するローカル セキュリティ ポリシーのセキュリティ オプションです。これを行うには、以下の手順を実行します。

    1. [開始] をクリック
      コントロール パネルです。

    2. [管理ツール] をダブルクリックし、[ローカル セキュリティ ポリシー] をダブルクリックします。

    3. 左側のウィンドウで[ローカル ポリシー] を展開し、[セキュリティ オプション] をクリックします。

    4. [ポリシー ] 列の右側のウィンドウで見つけてダブルクリックし、ネットワーク アクセス: 匿名の SID と名前の変換を許可するです。

    5. ネットワーク アクセス: 匿名の SID と名前の変換を許可するダイアログ ボックスで、 [有効] をクリックし、[ OK] をクリックします。

    6. ローカル セキュリティ設定ウィンドウを閉じます。

    7. 管理ツール] ウィンドウを閉じます。

  2. TurnOffAnonymousBlockの DWORD レジストリ値を 1 に設定します。そのためには、以下の手順を実行します。

    重要 このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。そのため、レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。そうすることで、問題が発生した場合にレジストリを復元することができます。レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。

    322756の方法をバックアップし、Windows のレジストリを復元するには

    1. [スタート] ボタンをクリックしてください
      実行するには、 「regedit」と入力] をクリックしてし、
      OKです。

    2. レジストリ エディターで、検索をクリックします
      レジストリ キーをします

    3. 右側のウィンドウで見つけてダブルクリックします
      TurnOffAnonymousBlockDWORD レジストリ値です。

    4. の DWORD レジストリ値が存在しない場合は、レジストリ値を作成する必要があります。

    5. DWORD 値の編集] ダイアログ ボックスで、[値データ] ボックスに1を入力し、し、[ OK] をクリックします。

    6. レジストリ エディター、およびコンピューターの再起動を閉じます。再起動が必要なレジストリ変更を有効にします。

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×