SharePoint 構成エラーのトラブルシューティング: server_name のデータベース マスターに接続できない

SharePoint 構成エラーのトラブルシューティング: server_name のデータベース マスターに接続できない

皆様、こんにちは。SharePoint Server IT Pro チームで新しくライターを務める Reagan Templin と申します。最近になってようやく自分のテスト環境に SharePoint Server 2010 をセットアップしました。SQL Server と SharePoint Server は別々のコンピューターで稼働しています。そうした環境で、 SharePoint 製品構成ウィザードを実行しました。すると、[構成データベースの設定] (Specify Configuration Database Settings) ページで、次のエラーが発生しました。

"<サーバー名> の SQL サーバーにあるデータベース マスターに接続できません。データベースが存在しないか、現在のユーザーに接続する権限がない可能性があります。"(Cannot connect to database master at SQL Server at <server_name>. The database might not exist, or the current user does not have permission to connect to it.)

このエラーは、一般的には、SharePoint の構成で使用しているアカウントの権限不足によって SQL Server コンピューターに接続できず、構成を完了できないことを示しています。そこで、SQL Server コンピューターに戻って、自分の SharePoint の管理者アカウントに正しいサーバー ロールが割り当てられていることと、マスター データベースが存在することを確認しました。また、SharePoint Server コンピューターに SharePoint の管理者アカウントでログインしていることも確認しました。したがって、本来であれば、構成を続行できるはずですが、構成は中断してしまい、問題解決に時間を費やすことになりました。 最終的には、ファイアウォールで、SQL Server データベース エンジンのインスタンスが使用するポートへのアクセスがブロックされていたのが原因であるとわかりました。

次に、環境を構成するためにどのような操作を行い、どのような方法でエラーを解決したかについてまとめます。同じエラーが発生した場合の解決にお役立ていただけると幸いです。

仮想マシンの作成

ここでは、Hyper-V を使用して仮想マシンをホストしています。2 つの新しい仮想マシンを作成しました。1 つは SQL Server コンピューター用、もう 1 つは SharePoint Server コンピューター用です。Windows Server 2008 R2 Enterprise エディション (64 ビット) を両方のコンピューターにインストールしました。Windows をアクティブにし、更新プログラムをインストールして、それをテスト ドメイン contoso に参加させました。次に、Hyper-V のスナップショットを取得してイメージを保管してから、その他のインストールや構成を行うことにしました。

アカウントと権限の構成

「管理アカウントおよびサービス アカウント (SharePoint Server 2010)」(https://technet.microsoft.com/ja-jp/library/ee662513.aspx) と「Least Privilege Service Accounts for SharePoint 2010」(https://www.sharepointproconnections.com/article/sharepoint/Least-Privilege-Service-Accounts-for-SharePoint-2010.aspx (英語)) の情報に従って、適切なアカウントをドメインに設定し、それらのアカウントに、その環境内で最小限の特権管理用として推奨されるアクセスを付与します。

上記の情報に基づいて、次のドメイン アカウントを、ドメイン コントローラー コンピューターの Active Directory ドメイン サービスに設定しました。

  •  contoso\reagant – 私の個人用ドメイン アカウント。このアカウントを使用して SQL Server コンピューターにログインし、インストールと構成を行いました。このアカウントは、SQL Server コンピューターのローカルの Administrators グループのメンバーであるほか、contoso ドメインの一部でもあります。
  • contoso\SQLsvc – SQL Server サービス アカウント。このアカウントは、SQL Server のインストール中に MSSQLSERVER サービスと SQL Server エージェント サービスに指定します。
  •  contoso\SPadmin – SharePoint の管理者アカウント。このアカウントを使用して SharePoint Server コンピューターにログインし、SharePoint Server 2010 のインストールと構成を行いました。このアカウントは、SharePoint Server コンピューターのローカルの Administrators グループのメンバーです。SQL Server では、このアカウントは、dbcreator および securityadmin サーバー ロールを持つ SQL Server のログインでもあります。このログインを使用して、SharePoint 製品構成ウィザードで SharePoint を実行および構成できます。
  • contoso\SPfarm – SharePoint ファームのアカウント。このアカウントは、SharePoint 製品構成ウィザードの [構成データベースの設定] (Specify Configuration Database Settings) ページで SharePoint ファームの管理者 (また、データベース アクセス アカウントとも呼ばれます) として指定します。

SQL Server 2008 R2 のインストールと構成

SQL Server コンピューターに自分の個人用アカウントでログインし、SQL Server 2008 R2 をインストールします。MSSQLSERVER および SQL Server エージェント サービスに SQLsvc ドメイン アカウントの資格情報を指定し、自分の個人用アカウントを SQL Server データベース エンジンの管理者として追加しました。その後、SQL Server セットアップ プロセスを完了しました。

SQL Server セットアップに従って、SQL Server Management Studio を開いて、SQL Server データベース エンジンの既定のインスタンスに接続しました。SPadmin ドメイン アカウント用の SQL Server ログインを作成し、そのログインに dbcreator および securityadmin サーバー ロールへのアクセスを付与しました。その後、SQL Server Management Studio を閉じました。

SharePoint Server 2010 のインストール

SharePoint Server コンピューターに SPadmin としてログインし、SharePoint Server 2010 の前提条件をインストールしてから、SharePoint Server 2010 セットアップを実行しました。

SharePoint 製品構成ウィザードの実行

SharePoint Server 2010 セットアップに従って、SharePoint 製品構成ウィザードを実行しました。新しいサーバー ファームを作成するオプションを選択しました。[構成データベースの設定] (Specify Configuration Database Settings) ページで、SQL Server コンピューターの名前、構成データベースの名前、および SPfarm ドメイン アカウントの資格情報を指定しました。ところが、[次へ] (Next) をクリックしたときに、"<サーバー名> の SQL サーバーにあるデータベース マスターに接続できません。データベースが存在しないか、現在のユーザーに接続する権限がない可能性があります。" (Cannot connect to database master at SQL Server at <server_name>. The database might not exist, or the current user does not have permission to connect to it) というエラーが発生しました。

これまでの操作を振り返り、SQL Server が正しくインストールされていること、アカウントと権限が正しく構成されていることを確認しました。その後の試行錯誤の結果、以前、別の製品で経験したある問題のことを思い出しました。それは、SQL Server をインストールしたコンピューターの Windows ファイアウォールで、SQL Server データベース エンジンのインスタンスを実行するポートへのトラフィックがブロックされるというものでした。既定で、SQL Server はポート 1433 で実行され、今回使用したシンプルなテスト環境でも SQL Server を既定のポートで実行するように構成していました。そこで、SQL Server をインストールしたコンピューターで、セキュリティが強化された Windows ファイアウォール (Windows Firewall with Advanced Security) を開き、ポート 1433 のトラフィックを許可する受信ルールを追加しました。既定のポートを使用しない場合は、その環境で使用するポートの受信ルールを作成してください。

再度、SharePoint 製品構成ウィザードを実行しました。今度は、エラー メッセージが表示されることはなく、構成を続行できました。Windows ファイアウォールを SQL Server に対して構成する方法の詳細については、"データベース エンジン アクセスを有効にするための Windows ファイアウォールの構成方法" (https://technet.microsoft.com/ja-jp/library/ms175043.aspx) を参照してください。

これはローカライズされたブログ投稿です。原文の記事は、「Troubleshooting SharePoint configuration error: Cannot connect to database master at server_name」をご覧ください。