適切な SQL Server データベース権限がありません - イベント 5214

 

適用先: SharePoint Foundation 2010, SharePoint Server 2010

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

アラート名:   適切な SQL Server データベース権限がありません

イベント ID:   5214

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

SharePoint Foundation では、ユーザー要求を受けて、サービス アカウントを使用したデータベースとの通信が行われます。サービス アカウントには、特定のユーザー名とパスワード (ドメイン名とパスワード) か、あらかじめ定義されたシステム アカウント (ローカル システム、ネットワーク サービスなど) を使用できます。このエラーは、SharePoint Foundation で指定したサービス アカウントが、SQL Server データベースに対する十分な権限を与えられていない場合に発生します。

現象:   次の現象が発生する可能性があります。

  • このイベントが、次のようにイベント ログに表示されます。イベント ID: 5214 SQL Server インスタンス <インスタンス名> のデータベース <データベース名> で、ユーザー '<ユーザー名>' に適切な SQL データベース権限がありません。SQL Server のエラー情報は、以下を参照してください。

原因:   次の 1 つ以上の問題が原因である可能性があります。

  • SharePoint Foundation に設定されているサービス アカウントに、接続を試行しているデータベースに対して必要な権限がありません。

  • サービス アカウントが SharePoint Foundation に適切に設定されていません。

注意

次のタスクを実行するには、ファームの管理者 SharePoint グループのメンバーである必要があります。

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

  • この問題を解決するには、データベース アクセス アカウントを割り当てて、SQL Server の適切な権限があることを確認します。

    データベース アクセス アカウントを割り当てるには

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

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

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

      注意

      SharePoint Foundation および SQL Server を同じコンピューター上で実行している場合にのみ、Web アプリケーション プールのローカル アカウントを使用できます。

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

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

    1. SQL Server 管理者権限を持つアカウントを使用して、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. そのサイトをブラウザーで開きます。