データベース間でサイト コレクションを移動する (SharePoint Server 2010)
適用先: SharePoint Foundation 2010, SharePoint Server 2010
トピックの最終更新日: 2011-03-22
状況によっては、1 つまたは複数のサイト コレクションを別のコンテンツ データベースに移動することが必要になる場合があります。たとえば、サイト コレクションが現在のコンテンツ データベースより大きくなる可能性が発生したために、より大きなコンテンツ データベースに移動する必要がある場合などです。Microsoft Office SharePoint Server 2007 では、この操作のことを、使用する Stsadm コマンドの名前にちなんでコンテンツ データベースの "分割" と呼んでいました。Microsoft SharePoint Server 2010 では、より正確な表現に改め、"大きなデータベースへのサイト コレクションの移動" と呼びます。
一方、サイト コレクションのサイズが予想したほど増大しないときは、複数のサイト コレクションを 1 つのコンテンツ データベースにまとめると便利な場合もあります。Office SharePoint Server 2007 では、この操作のことをコンテンツ データベースの "結合" と呼んでいました。実際にはこの操作によってコンテンツ データベースを結合するのではなく、複数のサイト コレクションを 1 つの新しいデータベースに移動して統合します。
ここでは、サイト コレクションをコンテンツ データベース間で移動する方法とそのための準備について説明します。
Stsadm コマンドライン ツールまたは Windows PowerShell 2.0 コマンドを使用して、サイト コレクションをコンテンツ データベース間で移動できます。この操作を行うためのグラフィカル ユーザー インターフェイスはありません。
ヒント
バックアップと復元の操作を使用してサイト コレクションを移動することもできます。具体的な方法については、「サイト コレクションをバックアップする (SharePoint Server 2010)」および「サイト コレクションを復元する (SharePoint Server 2010)」を参照してください。
この記事で説明する操作を実行するために、Windows PowerShell 2.0 が実行されているサーバーの 1 台にアクセスする権限がユーザー アカウントにあり、そのユーザー アカウントが以下のグループのメンバーであることを確認してください。
SQL Server の移動元コンテンツ データベース、管理コンテンツ データベース、移動先コンテンツ データベース、および構成データベースに対する db_owner 固定データベース ロールおよび SharePoint_Shell_Access ロール
ローカル コンピューターの WSS_ADMIN_WPG グループ
これらの操作を正常に行うには、以下の条件を満たす必要があります。
移動先コンテンツ データベースが既に存在すること。
移動元コンテンツ データベースと移動先コンテンツ データベースが同じ SQL Server インスタンスに存在すること。
移動元コンテンツ データベースと移動先コンテンツ データベースが同じ Web アプリケーションに接続されていること。コンテンツ データベースを Web アプリケーションに追加する方法については、「コンテンツ データベースを追加する (Office SharePoint Server 2010)」を参照してください。
この記事の内容
移動元サイト コレクションのサイズを確認する
どのような理由でサイト コレクションを移動する場合でも、最初に行う作業は、移動するサイト コレクションのサイズを確認することです。これは、移動先のハード ディスクにサイト コレクションのコンテンツを格納する十分な容量があることを確認するために必要な情報です。移動先のハード ディスクに、サイト コレクションの格納に必要な容量の少なくとも 3 倍の空き領域があることを確認してください。
ヒント
サイト クォータの作成と電子メール通知を使用して、サイト コレクションで使用される容量の現状を追跡できます。
移動元サイト コレクションのサイズを確認するには
[スタート] メニューの [すべてのプログラム] をクリックします。
[SharePoint 2010 製品] をクリックします。
[SharePoint 2010 管理シェル] をクリックします。
Windows PowerShell 2.0 コマンド プロンプトで、以下のコマンドを入力します。
$used = (Get-SPSiteAdministration -Identity <https://ServerName/Sites/SiteName>).DiskUsed $used
<https://ServerName/Sites/SiteName> にはサイト コレクションの名前を指定します。指定したサイト コレクションで使用されるディスク容量が $used 変数に格納され、2 番目のコマンドの実行によってコマンド プロンプトに表示されます。
詳細については、「Get-SPSiteAdministration」を参照してください。
サイト コレクションをコンテンツ データベース間で移動する
Windows PowerShell コマンド Move-SPSite を使用して、サイト コレクションをコンテンツ データベース間で移動できます。ここでは、2 つの方法について説明します。最初の方法では、単一のサイト コレクションを新しいコンテンツ データベースに移動し、もう一方の方法では、複数のサイト コレクションを新しいコンテンツ データベースに移動します。
単一のサイト コレクションを移動するには
Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。
Move-SPSite <https://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>
<https://ServerName/Sites/SiteName> にはサイト コレクションの名前を指定し、<DestinationContentDb> には移動先コンテンツ データベースの名前を指定します。
複数のサイト コレクションを移動するには
Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。
Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>
<SourceContentDb> には元のコンテンツ データベースの名前を指定し、<DestinationContentDb> には移動先コンテンツ データベースの名前を指定します。このコマンドを実行すると、すべてのサイト コレクションが移動元コンテンツ データベースから移動先コンテンツ データベースに移動されます。
詳細については、「Move-SPSite」を参照してください。
注意
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。