SQL Server に接続できません - イベント 3355

 

適用先: SharePoint Foundation 2010, SharePoint Server 2010

トピックの最終更新日: 2009-11-10

アラート名:   SQL Server に接続できません

イベント ID:   3355

概要:   Microsoft SharePoint Foundation 2010 では、Microsoft SQL Server 2008 データベースに Microsoft SharePoint Foundation Web サイトのほとんどのコンテンツと構成設定を格納します。たとえば、サイトのすべてのページ、ドキュメント ライブラリのファイル、リストに添付されたファイル、およびリスト内の情報は、コンテンツ データベースに格納されます。セキュリティとアクセス権の設定その他の構成設定は、SQL Server の構成データベースに格納されます。

SharePoint Foundation 2010 では、ユーザー要求を受けて、サービス アカウントを使用したデータベースとの通信が行われます。サービス アカウントには、特定のユーザー名やパスワード (ドメイン名とパスワード) か、あらかじめ定義されたシステム アカウント (ローカル システム、ネットワーク サービスなど) を使用できます。 SQL Server データベースの作成時に、データベース サイズの最大値が設定されます。データベース サイズ設定は、データベースごとに個別に設定されます。Web アプリケーションは、1 つのデータベースに関連付けられることも、複数のデータベースに関連付けられることもあります。

このエラーは、Microsoft SharePoint Foundation が SQL Server データベースに接続できなかったことを示しています。

現象:   以下の現象のうちの 1 つまたは複数が発生する場合があります。

  • SQL Server との通信の試行が失敗し、SQL Server でホストされているデータベースのコンテンツにアクセスできません。

  • このイベントが、次のようにイベント ログに表示されます。イベント ID: 3355 SQL Server に接続できません。<サーバー名> が見つかりません。SQL Server のエラー情報は、以下を参照してください。

原因:   以下のうちの 1 つまたは複数が原因である可能性があります。

  1. SQL Server がオフラインになっています。

  2. SharePoint Foundation データベース アクセス アカウントに、SQL Server と通信するために必要な権限がありません。

  3. ローカル サーバーまたは SQL Server 上で実行しているファイアウォールが、ネットワーク通信をブロックしています。

解決策:   データベース アクセス アカウントに適切な権限を与えます。

  • この作業を実行するには、ファームの管理者グループのメンバーである必要があります。

    データベース アクセス アカウントを割り当てます。

    1. サーバーの全体管理のホーム ページで [セキュリティ] をクリックし、[一般的なセキュリティ] セクションで [サービス アカウントの構成] をクリックします。

    2. [サービス アカウント] ページの [資格情報の管理] セクションにある上部ボックスの一覧で、Web アプリケーション用の適切な Web アプリケーション プールをクリックします。

    3. [このコンポーネントのアカウントの選択] ボックスの一覧で、この Web アプリケーション プールに関連付けるドメイン アカウントをクリックするか、[新しい管理アカウントの登録] をクリックして、新しいドメイン アカウントをこのアプリケーション プールに関連付けます。

    4. [OK] をクリックして変更を保存します。

    アカウントに SQL Server の適切な権限があることを確認します。

    1. 管理者権限を持つアカウントを使用して、SQL Server を実行するコンピューターに接続します。

    2. SQL Server Management Studio の [オブジェクト エクスプローラー] ナビゲーション ウィンドウで、[セキュリティ] ノード、[ログイン] ノードの順に展開します。データベース アクセス アカウントの名前が、SQL ログインであることを示しています。

    3. アカウントがある場合は、[オブジェクト エクスプローラー] ナビゲーション ウィンドウで、[データベース] ノード、対象の構成データベース ノード、[セキュリティ] の順に展開して、[ロール] をクリックします。

    4. [データベース ロール] ノードを展開し、[db_owner] ロールを右クリックして、[プロパティ] を選択します。

    5. [データベース ロールのプロパティ] ダイアログ ボックスで、データベース アクセス アカウントが [このロールのメンバー] の一覧にあるかどうかを確認します。一覧にない場合は、[追加] をクリックします。

    データベースの問題が解決されたことを確認します。

    1. SharePoint 管理シェルで、Windows PowerShell コマンド Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase を実行して、各 Web アプリケーションのサイトを一覧表示してそれぞれのデータベース内のサイトをすべて表示し、各データベースで 1 つのサイトを特定します。

    2. そのサイトを参照し、適切なページが表示されることを確認します。アクセス拒否ページが、アクセスを要求するオプション、または別のユーザーとしてログオンするオプションと共に表示されたときは、操作が正常に完了しています。

    3. サーバーの全体管理ページのサイド リンク バーで、[アプリケーション構成の管理] をクリックし、[サイト コレクション] セクションで [クォータ テンプレートの指定] をクリックします。

    4. [クォータ テンプレート] ページで、新しいクォータ テンプレートを作成します。この確認テストに特定の設定が関連することはありません。このテンプレートは、手順 7. でアクセスできるかどうかを確認するために作成します。

    5. [OK] をクリックしてクォータ テンプレートを保存します。

    6. ブラウザー ウィンドウを更新し、クォータ テンプレートのページに戻ります。作成したクォータ テンプレートを選択できるときは、Microsoft SharePoint Foundation の SQL Server 2008 構成データベースへのアクセスが復元されています。

    7. [削除] をクリックしてクォータ テンプレートを削除します。