Mergecontentdbs : Stsadm 操作 (Windows SharePoint Services)

説明

sourcedatabasename および destinationdatabasename パラメータが指定されているときに、あるコンテンツ データベースから別のデータベースへのサイト コレクションの移動を許可します。

ソース データベースおよび移動先のデータベースは同じ Microsoft SQL Server のインスタンスにあり、同じ Web アプリケーションに接続されている必要があります。パフォーマンスを最適化するため、1 度に 250 を超えるサイト コレクションを移動しないようにします。1 度に 250 を超えるサイト コレクションを移動すると、パフォーマンスが著しく低下する可能性があります。

注意

mergecontentdbs 操作は、Windows SharePoint Services 3.0 Service Pack 1 で初めて導入されました。

重要

4 月の累積的な更新プログラムは、Stsadm mergecontentdbs 操作に影響する既知の問題を修正します。この問題の詳細については、「STSADM MergeContentDB コマンドがデータベースが破損 Windows SharePoint Services 3.0 で」を参照してください。コンテンツ データベースの結合または分割を計画している場合は、4 月の累積的な更新プログラムをインストールすることをお勧めします。

構文

stsadm -o mergecontentdbs

-url <URL 名>

-sourcedatabasename <ソース データベース名>

-destinationdatabasename <移動先のデータベース名>

[-operation] {1-3}

**      1 - 分析 (既定)**

2 - データベースの完全なマージ

3 - ファイルからの読み取り

[-filename] <stsadm -o enumsites から生成されたファイル>

パラメータ

パラメータ名

必須/省略可能

説明

URL

有効な URL ("http://*server_name*" など)

必須

マージするデータベースを含む Web アプリケーションの URL です。

sourcedatabasename

有効なデータベース名 ("WSS_Content_1" など)

必須

サイト コレクションの移動元のデータベース名です。

destinationdatabasename

有効なデータベース名 ("WSS_Content_2" など)

必須

サイト コレクションの移動先のデータベース名です。

operation

次のいずれかの値です。

  • 1 - 分析

  • 2 - データベースの完全なマージ

  • 3 - ファイルからの読み取り

省略可能

1 - 分析 : コマンド ウィンドウにサイト コレクションの現在の数、データベース サイズ、サイト コレクションの最大数、および各コンテンツ データベースのサイト コレクションの最大数に達する前に追加できるサイト コレクションの数を表示することを示します。

また、データベース内のすべてのサイト コレクションを移動すると仮定した場合に推奨される、ソースに使用するコンテンツ データベースと移動先に使用するコンテンツ データベースがコマンド ウィンドウに表示されます。この推奨は、どのコンテンツ データベースのデータが少ないか (つまり、移動の速度が速いか) に基づいています。

これが既定値です。

2 - データベースの完全なマージ : コンテンツ データベース全体を 1 つのデータベースから別のデータベースにマージします。操作が完了しても、ソースのコンテンツ データベースは Microsoft SQL Server に残り、Web アプリケーションに接続されたままです。ただし、このコンテンツ データベースにはサイト コレクションが含まれなくなります。

3 - ファイルからの読み取り : サイト コレクションのサブセットのみがソース データベースから移動先のデータベースに移動します。移動対象のサイト コレクションは、filename パラメータで指定されるファイルに含まれている必要があります。

filename

有効なファイル名 ("sites.xml" など)

省略可能

ソース コンテンツ データベースで、移動先のデータベースに移動する特定のサイト コレクションを指定します。

この情報は、Enumsites 操作の databasename パラメータを使用して取得されます。

Note メモ
databasename パラメータは、Windows SharePoint Services 3.0 Service Pack 1 で初めて導入されました。
Note メモ
リダイレクト演算子 ">" を使用すると、enumsites 操作の XML 出力をテキスト ファイルに取り込むことができます。

備考

Stsadm mergecontentdbs 操作を実行する前に、次のことを行う必要があります。

データベース間でサイト コレクションを移動するには、ファーム管理者グループおよびローカル管理者グループ両方のメンバであり、移動に必要なすべてのサイト コレクションに対して付与されているフル コントロールのアクセス許可が必要です。このアクセス許可を付与するには、[サーバーの管理] で、[アプリケーション構成の管理]、[アプリケーション セキュリティ]、[Web アプリケーションのポリシー] の順にクリックします。この手順を実行するために使用するアカウントは、SQL サーバーの db_owner 固定データベース ロールのメンバである必要があります。

サイトの移動が成功したら、[Web アプリケーションのポリシー] ページを使用してアカウントのアクセス許可レベルを削除または変更します。アカウントが他のサービスで使用されている場合、元のアクセス許可のレベルに再設定されます。

操作を実行するための適切な権限がない場合は、次のエラー メッセージが表示されます。"Moving sites... /sites/test には、既に他のサイトが存在します。このサイトを削除してから、同じ URL の新しいサイトを作成するか、別の URL を選択してください。または、指定した元のパスに新しい管理対象パスを追加してください。"

移動が完了したら、ファーム内の各フロントエンド Web サーバーで iisreset /noforce コマンドを実行する必要があります。大量のデータを移動した場合は、SQL データベースとトランザクション ログを圧縮することもできます。SQL データベースの圧縮の詳細については、「データベースを圧縮する方法 (SQL Server Management Studio)」(https://go.microsoft.com/fwlink/?linkid=102959&clcid=0x411) を参照してください。

filename パラメータを使用したコンテンツ データベースのマージ

この例では、WSS_Content_1 および WSS_Content_2 はコンテンツ データベース名です。

リダイレクト演算子 ">" を使用して sites.xml ファイルにサイトのリストを作成するには、以下の構文を使用します。

stsadm -o enumsites -url http://<servername> –databasename WSS_Content_1 > sites.xml

注意

リダイレクト演算子 ">" によって、出力が sites.xml という名前のテキスト ファイルにリダイレクトされます。その後、sites.xml ファイルを編集して、移動する必要のあるサイト コレクションのリストを作成することができます。

sites.xml ファイルで指定したサイト コレクションを 1 つのコンテンツ データベースから別のコンテンツ データベースに移動するには、以下の構文を使用します。

stsadm -o mergecontentdbs -url http://<サーバー名> -sourcedatabasename WSS_Content_1 -destinationdatabasename WSS_Content_2 -operation 3 -filename sites.xml

注意

operation パラメータの数字 "3" は、"ファイルからの読み取り" に相当します。

サイト コレクションを移動したら、変更をファーム内のすべてのフロントエンド Web サーバーに確実に反映するため、コマンド プロンプトから以下のコマンドを実行します。

iisreset /noforce

関連項目

その他のリソース

STSADM MergeContentDB コマンドがデータベースが破損 Windows SharePoint Services 3.0 で