Team Foundation Server の手動バックアップ

SQL Server に用意されたツールを使用すると、Visual Studio Team Foundation Server のデータを手動でバックアップできます。 ただし、そのツールの使用を禁止するセキュリティ制限が配置にある場合、バックアップの手動構成が必要な可能性があります。 Team Foundation Server を手動でバックアップするには、配置で使用するすべてのデータベースをバックアップすることだけではなく、それらのバックアップを同じタイム スタンプになるようにすることが必要です。 この同期は、マークされたトランザクションを使用すると最も効果的に管理できます。 Team Foundation により検出されたすべてのデータベースの関連トランザクションに定期的にマークを付けた場合、それらのデータベースに共通する一連の復旧ポイントが作成されます。 これらのデータベースを定期的にバックアップすることで、機器の障害などの予期しない出来事が原因で生産性やデータが失われるリスクを軽減できます。

注意

TFS データベースは手動で変更しないでください。ただし、手動で変更するように Microsoft サポートから指示された場合、またはこのドキュメントの手順に従う場合を除きます。その他の変更を加えると、サービス利用契約が無効になる場合があります。

配置に SQL Server Reporting Services が使用されている場合は、データベースだけでなく暗号化キーもバックアップする必要があります。 詳細については、「How to: Back Up the Reporting Services Encryption Key」を参照してください。

このトピックの手順では、データベースの完全バックアップまたは増分バックアップを実行するメンテナンス プラン、およびマークされたトランザクションのテーブルおよびストアド プロシージャの作成方法について説明します。 データを最大限保護するには、完全バックアップを毎日または毎週実行し、増分バックアップを 1 時間ごとに実行するようにスケジュールしてください。 また、トランザクション ログもバックアップできます。 詳細については、Microsoft Web サイトの「トランザクション ログ バックアップの作成」を参照してください。

注意

このトピックの手順の多くでは、SQL Server Management Studio の使用が指定されています。SQL Server Express Edition をインストールした場合は、SQL Server Management Studio Express をダウンロードしない限り、このツールを使用できません。 このツールをダウンロードするには、Microsoft Web サイトの「Microsoft SQL Server 2008 Management Studio Express」を参照してください。

このトピックの内容

  • 必要なアクセス許可

  • データベースの識別

  • データベースでのテーブルの作成

  • テーブルをマークするためのストアド プロシージャの作成

  • すべてのテーブルを一度にマークするためのストアド プロシージャの作成

  • テーブルを自動的にマークするためのストアド プロシージャの作成

  • テーブルをマークするプロシージャの実行のための定期ジョブの作成

  • 完全バックアップのためのメンテナンス プランの作成

  • 差分バックアップのためのメンテナンス プランの作成

  • トランザクション バックアップのためのメンテナンス プランの作成

  • Reporting Services の暗号化キーのバックアップ

  • SharePoint Foundation のバックアップ プランの作成

  • 追加の Lab Management コンポーネントのバックアップ

必要なアクセス許可

この手順を実行するには、次のすべてのグループのメンバーである必要があります。

  • Team Foundation の管理コンソールを実行しているサーバーの Administrators セキュリティ グループ。

  • SQL Server システム管理者のセキュリティ グループ。 または、バックアップするデータベースをホストする SQL Server の各インスタンスで [SQL Server のバックアップの実行とメンテナンス プラン] のアクセス許可が [許可] に設定されている必要があります。

  • SharePoint Foundation のファーム管理者グループ、またはファームのバックアップに必要なアクセス許可を持つアカウント。

データベースの特定

開始する前に、配置を完全に復元する必要が生じた場合にバックアップする必要があるデータベースをすべて特定しておく必要があります。 これには、SharePoint Foundation と SQL Server Reporting Services のデータベースが含まれます。 これらは同じサーバーである場合や、複数のサーバーに分散されるデータベースがある場合があります。 TFS データベースの完全な表と説明 (データベースの既定の名前を含む) については、「Team Foundation Server のバックアップについて」を参照してください。

データベースを特定するには

  1. SQL Server Management Studio を開き、データベース エンジンに接続します。

  2. SQL Server Management Studio のオブジェクト エクスプローラーで、サーバーの名前を展開し、[データベース] を展開します。

  3. データベースの一覧を確認し、配置で使用されるデータベースを特定します。

    たとえば、 Fabrikam, Inc. の TFS の配置は、シングルサーバー構成であり、次のデータベースを使用します。

    • 構成データベース (Tfs_Configuration)

    • コレクション データベース (Tfs_DefaultCollection)

    • データ ウェアハウスのデータベース (Tfs_Warehouse)

    • レポート データベース (ReportServer と ReportServerTempDB)

    • SharePoint Foundation によって使用されるデータベース (WSS_AdminContent、WSS_Config、WSS_Content、および WSS_Logging)

      重要

      配置の他のデータベースとは異なり、SharePoint Foundation により使用されるデータベースは、SQL Server のツールで手動でバックアップされません。このようなデータベースのバックアップについては、このトピックで後述する「SharePoint Foundation のバックアップ プランの作成」の手順に従ってください。

データベースでのテーブルの作成

すべてのデータベースが同じポイントまで復元されるようにするには、各データベースにテーブルを作成し、トランザクションをマークします。 SQL Server Management Studio のクエリ関数を使用すると、データベースに適切なテーブルを作成できます。

重要

SharePoint 製品が使用するデータベースにはテーブルを作成しないでください。

Team Foundation で使用するデータベース内の関連トランザクションをマークするテーブルを作成するには

  1. SQL Server Management Studio を開き、データベース エンジンに接続します。

  2. SQL Server Management Studio でサーバーの名前を強調表示してサブメニューを開き、[新しいクエリ] をクリックします。

    データベース エンジンのクエリ エディターのウィンドウが開きます。

  3. [クエリ] メニューの [SQLCMD モード] をクリックします。

    クエリ エディター ウィンドウのコンテキストで sqlcmd ステートメントが実行されます。 [クエリ] メニューが表示されない場合は、[データベース エンジン クエリ エディター] ウィンドウの新しいクエリ内の任意の位置をクリックします。

  4. SQL エディター ツール バーの [利用可能なデータベース] ボックスの一覧を開き、[TFS_Configuration] をクリックします。

    注意

    TFS_Configuration は、構成データベースの既定の名前です。この名前は、カスタマイズ可能なので、異なる場合もあります。

  5. クエリ ウィンドウで、次のスクリプトを入力し、構成データベースにテーブルを作成します。

    Use Tfs_Configuration
    Create Table Tbl_TransactionLogMark
    (
    logmark int
    )
    GO
    Insert into Tbl_TransactionLogMark (logmark) Values (1)
    GO
    
  6. F5 キーを選択し、スクリプトを実行します。

    スクリプトが正しく構成されている場合は、クエリ エディターに "(1 行処理されました)" というメッセージが表示されます。

  7. (省略可能) スクリプトを保存します。

  8. SharePoint 製品 で使用されたものを除き、TFS の配置で使用された各データベースに対して、手順 4. ~ 7. を繰り返します。 Fabrikam, Inc. の架空の配置では、次のすべてのデータベースに対してこのプロセスを繰り返します。

    • Tfs_Warehouse

    • Tfs_DefaultCollection

    • ReportServer

    • ReportServerTempDB

テーブルをマークするためのストアド プロシージャの作成

バックアップ対象の各データベースにテーブルが作成されたら、テーブルをマークするためのプロシージャを作成する必要があります。

Team Foundation で使用する各データベース内のトランザクションをマークするストアド プロシージャを作成するには

  1. SQL Server Management Studio でクエリ ウィンドウを開き、[SQLCMD モード] がオンになっていることを確認します。

  2. SQL エディター ツール バーの [利用可能なデータベース] ボックスの一覧を開き、[TFS_Configuration] をクリックします。

  3. クエリ ウィンドウで、次のスクリプトを入力し、構成データベースにトランザクションをマークするストアド プロシージャを作成します。

    Create PROCEDURE sp_SetTransactionLogMark
    @name nvarchar (128)
    AS
    BEGIN TRANSACTION @name WITH MARK
    UPDATE Tfs_Configuration.dbo.Tbl_TransactionLogMark SET logmark = 1
    COMMIT TRANSACTION
    GO
    
  4. F5 キーを選択し、プロシージャを実行します。

    プロシージャが正しく構成されている場合は、クエリ エディターに "コマンドは正常に完了しました" というメッセージが表示されます。

  5. (省略可能) プロシージャを保存します。

  6. TFS データベースごとに手順 2. ~ 5. を繰り返します。Fabrikam, Inc. の配置では、次のすべてのデータベースに対してこのプロセスを繰り返します。

    • Tfs_Warehouse

    • Tfs_DefaultCollection

    • ReportServer

    • ReportServerTempDB

    ヒント

    プロシージャを作成する前に、オブジェクト エクスプローラーの [利用可能なデータベース] ボックスの一覧から、ストアド プロシージャを作成するデータベースの名前が選択されていることを確認します。選択していない場合、スクリプトを実行すると、ストアド プロシージャが既に存在していることを示すエラーが表示されます。

すべてのテーブルを一度にマークするためのストアド プロシージャの作成

すべてのデータベースがマークされるようにするには、テーブルをマークするために作成したすべてのプロシージャを実行するプロシージャを作成します。 前のプロシージャとは異なり、このプロシージャは構成データベースでのみ実行されます。

テーブルをマークするためのすべてのストアド プロシージャを実行するストアド プロシージャを作成するには

  1. SQL Server Management Studio でクエリ ウィンドウを開き、[SQLCMD モード] がオンになっていることを確認します。

  2. SQL エディター ツール バーの [利用可能なデータベース] ボックスの一覧を開き、[TFS_Configuration] をクリックします。

  3. クエリ ウィンドウで、TFS が使用する各データベースで作成したストアド プロシージャを実行するストアド プロシージャを作成します。 「ServerName」を SQL Server を実行しているサーバー名に置き換え、「Tfs_CollectionName」を各チーム プロジェクト コレクションのデータベース名に置き換えます。

    この配置例では、サーバーの名前は FABRIKAMPRIME です。配置に存在するチーム プロジェクト コレクションは、Foundation Server をインストールしたときに既定で作成される、1 つ (DefaultCollection) のみです。 この点を考慮して、次のスクリプトを作成します。

    CREATE PROCEDURE sp_SetTransactionLogMarkAll
    @name nvarchar (128)
    AS
    BEGIN TRANSACTION
    EXEC [FABRIKAMPRIME].Tfs_Configuration.dbo.sp_SetTransactionLogMark @name
    EXEC [FABRIKAMPRIME].ReportServer.dbo.sp_SetTransactionLogMark @name
    EXEC [FABRIKAMPRIME].ReportServerTempDB.dbo.sp_SetTransactionLogMark @name
    EXEC [FABRIKAMPRIME].Tfs_DefaultCollection.dbo.sp_SetTransactionLogMark @name
    EXEC [FABRIKAMPRIME].Tfs_Warehouse.dbo.sp_SetTransactionLogMark @name
    COMMIT TRANSACTION
    GO
    
  4. F5 キーを選択し、プロシージャを実行します。

    注意

    トランザクションをマークするためのストアド プロシージャを作成してから SQL Server Management Studio を再起動していない場合は、サーバー名とデータベース名に赤い波線のアンダースコアが付くことがあります。ただし、プロシージャは実行されます。

    プロシージャが正しく構成されている場合は、クエリ エディターに "コマンドは正常に完了しました" というメッセージが表示されます。

  5. (省略可能) プロシージャを保存します。

テーブルを自動的にマークするためのストアド プロシージャの作成

テーブルをマークするためのすべてのストアド プロシージャを実行するプロシージャがある場合は、同じトランザクション マーカーですべてのテーブルをマークするプロシージャを作成する必要があります。 このマーカーを使用してすべてのデータベースを同じ時点の状態に復元する必要があります。

Team Foundation Server で使用する各データベース内のテーブルをマークするストアド プロシージャを作成するには

  1. SQL Server Management Studio でクエリ ウィンドウを開き、[SQLCMD モード] がオンになっていることを確認します。

  2. SQL エディター ツール バーの [利用可能なデータベース] ボックスの一覧を開き、[TFS_Configuration] をクリックします。

  3. クエリ ウィンドウで、次のスクリプトを入力して 'TFSMark' でテーブルをマークします。

    EXEC sp_SetTransactionLogMarkAll 'TFSMark'
    GO
    

    注意

    TFSMark はマークの一例です。マークでは、サポートされる英数字の任意のシーケンスを使用できます。データベースにマークされたテーブルが複数ある場合は、データベースの復元に使用するマークを記録してください。詳細については、Microsoft Web サイトの「マークされたトランザクションを使用して関連するデータベースを一貫した状態に復元する方法 (完全復旧モデル)」を参照してください。

  4. F5 キーを選択し、プロシージャを実行します。

    プロシージャが正しく構成されている場合は、クエリ エディターに "(1 行処理されました)" というメッセージが表示されます。 WITH MARK オプションは、マークされた各テーブルの最初の BEGIN TRAN WITH MARK ステートメントのみに適用されます。

  5. プロシージャを保存します。

テーブルをマークするプロシージャの実行のための定期ジョブの作成

必要なすべてのプロシージャを作成して保存したら、データベースの定期バックアップの直前に実行されるようにテーブルをマークするプロシージャをスケジュールする必要があります。 このジョブは、データベース実行のメンテナンス プランの約 1 分前に実行されるようにスケジュールする必要があります。

SQL Server Management Studio でテーブルをマークするための定期ジョブを作成するには

  1. オブジェクト エクスプローラーで [SQL Server エージェント] を展開し、[ジョブ] メニューを開いて [新しいジョブ] をクリックします。

    [新しいジョブ] ウィンドウが開きます。

  2. [名前] にジョブの名前を入力します。 たとえば、ジョブ名として "MarkTableJob" を選択します。

  3. (省略可能) [説明] に、ジョブの説明を入力します。

  4. [ページの選択][ステップ] をクリックしてから [新規] をクリックします。

  5. [新しいジョブ ステップ] ウィンドウが開きます。

  6. [ステップ名] にステップの名前を入力します。

  7. [データベース] で、構成データベースの名前を選択します。 たとえば、配置ではデータベースの既定の名前 TFS_Configuration が使用されるため、ドロップダウン リストからそのデータベースを選択します。

  8. [開く] をクリックしてテーブルをマークするために作成したプロシージャを参照し、[開く] を 2 回クリックしてから、[OK] をクリックします。

    注意

    テーブルをマークするために作成したプロシージャにより、次のステップが実行されます。

    EXEC sp_SetTransactionLogMarkAll 'TFSMark'
    
  9. [ページの選択][スケジュール] をクリックしてから [新規] をクリックします。

    [新しいジョブ スケジュール] ウィンドウが開きます。

  10. [名前] にスケジュールの名前を入力します。

  11. [頻度] では、データベースのバックアップのために作成したプランに一致するように頻度を変更します。 たとえば、毎日午前 2 時に増分バックアップを実行し、日曜日の午前 4 時に完全バックアップを実行したいと考えているとします。データベースで増分バックアップをマークするために、[実行] の値を [日単位] に変更します。 毎週完全バックアップするデータベースをマークする別のジョブを作成する場合、[実行] の値は [日単位] のままにし、[日曜日] チェック ボックスをオンにします。

  12. [一日のうちの頻度] では、データベースのバックアップの 1 分前にジョブが実行されるようスケジュールされるように実行頻度を変更し、[OK] をクリックします。 この配置例では、増分バックアップのためのジョブで、午前 1 時 59 分を指定します。完全バックアップのジョブでは、午前 3 時 59 分を指定します。

  13. [新しいジョブ][OK] をクリックして、定期ジョブの作成を完了します。

完全バックアップのためのメンテナンス プランの作成

データベースをマークするための定期ジョブを作成したら、メンテナンス プラン ウィザードを使用して、TFS の配置で使用されるすべてのデータベースの完全バックアップをスケジュールできます。

重要

配置で SQL Server の Enterprise Edition または Datacenter Edition を使用しているが、データベースを Standard Edition を実行するサーバーに復元したい場合は、SQL Server 圧縮を無効にした状態で作成したバックアップ セットを使用する必要があります。データの圧縮を無効にしない限り、Enterprise Edition または Datacenter Edition のデータベースを Standard Edition を実行するサーバーに正常に復元することはできません。メンテナンス プランを作成する前に、圧縮をオフにする必要があります。圧縮を無効にするには、Microsoft サポート技術情報の手順に従います。

完全バックアップのためのメンテナンス プランを作成するには

  1. SQL Server Management Studio で、[管理] ノードを展開し、[メンテナンス プラン] サブメニューを開いて、[メンテナンス プラン ウィザード] をクリックします。

  2. SQL Server メンテナンス プラン ウィザードの開始ページで、[次へ] をクリックします。

    [プランのプロパティを選択] ページが表示されます。

  3. [プロジェクト名] ボックスにメンテナンス プランの名前を入力します。

    たとえば、TfsFullDataBackup という名前の完全バックアップのプランを作成するとします。

  4. [プラン全体で単一のスケジュールを使用するか、スケジュールを使用しない] をクリックして、[変更] をクリックします。

  5. [頻度] および [一日のうちの頻度] に、プランのオプションを指定します。 たとえば、[頻度] で日曜日の週間バックアップを指定し、[一日のうちの頻度] で午前 4 時を指定します。

    [期間] は既定値の [終了日なし] のままにします。 [OK] をクリックし、[次へ] をクリックします。

  6. [メンテナンス タスクの選択] ページで、[データベースのバックアップ (完全)][SQL Server エージェント ジョブの実行][データベースのバックアップ (トランザクション ログ)] の各チェック ボックスをオンにし、[次へ] をクリックします。

  7. [メンテナンス タスクの順序を選択] ページで、完全バックアップ、エージェント ジョブ、トランザクション ログ バックアップの順に実行されるように順序を変更した後、[次へ] をクリックします。

    このダイアログ ボックスの詳細を参照するには、F1 キーを選択してください。 さらに、Microsoft Web サイトの SQL Server オンライン ブックのページで「メンテナンス プラン ウィザード」を検索してください。

  8. [データベースのバックアップ (完全) タスクの定義] ページで、下向きの矢印をクリックし、[すべてのデータベース] をクリックして、[OK] をクリックします。

  9. ファイルの保存先をディスクにするかテープにするか、配置とリソースに適したバックアップ オプションを指定し、[次へ] をクリックします。

  10. [SQL Server エージェント ジョブ実行タスクの定義] ページで、テーブルをマークするために作成した定期ジョブのチェック ボックスをオンにし、[次へ] をクリックします。

  11. [データベースのバックアップ (トランザクション ログ) タスクの定義] ページで、下向きの矢印をクリックし、[すべてのデータベース] をクリックして、[OK] をクリックします。

  12. ファイルの保存先をディスクにするかテープにするか、配置とリソースに適したバックアップ オプションを指定し、[次へ] をクリックします。

  13. [レポート オプションの選択] ページで、レポート配布オプションを選択し、[次へ] を 2 回クリックします。

  14. [ウィザードの完了] ページで [完了] をクリックします。

    SQL Server により、メンテナンス プランが作成され、指定したデータベースが指定した頻度でバックアップされます。

差分バックアップのためのメンテナンス プランの作成

メンテナンス プラン ウィザードを使用して、TFS の配置で使用されるすべてのデータベースの差分バックアップをスケジュールできます。

重要

SQL Server Express にはメンテナンス プラン ウィザードが含まれていません。差分バックアップのスケジュールのスクリプトを手動で作成する必要があります。詳細については、Microsoft Web サイトの「データベースの差分バックアップを作成する方法 (Transact-SQL)」のトピックを参照してください。

差分バックアップのためのメンテナンス プランを作成するには

  1. バックアップする対象のデータベースを格納する SQL Server のインスタンスを実行しているサーバーにログオンします。

  2. SQL Server Management Studio を開きます。

    1. [サーバーの種類] ボックスの一覧で、[データベース エンジン] をクリックします。

    2. [サーバー名] の一覧と [認証] の一覧で、適切なサーバーと認証スキームをクリックします。

    3. SQL Server のインスタンスに必要な場合は、[ユーザー名][パスワード] に、適切なアカウントの資格情報を入力します。

    4. [接続] をクリックします。

  3. SQL Server Management Studio で、[管理] ノードを展開し、サブメニューを開いて [メンテナンス プラン] をクリックしてから、[メンテナンス プラン ウィザード] をクリックします。

  4. SQL Server メンテナンス プラン ウィザードの開始ページで、[次へ] をクリックします。

  5. [プランのプロパティを選択] ページの [名前] ボックスに、メンテナンス プランの名前を入力します。

    たとえば、差分バックアップのプランには TfsDifferentialBackup という名前を指定します。

  6. [プラン全体で単一のスケジュールを使用するか、スケジュールを使用しない] をクリックして、[変更] をクリックします。

  7. [頻度] および [一日のうちの頻度] に、バックアップ計画のオプションを指定します。

    [期間] は既定値の [終了日なし] のままにします。 [OK] をクリックし、[次へ] をクリックします。

  8. [メンテナンス タスクの選択] ページで [データベースのバックアップ (差分)] チェック ボックスをオンにし、[次へ] をクリックします。

  9. [データベースのバックアップ (差分) タスクの定義] ページで、下向きの矢印をクリックし、[すべてのデータベース] をクリックして、[OK] をクリックします。

  10. ファイルの保存先をディスクにするかテープにするか、配置とリソースに適したバックアップ オプションを指定し、[次へ] をクリックします。

  11. [レポート オプションの選択] ページで、レポート配布オプションを選択し、[次へ] を 2 回クリックします。

  12. [ウィザードの完了] ページで [完了] をクリックします。

    SQL Server により、メンテナンス プランが作成され、指定したデータベースが指定した頻度でバックアップされます。

トランザクション ログのためのメンテナンス プランの作成

メンテナンス プラン ウィザードを使用して、TFS の配置で使用されるすべてのデータベースのトランザクション ログ バックアップをスケジュールできます。

重要

SQL Server Express にはメンテナンス プラン ウィザードが含まれていません。トランザクション ログ バックアップのスケジュールのスクリプトを手動で作成する必要があります。詳細については、Microsoft Web サイトの「How to: Create a Transaction Log Backup (Transact-SQL) (トランザクション ログのバックアップを作成する方法 (Transact-SQL))」のトピックを参照してください。

トランザクション ログ バックアップのためのメンテナンス プランを作成するには

  1. バックアップする対象のデータベースを格納する SQL Server のインスタンスを実行しているサーバーにログオンします。

  2. SQL Server Management Studio を開きます。

  3. [サーバーの種類] ボックスの一覧で、[データベース エンジン] をクリックします。

    1. [サーバー名] の一覧と [認証] の一覧で、適切なサーバーと認証スキームをクリックします。

    2. SQL Server のインスタンスに必要な場合は、[ユーザー名][パスワード] に、適切なアカウントの資格情報を入力します。

    3. [接続] をクリックします。

  4. SQL Server Management Studio で、[管理] ノードを展開し、サブメニューを開いて [メンテナンス プラン] をクリックしてから、[メンテナンス プラン ウィザード] をクリックします。

  5. SQL Server メンテナンス プラン ウィザードの開始ページで、[次へ] をクリックします。

    [プランのプロパティを選択] ページが表示されます。

  6. [プロジェクト名] ボックスにメンテナンス プランの名前を入力します。

    たとえば、トランザクション ログのバックアップのプランには TfsTransactionLogBackup という名前を指定します。

  7. [プラン全体で単一のスケジュールを使用するか、スケジュールを使用しない] をクリックして、[変更] をクリックします。

  8. [頻度] および [一日のうちの頻度] に、プランのオプションを指定します。

    [期間] は既定値の [終了日なし] のままにします。

  9. [OK] をクリックし、[次へ] をクリックします。

  10. [メンテナンス タスクの選択] ページで、[SQL Server エージェント ジョブの実行][データベースのバックアップ (トランザクション ログ)] の各チェック ボックスをオンにし、[次へ] をクリックします。

  11. [メンテナンス タスクの順序を選択] ページで、エージェント ジョブがトランザクション ログ バックアップの前に実行されるように順序を変更し、[次へ] をクリックします。

    このダイアログ ボックスの詳細を参照するには、F1 キーを選択してください。 さらに、Microsoft Web サイトの SQL Server オンライン ブックのページで「メンテナンス プラン ウィザード」を検索してください。

  12. [SQL Server エージェント ジョブ実行タスクの定義] ページで、テーブルをマークするために作成した定期ジョブのチェック ボックスをオンにし、[次へ] をクリックします。

  13. [データベースのバックアップ (トランザクション ログ) タスクの定義] ページで、下向きの矢印をクリックし、[すべてのデータベース] をクリックして、[OK] をクリックします。

  14. ファイルの保存先をディスクにするかテープにするか、配置とリソースに適したバックアップ オプションを指定し、[次へ] をクリックします。

  15. [レポート オプションの選択] ページで、レポート配布オプションを選択し、[次へ] を 2 回クリックします。

  16. [ウィザードの完了] ページで [完了] をクリックします。

    SQL Server により、メンテナンス プランが作成され、指定された頻度に基づき指定したデータベースのトランザクション ログがバックアップされます。

Reporting Services の暗号化キーのバックアップ

システムのバックアップの一部として、Reporting Services の暗号化キーをバックアップする必要があります。 この暗号化キーなしでは、レポート データを復元することはできません。 TFS のシングルサーバー配置の場合、Reporting Services 構成ツールを使用し、SQL Server Reporting Services の暗号化キーをバックアップできます。 RSKEYMGMT コマンド ライン ツールも選択できますが、構成ツールの方が簡単です。 RSKEYMGMT の詳細については、次の Microsoft Web サイトの「rskeymgmt ユーティリティ (SSRS)」を参照してください。

Reporting Services 構成ツールを使用して暗号化キーをバックアップするには

  1. Reporting Services を実行しているサーバーで、Reporting Services 構成マネージャーを開きます。

    [レポート サーバー インスタンスの選択] ダイアログ ボックスが表示されます。

  2. データ層サーバーおよびデータベース インスタンスの名前を入力し、[接続] をクリックします。

  3. 左側のナビゲーション バーで、[暗号化キー] をクリックし、[バックアップ] をクリックします。

    [暗号化キーの情報] ダイアログ ボックスが表示されます。

  4. [ファイルの場所] に、このキーのコピーを格納する場所を指定します。

    このキーは、Reporting Services を実行しているコンピューターとは別のコンピューターに格納することを検討してください。

  5. [パスワード] ボックスにファイルのパスワードを入力します。

  6. [パスワードの確認入力] でファイルのパスワードを再度入力し、[OK] をクリックします。

SharePoint Foundation のバックアップ プランの作成

SQL Server Management Studio でスケジュール ツールを使用する Team Foundation Server とは異なり、SharePoint Foundation にはバックアップのための組み込みスケジューリング システムがありません。特に SharePoint では、データベースをマークまたは変更するスクリプトを推奨していません。 TFS のバックアップと同時のバックアップをスケジュールする場合、SharePoint Foundation のガイダンスでは、Windows PowerShell を使用してバックアップ スクリプトを作成し、Windows タスク スケジューラを使用して TFS データベースのバックアップ スケジュールと同じタイミングでバックアップ スクリプトを実行することをお勧めします。 このようにすると、データベースのバックアップの同期を維持できます。

重要

次の手順に進む前に、SharePoint Foundation の最新のガイダンスを確認する必要があります。以下の手順はガイダンスに基づいていますが、最新ではないことがあります。配置についてその点を管理するときは、使用している SharePoint 製品のバージョンの最新の推奨策およびガイダンスに必ず従ってください。詳細については、このセクションの手順のそれぞれに含まれるリンクを参照してください。

SharePoint Foundation のファームの完全バックアップおよび差分バックアップを実行するスクリプトを作成するには

  1. テキスト エディター (メモ帳など) を開きます。

  2. テキスト エディターで次のように入力します。ここで、BackupFolder は、データをバックアップするネットワーク共有の UNC パスです。

    Backup-SPFarm -Directory BackupFolder -BackupMethod Full
    

    ヒント

    ファームをバックアップするときに使用できるパラメーターは、いくつかあります。詳細については、「ファームをバックアップする」と「Backup-SPFarm」を参照してください。

  3. スクリプトを .PS1 ファイルに保存します。 ファイルには、"SharePointFarmFullBackupScript.PS1" や同様の意味のあるわかりやすい名前を付けることを検討してください。

  4. 新しいファイルを開き、2 番目のバックアップ ファイルを作成します。今回だけは差分バックアップを指定します。

    Backup-SPFarm -Directory BackupFolder -BackupMethod Differential
    
  5. スクリプトを .PS1 ファイルに保存します。 ファイルには、"SharePointFarmDiffBackupScript.PS1" などのわかりやすい名前を付けることを検討してください。

    重要

    既定では、スクリプトを実行できるように PowerShell の実行ポリシーを変更しなかった場合は、PowerShell スクリプトがシステムで実行されません。詳細については、「Running Windows PowerShell Scripts (Windows PowerShell スクリプトの実行)」を参照してください。

スクリプトを作成したら、Team Foundation Server データベースのバックアップ用に作成したスケジュールと同じスケジュールおよび頻度で実行するようにスクリプトをスケジュールする必要があります。 たとえば、毎日午前 2 時に差分バックアップを、日曜日の午前 4 時に完全バックアップを実行するようにスケジュールした場合に、ファームのバックアップについてもまったく同じスケジュールで実行する必要があります。

バックアップをスケジュールするには、Windows タスク スケジューラを使用します。 また、SharePoint Foundation のバックアップの実行に必要なアクセス許可だけではなく、バックアップの場所に対する読み取りおよび書き込みのアクセス許可を持つアカウントを使用し、実行するタスクを構成する必要があります。 一般に、最も簡単な方法はファーム管理者アカウントを使用することですが、次の条件がすべて満たされていれば任意のアカウントを使用できます。

  • Windows タスク スケジューラで指定されたアカウントが管理者アカウントであること。

  • 全体管理アプリケーション プールで指定されたアカウント、およびタスクの実行のために指定するアカウントに、バックアップの場所への読み取り/書き込みアクセス許可があること。

  • SharePoint Foundation、SQL Server、および Team Foundation Server を実行するサーバーからバックアップの場所にアクセスできること。

ファームのバックアップをスケジュールするには

  1. [スタート] ボタンをクリックしてから、[管理ツール][タスク スケジューラ] の順にクリックします。

  2. [アクション] ウィンドウで、[タスクの作成] をクリックします。

  3. [全般] タブの [表示名] で、このタスクの名前 ("Full Farm Backup" など) を指定します。[セキュリティ] オプションで、自分が使用しているアカウントではない場合に、タスクの実行に使用するユーザー アカウントを指定します。 次に [ユーザーがログオンしているかどうかにかかわらず実行する] をクリックし、[最上位の特権で実行する] チェック ボックスをオンにします。

  4. [アクション] タブで、[新規] をクリックします。

    [アクション][新しいアクション] ウィンドウで、[プログラムを起動する] をクリックします。 [プログラム/スクリプト] で、作成したファームの完全バックアップである .PS1 スクリプトの完全パスとファイル名を指定し、[OK] をクリックします。

  5. [トリガー] タブで、[新規] をクリックします。

    [設定][新しいトリガー] ウィンドウで、ファームの完全バックアップを実行するスケジュールを指定します。 このスケジュールが、反復スケジュールを含む Team Foundation Server データベースの完全バックアップのスケジュールに正確に一致することを確認してから、[OK] をクリックします。

  6. タブのすべての情報を確認し、ファームの完全バックアップのタスクを作成するために [OK] をクリックします。

  7. [アクション] ウィンドウで、[タスクの作成] をクリックします。

  8. [全般] タブの [表示名] で、このタスクの名前 ("Differential Farm Backup" など) を指定します。[セキュリティ] オプションで、自分が使用しているアカウントではない場合にタスクの実行に使用するユーザー アカウントを指定し、[ユーザーがログオンしているかどうかにかかわらず実行する] をクリックし、[最上位の特権で実行する] チェック ボックスをオンにします。

  9. [アクション] タブで、[新規] をクリックします。

    [アクション][新しいアクション] ウィンドウで、[プログラムを起動する] をクリックします。 [プログラム/スクリプト] で、作成したファームの差分バックアップである .PS1 スクリプトの完全なパスとファイル名を指定し、[OK] をクリックします。

  10. [トリガー] タブで、[新規] をクリックします。

    [設定][新しいトリガー] ウィンドウで、ファームの完全バックアップを実行するスケジュールを指定します。 このスケジュールが、反復スケジュールを含む Team Foundation Server データベースの完全バックアップのスケジュールに正確に一致することを確認してから、[OK] をクリックします。

  11. タブのすべての情報を確認し、ファームの差分バックアップのタスクを作成するために [OK] をクリックします。

  12. [アクティブ タスク] で、リストを更新し、新しいタスクが適切にスケジュールされていることを確認してからタスク スケジューラを終了します。 タスク スケジューラによるタスクの作成およびスケジュールの詳細については、「タスク スケジューラの操作方法」を参照してください。

追加の Lab Management コンポーネントのバックアップ

Team Foundation Server の配置で Visual Studio Lab Management を使用する場合は、 Lab Management で使用するコンピューターとコンポーネントもそれぞれバックアップする必要があります。 仮想マシンのホストと SCVMM ライブラリ サーバーは、別々の物理コンピューターで、既定ではバックアップされません。 バックアップおよび復元のストラテジを計画する際に明確に含める必要があります。 次の表に、Team Foundation Server をバックアップする際にバックアップが必要なコンポーネントを示します。

コンピューター

コンポーネント

System Center Virtual Machine Manager (SCVMM) 2008 R2 を実行しているサーバー

  • SQL Server データベース (ユーザー アカウント、構成データ)

仮想マシンの物理ホスト

  • 仮想マシン (VM)

  • テンプレート

  • ホスト構成データ (仮想ネットワーク)

SCVMM ライブラリ サーバー

  • 仮想マシン

  • テンプレート

  • 仮想ハード ディスク (VHD)

  • ISO イメージ

次の表は、タスクとリンクを示しています。リンクは、Lab Management のインストールに対する追加のコンピューターをバックアップする方法の手順または概念を説明するトピックを示しています。 これらのタスクは表示されている順番で実行し、どのタスクもスキップしないでください。

SCVMM コンポーネントを実行しているコンピューターをバックアップするには、各コンピューターの Backup Operator グループのメンバーであることが必要です。

一般的なタスク

詳細な説明

  1. System Center Virtual Machine Manager 2008 R2 を実行するサーバーをバックアップする。

  2. SCVMM のライブラリ サーバーをバックアップする。

  3. 仮想マシンの各物理ホストをバックアップする。