SharePoint Server で読み取り専用データベースを使用するファームを実行する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
Microsoft PowerShell ツールまたは SQL Server ツールを使用すると、SharePoint Server データベースを読み取り専用に設定できます。 使用するツールは、展開した環境の種類、スケジュールの要件、および組織とのサービス レベル契約に応じて異なります。
はじめに
この操作を開始する前に、読み取り専用ファームを作成する設定に関する以下の情報を確認してください。
次のどちらかが該当する場合、ファームは読み取り専用と見なされます。
すべてのコンテンツ データベースが読み取り専用に設定されている
サービス アプリケーション データベースが読み取り専用に設定されている
注:
Search service アプリケーションのデータベースが読み取り専用に設定されていると、Search service アプリケーションは機能しません。
読み取り専用ファームの機能とユーザー エクスペリエンスは、どのデータベースが読み取り専用に設定されているかによって異なります。
注:
読み取り専用のコンテンツ データベースおよびサービス アプリケーション データベースを使用するファームは、障害復旧環境または高可用性の保守、更新、またはアップグレード環境の一部になる可能性があります。
読み取り専用サイトまたはファームについてユーザーの理解を得る
読み取り専用サイトまたはファームにユーザーがアクセスできるようにする場合は、そのサイトでユーザーが実行できる操作と、ユーザー インターフェイス (UI) の動作を事前に確認しておく必要があります。
読み取り専用コンテンツ データベースを使用するサイト
読み取り専用に設定されているコンテンツ データベースを使用するサイトのユーザー エクスペリエンスには、次のような特徴があります。
ホーム ページの最上部には、サイトが読み取り専用であることが示されます。
一般的なタスクで、コンテンツ データベースへの書き込みが不要なものは、完全に使用できます。
一般的なタスクで、コンテンツ データベースへの書き込みが必要なものは使用できません。これは、そのタスクの UI が使用できないか、ユーザーが変更を適用してタスクを完了できないからです。
コンテンツ データベースへの書き込みが必要な一般的なタスクの中には、使用できるように見えるものがありますが、こうしたタスクを実行するとエラーが返されます。
読み取り専用サービス アプリケーション データベースを使用するファーム
読み取り専用に設定されているサービス アプリケーション データベースを使用するファームのユーザー エクスペリエンスには、次のような特徴があります。
一般的なタスクで、サービス データベースへの書き込みが不要なものは、完全に使用できます。
サービス データベースへの書き込みが必要な一般的なタスクすべてが使用できるように見えますが、こうしたタスクを実行するとエラーが返されます。
コンテンツ データベースを読み取り専用に設定する
コンテンツ データベースを読み取り専用に設定する前に、特定のサイト コレクションに関連付けられているコンテンツ データベースを確認しなければならない場合があります。
PowerShell を使用してサイト コレクションに関連付けられているコンテンツ データベースを確認するには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell アクセス許可の詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルを起動します。
PowerShell コマンド プロンプトで、次のコマンドを入力します。
Get-SPContentDatabase -Site <Site URL>
詳細は次のとおりです。
- <Site URL> is the site collection URL for which you want to know the associated content database.
このコマンドによって、そのサイトに関連付けられているコンテンツ データベースが返されます。
詳細については、「Get-SPContentDatabase」を参照してください。
注:
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。 Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。
この手順では、SQL Server Management Studio を使用して、読み取り/書き込み可能なコンテンツ データベースを読み取り専用に設定します。
Transact-SQL ALTER DATABASE
ステートメントを使用して、コンテンツ データベースを読み取り専用に設定することもできます。 詳細については、「 ALTER DATABASE (Transact-SQL)」を参照してください。
重要
ログ配布またはミラー化されたフェールオーバー環境のデータベースに対しては、この手順を実行しないでください。 ログ配布またはミラー化されたフェールオーバー環境データベースが読み取り専用に設定されている場合、更新は実行されず、バックアップが無効になります。
SQL Server を使用してコンテンツ データベースを読み取り専用に設定するには
この手順を実行するユーザー アカウントが、各データベースで db_owner 固定データベース ロールのメンバーであることを確認します。
SQL Server Management Studio を起動します。
読み取り専用にするコンテンツ データベースを右クリックし、[ プロパティ] をクリックします。
[ オプション] ページを選択し、[ その他のオプション] ボックスの一覧を [ 状態] セクションまでスクロールします。
[ 読み取り専用データベース] 行で、[ False] の横にある矢印をクリックして [ True] を選択し、[ OK] をクリックします。
他のすべてのコンテンツ データベースに対して、この手順を繰り返します。
注:
データベースを読み取り専用に設定すると、読み取り専用フラグを設定する接続を除くすべての接続が停止します。 読み取り専用フラグの設定が完了すると、他の接続が有効になります。
読み取り専用コンテンツ データベースに関連付けられたサイト コレクションの前のロック状態が [ロックなし]、[コンテンツの追加不可]、または [読み取り専用] の場合は、そのサイト コレクションは自動的に読み取り専用に設定されます。 サイト コレクションの当初のロック状態が [アクセスなし] の場合は、データベースのロック状態が変更されても、サイト コレクションのロック状態は [アクセスなし] のままです。
サービス アプリケーション データベースを読み取り専用に設定する
任意のサービス アプリケーション データベースを読み取り専用に設定できます。 ただし、Search や Project Server に関連付けられているサービス アプリケーションなど、一部のサービス アプリケーションは、サービス アプリケーション データベースを読み取り専用に設定すると機能しなくなります。
SQL Server を使用してサービス アプリケーション データベースを読み取り専用に設定するには
この手順を実行するユーザー アカウントが、各データベースで db_owner 固定データベース ロールのメンバーであることを確認します。
SQL Server Management Studio を起動します。
読み取り専用にするデータベースを右クリックし、[ プロパティ] をクリックします。
[ オプション] ページを選択し、[ その他のオプション] ボックスの一覧を [ 状態] セクションまでスクロールします。
[ 読み取り専用データベース] 行で、[ False] の横にある矢印をクリックして [ True] を選択し、[ OK] をクリックします。
必要に応じて、他のサービス アプリケーション データベースについて、この手順を繰り返します。
注:
データベースを読み取り専用に設定すると、読み取り専用フラグを設定する接続を除くすべての接続が停止します。 読み取り専用フラグの設定が完了すると、他の接続が有効になります。