データベースを移行する

この記事の内容 :

  • はじめに

  • 前のバージョンのデータベースを読み取り専用に設定する

  • SQL Server ツールを使用して前のバージョンのデータベースをバックアップする

  • バックアップ コピーを新しいファームに復元する

  • データベースを Web アプリケーションに追加する

  • アップグレード ログ ファイルで問題がないかどうかを確認する

  • 残りのデータベースについても復元と追加の手順を繰り返す

データベースを移行してアップグレードする場合は、原則的にデータベースのバックアップと復元を実行します。つまり、古いファームでデータベースをバックアップして、新しいファームで復元します。データベースを復元してファームに追加するときに、アップグレード プロセスを実行してデータベース全体をアップグレードします。データベースの移行プロセスは、一括アップグレード プロセスとほぼ同じです。異なるのは、データベースの移行プロセスは手動で段階的に行うことです。

データベースは、Microsoft Office SharePoint Portal Server 2003 または Microsoft Windows SharePoint Services 2.0 から新しい Microsoft Office SharePoint Server 2007 環境に移行できます。どちらのソースの場合でも、データベースをセットアップし、新しい環境に接続する手順は同じです。ただし、Windows SharePoint Services 2.0 では、移行の必要があるのはコンテンツ データベースのみです。他の種類のデータベースを移行する必要はありません。

新しい環境を設定し終えたら、以下の手順を実行して、アップグレード対象のデータベースを切断してから再接続します。

はじめに

データベースのバックアップと移行を行う前に、以下の手順を実行してアップグレードの準備をする必要があります。

  1. 元の環境のコンテンツに対し、アップグレード前のスキャン ツールを実行する必要があります。データベースをバックアップする前にアップグレード前のスキャン ツールを実行しておかないと、データを新しいサーバー ファームでアップグレードできません。SharePoint Portal Server 2003 環境をスキャンする際には、構成ファイルのオプションを使用してください。詳細については、「アップグレード前のスキャン ツールを実行する (Office SharePoint Server)」を参照してください。

  2. 新しいサーバー ファーム環境を作成します。新しい環境の作成の詳細については、「新しい Microsoft Office SharePoint Server 2007 環境を準備する」を参照してください。

  3. 古い環境にカスタム サイト定義または領域定義がある場合は、新しいサイト定義を作成し、これらのサイト定義の定義ファイルをアップグレードして新しい環境に展開します。詳細については、以下のリソースを参照してください。

前のバージョンのデータベースを読み取り専用に設定する

環境の現在の状態を復元およびアップグレードするため、すべてのデータがバックアップに含まれることを確認します。そこで、前のバージョンのデータベースを読み取り専用に設定して、ユーザーがサイトで情報を追加したり変更したりできないようにします。データベースを読み取り専用に設定すると、コンテンツは引き続き表示できますが、コンテンツの追加と変更はできなくなります。

重要

これらの手順を実行する前に、データベースに格納されているサイトに対してアップグレード前のスキャン ツールを実行していることを確認してください。データベースをバックアップする前にデータに対してアップグレード前のスキャン ツールを実行しておかないと、新しいサーバー ファームでデータをアップグレードできません。詳細については、「アップグレード前のスキャン ツールを実行する (Office SharePoint Server)」を参照してください。

SQL Server 2000 でデータベースを読み取り専用に設定する

  1. Microsoft SQL Server Enterprise Manager で、読み取り専用に設定するデータベースの名前を右クリックし、[プロパティ] をクリックします。

  2. [プロパティ] ダイアログ ボックスの [オプション] タブをクリックします。

  3. [アクセス] の [読み取り専用] チェック ボックスをオンにし、[OK] をクリックします。

SQL Server 2005 でデータベースを読み取り専用に設定する

  1. SQL Server Management Studio で、読み取り専用に設定するデータベースの名前を右クリックし、[プロパティ] をクリックします。

  2. [ページの選択] セクションで、[オプション] をクリックします。

  3. 右側のウィンドウの [その他のオプション] の [状態] セクションで、[読み取り専用データベース] の横の下矢印をクリックし、[True] を選択します。

SQL Server ツールを使用して前のバージョンのデータベースをバックアップする

適切な手順を実行して SQL Server 2000 または SQL Server 2005 のデータベースをバックアップします。サーバー ファーム内にある以下の各種データベースごとに、この手順を繰り返します。

  • サイト

  • コンテンツ

  • ユーザー プロファイル

構成データベースやコンポーネント設定 (検索) データベースは、新しいサーバー ファームで再作成することになるので、バックアップ不要です。SharePoint Portal Server 2003 サーバー ファームで使用できるデータベースの種類の詳細については、「SQL Server で完全バックアップを実行およびテストする (Office SharePoint Server)」を参照してください。

SQL Server 2000 のデータベースをバックアップする

  1. データベース サーバーで、[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft SQL Server] をポイントし、[Enterprise Manager] をクリックします。

  2. SQL Server Enterprise Manager で、[Microsoft SQL Servers] の隣にあるプラス記号 (+) をクリックします。

  3. [SQL Server グループ] の隣にあるプラス記号 (+) をクリックします。

  4. [(local) (Windows NT)] の隣にあるプラス記号 (+) をクリックします。

  5. [データベース] の隣にあるプラス記号 (+) をクリックします。

  6. バックアップするデータベースを右クリックして [すべてのタスク] をポイントし、[データベースのバックアップ] をクリックします。

  7. [SQL Server バックアップ] ダイアログ ボックスの [名前] ボックスでバックアップ名を指定し、[バックアップ] 領域で [データベース - 完全] を選択します。

  8. [バックアップ先] 領域で既存のバックアップ先を選択します。または、

    1. [追加] をクリックします。

    2. [バックアップ先の選択] ボックスで [ファイル名] を選択し、[ファイル名] ボックスの隣の [参照] ボタンをクリックします。

    3. [バックアップ デバイスの場所 - (ローカル)] ダイアログ ボックスで、[ファイル名] ボックスにファイル名を入力し、[OK] をクリックします。

    4. もう一度 [OK] をクリックして [バックアップ先の選択] ダイアログ ボックスを閉じます。

  9. [OK] をクリックして、バックアップ処理を開始します。

  10. [OK] をクリックして、バックアップ処理の完了を確認します。

これらの手順を繰り返し、環境内の SharePoint Portal Server 2003 で使用されているデータベースをバックアップします。ただし、構成データベースとコンポーネント設定 (検索) データベースは除きます。

SQL Server 2005 のデータベースをバックアップする

  1. データベース サーバーで、[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft SQL Server 2005] をポイントし、[SQL Server Management Studio] をクリックします。

  2. [サーバーに接続] ボックスに接続情報を入力し、[接続] をクリックします。

  3. SQL Server 2005 データベース エンジンの該当するインスタンスに接続した後、[オブジェクト エクスプローラ] でサーバー名の隣にあるプラス記号 (+) をクリックし、サーバー ツリーを展開します。

  4. [データベース] を展開し、バックアップするデータベースを右クリックして [タスク] をポイントし、[バックアップ] をクリックします。[データベースのバックアップ] ダイアログ ボックスが表示されます。

  5. [ソース] セクションの [データベース] ボックスでデータベース名を確認します。

  6. [バックアップの種類] ボックスで [完全] を選択します。

  7. [バックアップ コンポーネント] で [データベース] を選択します。

  8. [バックアップ セット] セクションの [名前] ボックスで、既定のバックアップ セット名を使用するか、別のバックアップ セット名を入力します。

  9. [バックアップ先] セクションで、[ディスク] または [テープ] を選択してバックアップ先の種類を指定し、バックアップ先を指定します。別のバックアップ先を作成するには、[追加] をクリックします。

  10. [OK] をクリックして、バックアップ処理を開始します。

上記の手順を繰り返し、環境内の SharePoint Portal Server 2003 で使用されているデータベースをバックアップします。ただし、構成データベースとコンポーネント設定 (検索) データベースは除きます。

バックアップ コピーを新しいファームに復元する

新しい環境を構成し終えたら、データベースのバックアップ コピーを復元できます。1 つのデータベースから始めて、その復元内容を確認してから、次のデータベースを復元します。

まず、復元データを格納するための新しいデータベースを作成する必要があります。それによって、バックアップをその新しいデータベースに復元できるようになります。新しいデータベースを作成する際には、最初にサイズの大きなトランザクション ログを作成してください。アップグレード プロセスでは多数のトランザクションが発生します。作成したログのサイズが小さいと、多数のトランザクションを記録するのに必要な速さでログが拡張されない可能性があります。トランザクション ログが容量不足になると、アップグレード プロセスは失敗し、データベースの接続とデータのアップグレードをやり直さなければならなくなります。

以下のセクションでは、SQL Server 2000 と SQL Server 2005 のバックアップを復元する手順について説明します。

SQL Server 2000 でバックアップ コピーを復元する

最初に新しいデータベースを作成します。次に、その新しいデータベースにバックアップを復元します。

SQL Server 2000 で復元データを格納する新しいデータベースを作成する

  1. Enterprise Manager を開き、バックアップを復元するサーバーに接続します。

  2. [Microsoft SQL Servers]、[SQL Server グループ]、[(local) (Windows NT)] の順に展開します。

  3. [データベース] を右クリックし、[新規データベース] をクリックします。

  4. [名前] ボックスに、復元するデータベースの名前を入力します。

  5. [データ ファイル] タブで、データ ファイルの種類の [ファイル名] ボックスに、使用する名前が表示されていることを確認します。

  6. [初期サイズ (MB)] ボックスのサイズを、復元するデータベースのおおよそのサイズに調整します。

  7. [トランザクション ログ] タブで、ログ ファイルの種類の [ファイル名] ボックスに、使用する名前が表示されていることを確認します。

  8. [初期サイズ (MB)] ボックスのサイズを、復元するデータベース用のログ ファイルの約 3 ~ 4 倍のサイズに調整します。

    アップグレード プロセス中に容量が不足しないように、ログ ファイルのサイズは十分大きくしておいてください。トランザクション ログはアップグレードの完了後にいつでも再圧縮できます。

  9. [ファイル プロパティ] セクションで、[ファイルの自動拡張] チェック ボックスがオンになっていることを確認します。

  10. [ファイルの最大サイズ] セクションで、[ファイルを無制限に拡張] が選択されていることを確認します。

    これらの設定はアップグレードの実行後に変更できますが、アップグレード プロセス中にログ ファイルの容量が不足しないようにしてください。

  11. [OK] をクリックしてデータベースを作成します。

SQL Server 2000 で新しいデータベースとしてデータベースのバックアップ コピーを復元する

  1. データベース バックアップ ファイルをターゲット コンピュータにコピーするか、ネットワーク上で共有して、サーバーからアクセスできるようにします。

  2. Enterprise Manager を開き、バックアップを復元するサーバーに接続します。

  3. [Microsoft SQL Servers]、[SQL Server グループ]、[(local) (Windows NT)] の順に展開します。

  4. 先ほど作成したデータベースを右クリックし、[すべてのタスク] をクリックして、[データベースの復元] をクリックします。

    [データベースの復元] ダイアログ ボックスが表示されます。

  5. [データベースとして復元] ボックスで、新しいデータベースを選択します。

    このデータベースは、バックアップの復元先となります。

  6. [デバイスから] を選択します。

  7. [デバイス選択] ボタンをクリックします。

  8. [復元デバイスの選択] ダイアログ ボックスで、[ディスク] を選択します。

  9. [追加] ボタンをクリックします。[復元先の選択] ダイアログ ボックスが表示されます。

  10. 復元するバックアップ ファイルの名前を入力します。ファイルがネットワーク共有に置かれている場合は、[ファイル名] ボックスに UNC 共有名を入力します。

    注意

    バックアップはサーバーにコピーし、データベースの復元にはローカル パスを使用することをお勧めします。

  11. [OK] をクリックします。

    [復元デバイスの選択] ダイアログ ボックスが更新され、選択したファイルが表示されます。

  12. [OK] をクリックして、[データベースの復元] ダイアログ ボックスに戻ります。

    [デバイス] ボックスが更新され、前の手順で選択したファイルが表示されます。

  13. [オプション] タブをクリックし、[既存のデータベース上に強制的に復元] チェック ボックスをオンにします。

    この設定により、復元処理の際、先ほど作成した新しいデータベースに上書きされるようになります。

  14. [データベースの復元] ダイアログ ボックスで [OK] をクリックします。

    復元プロセスが開始されます。SQL Server が処理を行っている間は進行状況ダイアログ ボックスが表示され、データベース復元の完了時には完了を知らせるダイアログ ボックスが表示されます。

  15. 完了の確認ダイアログ ボックスで [OK] をクリックします。

新しいデータベースへのバックアップの復元の詳細については、Microsoft TechNet Web サイトの「SQL Server 2000 Backup and Restore (英語)」(https://go.microsoft.com/fwlink/?linkid=93461&clcid=0x411) を参照してください。

SQL Server 2005 でバックアップ コピーを復元する

最初に新しいデータベースを作成します。次に、その新しいデータベースにバックアップを復元します。

SQL Server 2005 で復元データを格納する新しいデータベースを作成する

  1. SQL Server 2005 データベース エンジンの該当するインスタンスに接続した後、[オブジェクト エクスプローラ] でサーバー名の隣にあるプラス記号 (+) をクリックし、サーバー ツリーを展開します。

  2. [データベース] を右クリックし、[新しいデータベース] をクリックします。

  3. [データベース名] ボックスに、復元するデータベースの名前を入力します。

  4. 必要に応じて、[所有者] ボックスで所有者を指定します。

  5. [データ ファイル] セクションで、データ ファイルの種類の [論理名] ボックスに、使用する論理名が表示されていることを確認します。

  6. [初期サイズ (MB)] ボックスのサイズを、復元するデータベースのおおよそのサイズに調整します。

  7. ログ ファイルの種類の [論理名] ボックスに、使用する論理名が表示されていることを確認します。

  8. [初期サイズ (MB)] ボックスのサイズを、復元するデータベース用のログ ファイルの約 3 ~ 4 倍のサイズに調整します。

    アップグレード プロセス中に容量が不足しないように、ログ ファイルのサイズは十分大きくしておいてください。トランザクション ログはアップグレードの完了後にいつでも再圧縮できます。

  9. ログ ファイルの [自動拡張] 列で、[10% 単位。拡張制限なし。] に設定します。

    この設定はアップグレードの実行後に変更できますが、アップグレード プロセス中にログ ファイルの容量が不足しないようにしてください。

  10. [OK] をクリックしてデータベースを作成します。

SQL Server 2005 Enterprise Edition でデータベースのバックアップ コピーを復元する

  1. 先ほど作成したデータベースを右クリックして、[タスク] をポイントします。次に、[復元] をポイントし、[データベース] をクリックします。[データベースの復元] ダイアログ ボックスが表示されます。

  2. [データベースの復元] ダイアログ ボックスの [全般] ページで、復元しているデータベースの名前が [復元先データベース] ボックスの一覧に表示されます。

  3. [復元する特定の時点] ボックスで、既定の [最新の候補] をそのまま選択します。

  4. 復元するバックアップ セットの復元元と場所を指定するには、[復元元データベース] をクリックし、[参照] ボタンをクリックしてバックアップ ファイルを選択します。

  5. [バックアップの指定] ダイアログ ボックスの [バックアップ メディア] ボックスで、[ファイル] が選択されていることを確認します。

  6. [バックアップの場所] 領域で、[追加] をクリックします。

  7. [バックアップ ファイルの検索] ダイアログ ボックスで、復元するファイルを選択し、[OK] をクリックします。

  8. [復元するバックアップ セットの選択] グリッドで、最新の完全バックアップの隣にある [復元] チェック ボックスをオンにします。

  9. [データベースの復元] ダイアログ ボックスの [オプション] ページで、[復元] オプションの [既存のデータベースを上書きする] チェック ボックスをオンにします。

  10. [OK] をクリックして、復元処理を開始します。

データベースを Web アプリケーションに追加する

コンテンツ データベースを追加する場合は、最初に追加するコンテンツ データベースの中に Web アプリケーションのルート サイト (つまり、古い環境の仮想サーバーのルートにある最初のサイト コレクション) が含まれるようにしてください。ルート サイトが含まれるデータベースを追加した後は、Web アプリケーションの他のコンテンツ データベースを順不同で追加できます。データベースを追加する前に、コンテンツを格納するサイト コレクションを作成する必要はありません。サイト コレクションは、この手順で自動的に作成されます。すべてのコンテンツ データベースを復元するまでは、新しいサイト コレクションを追加しないでください。

注意

個人用サイトを使用している場合は、サイト コンテンツ データベースを最初にアップグレードします。その後、Shared Services Provider (SSP) を復元するときに、チェック ボックスをオンにして個人用サイト Web アプリケーションを構成し、ポータルの Web アプリケーションを選択してから、相対パスとして「/MySite」と入力します。

Web アプリケーションにコンテンツ データベースを追加するには、Stsadm コマンド ライン ツールを使用する必要があります。

注意

異なる Web アプリケーションに対してであっても、同じコンテンツ データベースを複数回ファームに追加することはできません。コンテンツ データベース内の各サイト コレクション (各ポータル サイトを含む) には、グローバル一意識別子 (GUID) が付いていて、GUID は構成データベースに登録されています。このため、別の Web アプリケーションに含まれる場合でも、同じサイト コレクションを複数回ファームに追加することはできません。この状態でもデータベースに接続できますが、サイト コレクションを開始することはできません。

1 つのファーム内にサイト コレクション (またはポータル) の重複コピーが必要な場合は、まずそのサイト コレクションが含まれるデータベースを別のファームに接続してから、Stsadm のバックアップ操作と復元操作を使用して、サイト コレクションをそのファームにコピーします。バックアップと復元プロセスにより、サイト コレクションに新しい GUID が作成されます。

Stsadm コマンド ライン ツールを使用して、コンテンツ データベースを Web アプリケーションに追加する

コンテンツ データベースを Web アプリケーションに追加するには、addcontentdb 操作を使用します。

以下のコマンドを実行します。

stsadm -o addcontentdb -url <URL> –databasename <データベース名>

[-databaseserver <サーバー名>] [-databaseuser <ユーザー名>

[ -databasepassword <パスワード>] [-sitewarning <警告するサイト数>]

[-sitemax <最大サイト数>]

次の表は、操作のパラメータと説明です。

名前 必須/省略可 説明

url

必須

コンテンツ データベースを追加する Web アプリケーションの URL です。

databasename

必須

データベース名。

databaseserver

省略可

データベース サーバー名。値が指定されていない場合は、既定のサーバーが使用されます。

databaseuser

省略可 (ただし、databasePassword を使用する場合は必須)

SQL 認証に使用されるアカウント。databasepassword と共に使用する必要があります。

databasepassword

省略可 (ただし、databaseuser を使用する場合は必須)

databasepassword パラメータが使用されるのは、Windows 認証が実装されていない場合のみです。つまり、SQL 認証のシナリオでは、データベース サーバーに対する認証を行うため、databaseuser および databasepassword パラメータを渡す必要があります。一方、Windows 認証の場合は、NTLM を使用して資格情報が渡されるため、これらのパラメータは省略できます。

sitewarning

省略可

コンテンツ データベースで許容されるサイト コレクションの数。この数を超えると、Windows イベント ログに警告イベントが生成されます。

sitemax

省略可

コンテンツ データベースで許容されるサイト コレクションの最大数を指定します。

この操作の詳細については、「Addcontentdb : Stsadm 操作 (Office SharePoint Server)」を参照してください。

アップグレード ログ ファイルで問題がないかどうかを確認する

データベースを接続してアップグレード プロセスが完了したら、アップグレード時に問題が発生しなかったかどうかをアップグレード ログ ファイルで確認できます。アップグレード ログ ファイルとトレース ログ ファイルの場所は、%COMMONPROGRAMFILES%\ Microsoft Shared\web server extensions\12\LOGS です。トレース ログの名前は、コンピュータ名-YYYYMMDD-HHMM.log という形式になっています。YYYYMMDD は日付、HHMM は時刻です (たとえば、Server1-20061105-1241.log)。

残りのデータベースについても復元と追加の手順を繰り返す

最初のコンテンツ データベースを復元し、アップグレード ログ ファイルを確認してアップグレード内容を検証したら、続けて次のデータベースの復元とアップグレードを行うことができます。サイト、コンテンツ、ユーザー プロファイルのすべてのデータベースを正常に復元してアップグレードしたら、サイトが適切にアップグレードされたことを確認します。詳細については、「アップグレードしたサイトを確認する (Office SharePoint Server)」を参照してください。

次に、「一括アップグレードのアップグレード後の手順を実行する (Office SharePoint Server)」の手順を実行します。データベースの移行は原則としてコンテンツの一括アップグレードなので、同じアップグレード後の手順を使用できます。アップグレード後の手順の詳細については、「章の概要 : アップグレード後の手順を実行する (Office SharePoint Server)」を参照してください。

このドキュメントをダウンロードする

このトピックは、簡単に読んだり印刷したりできるように、次のダウンロード可能なドキュメントに収められています。

入手可能なドキュメントの詳細な一覧については、「Office SharePoint Server 2007 のダウンロード可能なブック」を参照してください。