概要
Microsoft SQL Server 2012 AlwaysOn 可用性グループ リスナーを作成できない場合、多くの場合、Active Directory でオブジェクトを作成したり、DNS で IP アドレスを登録したりできない他の問題の症状になります。 通常、これらの問題は、ドメイン ポリシーが原因で発生します。または、Windows クラスターが Active Directory または DNS と対話するためのアクセス許可がないために発生します。SQL Serverでリスナーを作成すると、Windows クラスターによってクライアント アクセス ポイント リソースが作成されます。 SQL Serverリスナーを作成できない場合、Windows クラスターがリソースを作成しているため、原因を報告できない可能性があります。 このような状況では、原因を診断するために Windows クラスター ログと Windows システム イベント ログを収集できます。リスナーを作成できない場合は、通常、次のいずれかの理由が原因です。
-
Active Directory クラスター名アカウントを作成および変更するための十分な Windows クラスターアクセス許可がありません。
-
重複または無効な IP アドレスに関連する特定の問題のため、DNS に IP アドレスを登録できません。
-
Windows ポリシーに違反している。
この記事では、原因を報告できない場合にリスナーの作成が失敗したことを診断するために実行できる手順SQL Server説明します。 さらに、この記事では、可用性グループ リスナーの作成が失敗したときに表示されるエラー メッセージの一覧を示します。
詳細情報
可用性グループ リスナーを作成できない場合、SQL Serverは原因を報告しない可能性があります
SQL Server Management Studioの [リスナーの追加] ダイアログ ボックスを使用して可用性グループ リスナーを作成すると、エラーの原因に関する情報を含むエラー メッセージが表示されることがあります。これは、問題の解決に役立ちます。 たとえば、次のようなサブネットの不適切な IP アドレスに関するエラー メッセージが表示されます。
指定した IP アドレス '<IP アドレス>' は、クラスターで許可される IP 範囲では無効です。 ネットワーク管理者に問い合わせて、クラスターで許可される IP 範囲に適した値を選択します。 (Microsoft SQL Server、エラー: 19457)
メッセージ 19471、レベル 16、状態 0、行 2 WSFC クラスターは、DNS 名 '<DNS 名>' のネットワーク 名 リソースをオンラインにできませんでした。 DNS 名が取得されたか、既存のネーム サービスと競合している可能性があります。または、WSFC クラスター サービスが実行されていないか、アクセスできない可能性があります。 別の DNS 名を使用して名前の競合を解決するか、WSFC クラスター ログをチェックして詳細を確認します。
メッセージ 19476、レベル 16、状態 4、行 2リスナーのネットワーク名と IP アドレスの作成が失敗しました。 WSFC サービスが実行されていないか、現在の状態でアクセスできないか、ネットワーク名と IP アドレスに指定された値が正しくない可能性があります。 WSFC クラスターの状態を確認し、ネットワーク管理者にネットワーク名と IP アドレスを検証します。
この問題は、Windows クラスターがクラスター化されたリソースであるクライアント アクセス ポイントを作成してオンラインにできないために発生します。 この問題が発生した場合は、原因を特定するために、Windows クラスター ログと Windows システム イベント ログから関連情報を収集できます。 これを行うには、次の手順を実行します。
手順 1: 問題が発生した正確な時刻に注意してください問題を再現するために必要な手順を実行し、この問題が発生した時刻に注意してください。
手順 2: Windows クラスター ログ (Cluster.log) のデータを確認し、グループ リスナーに指定したネットワーク名をCluster.log ファイルで検索します。ノート
-
Cluster.log ファイル エントリは、協定世界時 (UTC) に記録されます。
-
Windows Server 2008 R2 以降のバージョンのWindows Serverで管理コマンド プロンプトを使用して Windows クラスター ログを生成するには、次のコマンドを実行します。
Cluster log /g
-
Windows PowerShellを使用して Windows クラスター ログを生成するには、管理者特権の PowerShell ウィンドウで次のコマンドレットを実行します。
Get-ClusterLog
-
既定では、ログ ファイルは %WINDIR%\cluster\reports に作成されます。
手順 3: Windows システム イベント ログのデータを確認する手順 1 で説明した時刻を使用して、リスナーの作成試行に関連するエントリについて Windows システム イベント ログを確認します。
場合によっては、ドメイン ポリシーのためにグループ リスナーを作成できない理由に関する特定の情報をSQL Serverで報告できない場合があります。 たとえば、ドメイン ポリシーを使用すると、ドメイン ユーザーは既定で 10 個のコンピューター アカウントを作成できます。 11 番目のコンピューター アカウントとなるグループ リスナーを作成しようとすると、SQL Serverは、「詳細情報」セクションで説明されている一般的なエラー メッセージ "Msg 19471" と "Msg 19476" のみを報告できます。グループ リスナーを作成できない理由の原因を見つけるには、Windows システム イベント ログとCluster.log ファイルを確認します。
-
Windows システム イベント ログを確認するには、次の手順に従います。
-
[スタート] をクリックし、[プログラム] をポイントし、[管理ツール] をポイントして、[イベント ビューアー] をクリックします。
-
コンソール ツリーで、[ Windows ログ] を展開し、[ システム] をクリックします。
-
詳細ウィンドウで、最新のイベントをスクロールし、イベント 1194 を見つけます。 [ 全般 ] タブでは、エラーの原因としていくつかの原因が提案されます。
-
[ 詳細 ] タブをクリックします。 [EventData] セクションの [フレンドリ ビュー] には、次のようなより具体的なエラー メッセージが表示されます。
このドメインで作成できるコンピューター アカウントの最大数を超えています。
-
-
Cluster.log ファイル内のエントリを確認するには、次の手順に従います。
-
[スタート] をクリックし、[すべてのプログラム] をポイントし、[V2 Windows PowerShell] をポイントし、[ISE Windows PowerShell右クリックして、[管理者として実行] をクリックします。
-
コマンド プロンプトで、次のコマンドレットを実行してクラスター ログを生成します。
Get-ClusterLog
-
メモ帳でCluster.log ファイルを開きます。
-
[ 編集] をクリックし、[メモ帳で 検索 ] をクリックし、" DNS 名> <コンピューター オブジェクトの作成に失敗しました" という文字列を検索します。 結果を確認すると、次のようなメッセージが表示されます。
00000d24.00000dc8::<タイム スタンプ> INFO [RES] ネットワーク名: [<ネットワーク名>] NetUserAdd オブジェクト <DNS 名> サブ ドメイン名: \\Domain name, result: 8557
00000d24.00000dc8::<タイムスタンプ> ERR [RES] ネットワーク名: [<ネットワーク名>] Active Directory でコンピューター オブジェクト <DNS 名> を作成できませんでした。エラー 8557
-
エラーが何を示すかを確認するには、コマンド プロンプトで「Net helpmsg 8557」と入力し、Enter キーを押します。
-
結論問題の原因は、環境内で有効な Active Directory ポリシーに起因すると結論付けることができます。 この特定のケースでは、"ドメインにワークステーションを追加する" ユーザーアクセス許可が割り当てられ、ドメインに最大 10 個のコンピューター アカウントを作成できるドメイン内の認証済みユーザー。 この制限を超えたため、エラー メッセージが表示されます。
SQL Serverでは、Active Directory でのアクセス許可が不十分なため、グループ リスナーを作成できない理由に関する特定の情報を報告できない場合があります。 たとえば、クラスター化されたサービスまたはアプリケーションを作成するときに、クラスター名アカウントには "コンピューター オブジェクトの作成" アクセス許可が必要です。 クラスター名アカウントにこのアクセス許可がない場合、SQL Server可用性グループ リスナーを作成できません。 アクセス許可が不十分なグループ リスナーを作成しようとすると、SQL Serverは、「詳細情報」セクションで説明されている一般的なエラー メッセージ "Msg 19471" と "Msg 19476" のみを報告できます。この問題の原因を見つけるには、Windows システム イベント ログとCluster.log ファイルを確認します。
-
Windows システム イベント ログを確認します。 これを行うには、次の手順に従います。
-
[スタート] をクリックし、[プログラム] をポイントし、[管理ツール] をポイントして、[イベント ビューアー] をクリックします。
-
コンソール ツリーで [ Windows ログ] を展開し、表示するイベントを含む システム ログをクリックします。
-
[ 詳細 ] タブで、最新のイベントをスクロールし、イベント 1194 を見つけます。 [ 全般 ] タブでは、"クラスター ID '<ドメイン ユーザー>' にコンピューター オブジェクトの作成アクセス許可があるなど、エラーの原因としていくつかの理由が提案されています。
-
[ 詳細 ] タブをクリックします。 [EventData] セクションの [フレンドリ ビュー] には、次のようなより具体的なエラー メッセージが表示されます。
指定されたディレクトリ サービスの属性または値が存在しません。
-
-
ファイル内のエントリCluster.log確認します。 この場合、次の手順を実行します。
-
[スタート] をクリックし、[すべてのプログラム] をポイントし、[V2 Windows PowerShell] をポイントし、[ISE Windows PowerShell右クリックして、[管理者として実行] をクリックします。
-
コマンド プロンプトで、次のコマンドレットを実行してクラスター ログを生成します。
Get-ClusterLog
-
メモ帳でCluster.log ファイルを開きます。
-
[ 編集] をクリックし、[メモ帳で 検索 ] をクリックし、"コンピューター オブジェクトの作成に失敗しました <DNS 名>" という文字列を検索します。 結果を確認すると、次のようなメッセージが表示されます。
00000d24.000005f8::<タイムスタンプ> ERR [RES] ネットワーク名: [<ネットワーク名>] Active Directory でコンピューター オブジェクト <DSN 名> を作成できませんでした。エラー 8202
-
エラーが何を示すかを判断するには、コマンド プロンプトで「Net helpmsg 8202」と入力し、Enter キーを押します。
-
結論クラスター名アカウントに、Active Directory ユーザーとコンピューターのコンピューター コンテナーに "コンピューター オブジェクトの作成" アクセス許可が付与されていないと結論付けることができます。
SQL Serverで可用性グループ リスナーを作成するときに Active Directory で十分なアクセス許可を取得する方法の詳細については、次の Microsoft TechNet Web サイトを参照してください。
フェールオーバー クラスターで Active Directory コンピューター アカウントを構成する方法Windows フェールオーバー クラスターを作成する前に、クラスターの作成ウィザードを実行しているドメイン ユーザー アカウントに "コンピューター オブジェクトの作成" アクセス許可があるかどうかをチェックする必要があります。詳細については、前述のガイドの「クラスターをインストールするユーザーのアカウントを構成するための手順」セクションを参照してください。organizationセキュリティ ポリシーで特定のユーザー アカウントにこのアクセス許可を付与できない場合は、Windows フェールオーバー クラスターを作成した後で、ドメイン管理者にクラスター名アカウントに "コンピューター オブジェクトの作成" アクセス許可を付与するように依頼できます。 詳細については、前述の ガイドの「クラスター名アカウントの事前設定手順」セクションを参照してください。高可用性ウィザードを実行する場合、通常は、クラスター化されたサービス、アプリケーション、またはリスナー仮想ネットワーク名のコンピューター アカウントを事前設定していない場合は、アカウントを自動的に作成して構成する方が簡単です。 ただし、organizationの要件のためにアカウントを事前設定する必要がある場合は、前述のガイドの「クラスター化されたサービスまたはアプリケーションのアカウントを構成するための手順」セクションの手順に従ってください。 ノート
-
このセクションで説明する手順を使用するには、ドメイン管理者またはアカウントオペレーターのアクセス許可が必要です。
-
複数のサブネットにわたって可用性グループ リスナーを設定する場合は、レプリカが属する各サブネットから静的 IP アドレスを取得する必要があります。 通常、これを行うには、ネットワーク管理者と話をする必要があります。