コンテンツの移行の概要
最終更新日: 2009年11月4日
適用対象: SharePoint Foundation 2010
コンテンツ移行 API は、SharePoint Foundation Web サイト間でコンテンツを移行するための、シンプルでありながら柔軟性を備えたソリューションを提供します。コンテンツを SharePoint サイトから、依存関係 (たとえば、セキュリティ、ロール、バージョン管理、およびその他のメタデータ) と共に、単一または複数の XML フォーマットのファイル (コンテンツ移行パッケージと呼びます) にエクスポートできます。パッケージ化されたデータは、移行先の Web サイトにインポートするときに抽出され、解釈されます。コンテンツ移行パッケージは、別のサーバーに移行する前にファイル サーバーに保存することもできます。
オブジェクト モデルは、Web サイト全体からリストやライブラリに含まれるアイテムに至るさまざまなデータを操作できるように設計されています。移行するコンテンツについて、含めるメタデータのレベルを選択できるのに加え、完全移行を実行するか、または変化の増分のみを移行するかを選択できます。
コンテンツ移行 API を使用するシナリオとして次のようなシナリオがよくあります。
開発サーバーからステージング サーバーへ、およびステージング サーバーから実稼働サーバーへのコンテンツの発行。発行プロセスを手動で開始することも、スケジュールされたジョブとして実行することもできます。
エンド ユーザーがサイトからリストやコンテンツをエクスポートしたり、エクスポートした内容を元のサーバー ファームの内部または外部の別のサーバーに手動でインポートできるようにする。
サードパーティ製のコンテンツ管理ソリューションやグループ作業ソリューションによって、発行済みの XML スキーマとしてデータを生成したり、インポート機能を使用してコンテンツを SharePoint Foundation に移行したりできるようにする。
SharePoint Foundation Web サイトへのインポートのために Volume Shadow Copy Service (VSS) 復元データからコンポーネントを選択する。
一言で言うなら、コンテンツ移行 API を使用することで、適切なコンテンツを適切な場所から適切なタイミングで正しい移行先に移すことができます。
コンテンツ移行 API の使用が適さない場合
コンテンツ移行 API はコンテンツを元の場所から特定の場所に移動するために設計されており、バックアップや復元の目的では設計されていません。データのバックアップと復元に関する、コンテンツ移行 API の制約について、その一部を次に示します。
構成データおよびアプリケーション データのエクスポートとインポートができない。
エクスポート可能な最も大きなオブジェクトは SharePoint Foundation サイト (SPWeb オブジェクト) である。
通知、監査記録、変更ログ履歴、チェックインまたはチェックアウトの状態、ゴミ箱のアイテム、ゴミ箱の状態、セキュリティの状態、ワークフローのタスク、ワークフローの状態は、エクスポートもインポートもできません。
注意
通知は独立して動作します。移行元と移行先のどちらにおいても、上書き、追加、削除されません。
Web パーツは、移行元と移行先の場所の間を移行しますが、アセンブリは移行しません。カスタム Web パーツがある場合は、カスタム Web パーツが正常に動作するようにするため、移行先の場所に DLL をインストールする必要があります。
SharePoint Foundation 環境でのバックアップと復元にはいくつかのオプションがあります。個々の要件に基づいて最も適した方法を選択できます。バックアップと復元のオプションの詳細については、「バックアップと復元」を参照してください。
コンテンツ移行 API の利用手段
コンテンツ移行 API を呼び出すには次の 3 つの方法があります。
Windows PowerShell
Windows PowerShell を使用して、インポートとエクスポートの操作を行ってデータを移行できます。ただし、この方法ではサイト オブジェクトのスコープ内でしか移行できません。さらに、一部のシナリオで必要になる可能性がある GUID を保持する方法がありません。
SOAP
Sites Web サービスで実装されている ExportWeb(String, String, String, Boolean, Boolean, Boolean, Int32) メソッドおよび ImportWeb(String, String, String, Boolean, Boolean, Boolean, Int32) メソッドを使用して、リモート サーバーからデータを移行できます。ただし、Stsadm.exe の場合と同様、Web サイトのスコープ内でしか移行できません。また、一部のシナリオでは要件となる可能性がある GUID を保持することもできません。
Content Migration object model
オブジェクト モデルは、データ移行のシナリオにおいて最も重要な役割を果たします。オブジェクト モデルを使用することで、Web サイトからリスト内のアイテムやライブラリ内の 1 個のドキュメントに至るまで、あらゆるものを移行できます。セキュリティやバージョン管理、ユーザー ロール、移行するオブジェクトに関連するその他のメタデータについての情報を含めるかどうかを選択できます。コンテンツ移行オブジェクト モデルは Microsoft.SharePoint.Deployment 名前空間に実装されます。
このセクションのトピックは、コンテンツ移行オブジェクト モデルの使用に重点を置いています。Windows PowerShell の詳細については、『SharePoint Foundation Administration Guide』を参照してください。Web サービスの使用の詳細については、前述した ExportWeb(String, String, String, Boolean, Boolean, Boolean, Int32) メソッドと ImportWeb(String, String, [], String, Boolean) メソッドに加え、「ASP.NET Web サービス」を参照してください。
関連項目
参照
SitesExportWeb(String, String, String, Boolean, Boolean, Boolean, Int32)
SitesImportWeb(String, String, [], String, Boolean)