Share via


Team Foundation Server のバックアップについて

Visual Studio Team Foundation Server (TFS) が依存するデータベースのバックアップを定期的に実行するようにスケジュールすることで、配置のデータが失われないように保護できます。 Team Foundation の配置全体を復元するには、まず TFS のすべてのデータベースをバックアップする必要があります。 配置に SharePoint 製品または SQL Server Reporting Services が含まれている場合は、これらのコンポーネント内で TFS が使用しているデータベースもバックアップする必要があります。 同期エラーまたはデータの不一致エラーを防ぐため、すべてのバックアップのタイム スタンプが同じになるようにしてください。 確実に同期するための最も簡単な方法は、マークされたトランザクションを使用する方法です。 すべての Team Foundation データベースの関連トランザクションに定期的にマークを付けることにより、これらのデータベースに共通する一連の復旧ポイントが作成されます。 SharePoint Foundation およびレポート機能を使用する単一サーバー配置のバックアップの手順については、「バックアップ スケジュールおよび計画の構成」を参照してください。

データベースのバックアップ

Team Foundation の配置を保護する重要な処理として、TFS が使用するデータベースのバックアップを作成できます。 次の表とその関連図では、バックアップが必要なデータベースを示し、これらのデータベースが配置内で物理的にどのように分散しているかを例示します。

データベースの種類

[製品]

オプションのコンポーネントかどうか

構成データベース

Team Foundation Server

ウェアハウス データベース

Team Foundation Server

チーム プロジェクト コレクションのデータベース

Team Foundation Server

SharePoint 製品のデータベース

SharePoint 製品

レポート データベース

SQL Server Reporting Services

Yes

分析データベース

SQL Server Analysis Services

Yes

配置トポロジ

配置の構成によっては、この例のトポロジのように、バックアップが必要なすべてのデータベースが同じ物理サーバー上にある場合があります。 この例では SharePoint 製品も Reporting Services も含まれていないため、レポート、分析、またはSharePoint 製品関連のデータベースをバックアップする必要はありません。

データベースを使用する単純なトポロジ

または、データベースが多数のサーバーやサーバー ファームに分散されている場合もあります。 このトポロジの例では、6 つのサーバーまたはサーバー ファームにまたがってスケーリングされた次のデータベースをバックアップする必要があります。

  • 構成データベース

  • ウェアハウス データベース

  • SQL Server クラスター上にあるチーム プロジェクト コレクションのデータベース

  • SQL Server を実行するスタンドアロン サーバー上にあるコレクション データベース

  • 両方の SharePoint Web アプリケーション1用の SharePoint 製品管理データベースおよびサイト コレクション データベース

  • Reporting Services を実行するサーバー上のデータベース

  • Analysis Services を実行するサーバー上のデータベース

1 SharePoint データベースが複数のサーバーにまたがってスケーリングされている場合、スケジュールされたバックアップ機能を使用してバックアップすることはできません。 それらのデータベースのバックアップを手動で構成し、バックアップが TFS データベースのバックアップと同期されることを確認する必要があります。 詳細については、「Team Foundation Server の手動バックアップ」を参照してください。

例: データベースの複雑な分散

どちらの例でも、サーバーに接続するクライアントをバックアップする必要はありません。 ただし、クライアント コンピューターの Team Foundation Server のキャッシュを手動でクリアしないと、復元された配置に接続できない可能性があります。

バックアップ対象のデータベース

配置リソースに応じて、バックアップが必要になる項目についての詳細を次に示します。

注意

次に挙げるデータベースはすべて SQL Server データベースです。SQL Server Management Studio を使用して、いつでも個別のデータベースをバックアップできますが、このような個別のバックアップをできる限り使用しないでください。TFS が使用するデータベースはすべて関連しているため、個別のバックアップから復元すると予期しない結果を招く可能性があります。1 つのデータベースしかバックアップしなかった場合、そのデータベースのデータは、他のデータベースのデータと同期がとられていない状態になります。

  • Team Foundation Server のデータベース   Team Foundation Server の論理データ層には、構成データベース、ウェアハウス データベース、配置内のチーム プロジェクト コレクションのデータベースなど、いくつかの SQL Server データベースが含まれます。 これらのデータベースは、すべて同じサーバー上にあることも、同じ SQL Server 配置内の複数のインスタンスに分散していることも、複数のサーバーに分散していることもあります。 どのように物理的に分散していても、すべてのデータベースのバックアップは同じタイム スタンプになるようにし、データが失われることがないようにしてください。 データベースのバックアップは手動で実行することも、特定の時間や特定の間隔で実行するメンテナンス プランを使用して自動的に実行することもできます。

    注意

    Team Foundation Server のデータベースのリストは静的ではありません。コレクションを作成するたびに新しいデータベースが作成されます。コレクションを作成するときは、必ずメンテナンス プランにそのコレクションのデータベースを追加します。

  • SharePoint 製品のデータベース   配置で SharePoint 製品を使用してチーム プロジェクト ポータルをホストしている場合は、いくつかのデータベースをバックアップする必要があります。 これらのデータベースには、配置で使用している各 SharePoint Web アプリケーションの管理データベースや、チーム プロジェクト ポータルをホストするサイト コレクション データベースが含まれます。 配置内のチーム プロジェクト コレクションごとに個別のサイト コレクションを使用するように、配置が構成されていることが理想的です。 Team Foundation Server でチーム プロジェクト コレクションを 1 ユニットにまとめてバックアップおよび復元できるように、サイト コレクションも SharePoint 製品でバックアップおよび復元できます。 配置内の 1 つ以上のコレクションが、ルート サイトにサイト コレクションではなく、サイトまたはサブサイトを使用している場合、コレクションを完全にバックアップおよび復元できない可能性があります。 詳細については、「チーム プロジェクト コレクションの管理」を参照してください。

    注意

    チーム プロジェクト ポータル ページのデータベースと Web サイトの両方のバックアップが必要ではないかと思われるかもしれません。しかし、SharePoint 製品 では、データベースから Web サイトが動的に生成されます。つまり、データベースをバックアップすると、Web サイトとして表示されるチーム プロジェクトのセクションもバックアップされます。SharePoint 製品 で、Team Foundation の外部にカスタム サイト コレクション、サイト テンプレート、または Web パーツを作成した場合は、それらを個別にバックアップする必要があります。詳細については、Microsoft Web サイトの「バックアップ (SharePoint Foundation 2010)」を参照してください。

  • Reporting Services と Analysis Services のデータベース  配置で SQL Server Reporting Services または SQL Server Analysis Services を使用して Team Foundation Server のレポートを生成している場合は、レポート データベースと分析データベースをバックアップする必要があります。 ただし、この場合でも、復元後に特定のデータベース (ウェアハウスなど) を生成し直す必要があります。

  • レポート サーバーの暗号化キー   レポート サーバーには、バックアップが必要な暗号化キーがあります。 このキーは、レポート サーバーのデータベースに格納されている機密情報を保護するためのものです。 このキーは、Reporting Services 構成ツールまたはコマンド ライン ツールを使用して手動でバックアップできます。

バックアップの事前準備

Team Foundation を配置するときに、作成するアカウント、すべてのコンピューター名、パスワード、および指定したセットアップ オプションを記録して保管します。 また、回復資料、ドキュメント、データベース、トランザクション ログのバックアップのすべてのコピーは、必ず安全な場所に保管してください。 火災や地震などの災害に対する保護手段として、サーバー バックアップの複製を、サーバーが設置されている場所とは異なる場所に保管します。 これにより、重要なデータの消失を防止できます。 ベスト プラクティスとしては、バックアップ メディアのコピーを 3 つ作成し、少なくとも 1 つのコピーを管理された別の環境に保管します。

重要

定期的に試験データの復元を実行し、ファイルが正常にバックアップされていることを検証します。復元の試験を行うと、ソフトウェアの検査では見つからないハードウェアの問題を見つけることができます。

データベースのバックアップと復元を行うときは、ネットワーク アドレスを持つメディア (たとえば、ネットワーク ドライブとして共有されているテープやディスク) にデータをバックアップする必要があります。 バックアップ計画には、次のようなメディア管理の準備を含める必要があります。

  • バックアップ セットの保存とリサイクルに対するトラッキング計画と管理計画。

  • バックアップ メディアの上書きに対するスケジュール。

  • マルチサーバー環境では、集中バックアップと分散バックアップのいずれを採用するかの決定。

  • メディアの耐用年数のトラッキング方法。

  • バックアップ セットまたはバックアップ メディア (テープなど) の消失による影響を最小限に抑える手順。

  • バックアップ セットを内部と外部のいずれで保管するかの決定、およびその決定が復元時間与える影響の分析。

Team Foundation のデータは SQL Server データベースに格納されているため、Team Foundation のクライアントがインストールされているコンピューターをバックアップする必要はありません。 メディア エラーまたはこれらのコンピューターが関係する障害が発生した場合、クライアント ソフトウェアを再インストールして、サーバーに再接続できます。 クライアント ソフトウェアを再インストールすることで、バックアップからクライアント コンピューターを復元するよりも、より明快で信頼性の高いシステムが得られます。

更新 2 で使用できるスケジュールされたバックアップ機能を使用するか、Team Foundation の配置に関連するデータベースをバックアップするメンテナンス プランを SQL Server で手動作成することによって、サーバーをバックアップできます。 Team Foundation Server のデータベースは相互に関連して動作するため、手動プランを作成する場合は、同時にバックアップし、同時に復元する必要があります。 データベースのバックアップのストラテジの詳細については、Microsoft Web サイトの「SQL Server のバックアップと復元のストラテジの概要」を参照してください。

バックアップの種類

使用できるバックアップの種類について理解すると、配置のバックアップに最適なオプションを判断するのに役立ちます。 たとえば、大規模な配置を使用しており、限られたストレージ リソースを効率的に使用してデータ損失から保護する場合は、完全データ バックアップだけでなく差分バックアップを構成できます。 SQL Server ALwaysOn を使用している場合、セカンダリ データベースのバックアップを作成することができます。 バックアップを圧縮したり、複数のファイルにバックアップを分割することもできます。 バックアップ オプションの簡単な説明を次に示します。

完全なデータ バックアップ (データベース)   配置を復元するには、完全なデータベース バックアップが必要です。 完全なバックアップには、完全なバックアップを復元できるようにするために、トランザクション ログの部分が含まれます。 完全なバックアップは、バックアップが完了した時点で存在していたデータベース全体に相当するデータを含んでおり、単体で使用できます。 詳細については、Microsoft Web サイトの「データベースの完全バックアップ」を参照してください。

差分データ バックアップ (データベース)   差分データベース バックアップでは、前回の完全データベース バックアップ (差分ベースと呼ばれます) 以降に変更されたデータのみが記録されます。 差分データベース バックアップは、完全データベース バックアップよりも、サイズが小さく、高速に実行できます。 このオプションを使用すると、処理は複雑になりますが、バックアップにかかる時間を短縮できます。 サイズの大きいデータベースには、データベース バックアップよりも差分バックアップの実行間隔を短くすることで、作業内容が失われる可能性を削減できます。 詳細については、Microsoft Web サイトの「データベースの差分バックアップ」を参照してください。

また、トランザクション ログも定期的にバックアップしてください 完全データベース バックアップ モデルを使用して、データを回復するときに、これらのバックアップが必要です。 トランザクション ログをバックアップすると、障害が発生した時点またはその他の特定の時点の状態にデータベースを復元できます。

トランザクション ログのバックアップ   トランザクション ログは、実行されたそれぞれの変更のトランザクションに加え、データベースで発生したすべての変更を逐次的に記録したデータです。 トランザクション ログには、各トランザクションの開始およびデータに対する変更が記録されるほか、必要に応じて、各トランザクションの間に行われた変更を元に戻すのに必要な情報も記録されます。 データベースでログに記録する操作が発生するごとに、ログの容量が継続的に増加します。

トランザクション ログをバックアップすることで、データベースを以前の時点の状態に復元できます。 たとえば、不用なデータが入力される前や障害が発生した時点の状態にデータベースを復元できます。 データベースのバックアップの他に、トランザクション ログのバックアップを復元計画に加える必要があります。 詳細については、Microsoft Web サイトの「トランザクション ログのバックアップ」を参照してください。

通常、トランザクション ログのバックアップでは、完全なバックアップより少量のリソースが使用されます。 したがって、トランザクション ログのバックアップを完全なバックアップより頻繁に作成し、データが失われるリスクを軽減できます。 ただし、トランザクション ログのバックアップが完全なバックアップより大きくなる場合があります。 たとえば、データベースでのトランザクション発生率が高く、トランザクション ログが急速に増大するとします。 この状況では、トランザクション ログのバックアップをより頻繁に作成してください。 詳細については、Microsoft Web サイトの「満杯になったトランザクション ログのトラブルシューティング」を参照してください。

トランザクション ログのバックアップには、次の 3 種類があります。

  • ピュア ログ バックアップには、一括変更のない、間隔を置いたトランザクション ログ レコードのみが格納されます。

  • 一括ログのバックアップには、一括操作によって変更されたログとデータ ページが格納されます。 時間を指定した復元はできません。

  • ログ末尾のバックアップは、損傷を受けた可能性のあるデータベースから取得され、バックアップされていないログ レコードを取り込みます。 ログ末尾のバックアップは、作業の無駄が発生するのを防ぐために、障害が発生した後で取得され、これにはピュア ログ データまたは一括ログのデータを格納できます。

データの同期は Team Foundation Server を正常に復元するために重要な要素のため、バックアップを手動で構成する場合は、マークされたトランザクションをバックアップ方法の一部として使用する必要があります。 詳細については、「バックアップ スケジュールおよび計画の構成」および「Team Foundation Server の手動バックアップ」を参照してください。

サービスのバックアップ (アプリケーション層)

論理アプリケーション層で実行する必要があるバックアップは、Reporting Services の暗号化キーのバックアップだけです。 スケジュールされたバックアップ機能を使用して配置をバックアップした場合、このキーはプランの一部としてバックアップされます。 チーム プロジェクト ポータルとして使用される Web サイトのバックアップが必要であるようにも思われます。 SharePoint 製品を Team Foundation Server の配置の一部として統合している場合は、ポータルは Team Foundation Server および SharePoint 製品のデータベースのバックアップの一環としてバックアップされます。 ただし、統合された Web アプリケーションを使用して作成されていない Web サイトを指定した場合、これらのサイトは手動でバックアップおよび復元する必要があります。 また、SharePoint 製品またはサービスをカスタマイズしている場合、それらについてもバックアップするか記録して、新しいサーバーでも再現できるようにしてください。

アプリケーション層はデータ層よりもバックアップは簡単ですが、アプリケーション層を復元するときはより多くの手順を実行する必要があります。 Team Foundation 用に別のアプリケーション層をインストールして、新しいアプリケーション層を使用するようにチーム プロジェクト コレクションをリダイレクトし、さらにチーム プロジェクトのポータル サイトをリダイレクトする必要があります。

既定のデータベース名

データベースの名前をカスタマイズしない場合は、次の表を使用して、Team Foundation Server の配置で使用されるデータベースを特定できます。 前にも説明しましたが、すべての配置に、これらのデータベースがすべて含まれているわけではありません。 たとえば、Team Foundation Server に Reporting Services を構成していない場合は、ReportServer データベースまたは ReportServerTempDB データベースはありません。 同様に、Lab Management をサポートするように Team Foundation Server を構成していない場合は、VirtualManagerDB という名前の System Center Virtual Machine Manager (SCVMM) のデータベースはありません。 また、Team Foundation Server が使用するデータベースは、SQL Server の複数のインスタンスまたは複数のサーバーに分散している可能性があります。

注意

Team Foundation Server のインストールまたは運用中に自動的に作成されたデータベースの名前には、TFS_ というプレフィックスが既定で追加されます。

データベース

説明

TFS_Configuration

Team Foundation Server の構成データベースです。配置のカタログ、サーバー名、および構成データが格納されています。 このデータベース名では、TFS_Configuration の間に、Team Foundation Server をインストールしたユーザーの名前など、追加の文字が含まれる場合があります。 たとえば、TFS_UserNameConfiguration がデータベースの名前になります。

TFS_Warehouse

ウェアハウス データベースです。Reporting Services が使用するウェアハウスをビルドするためのデータが格納されています。 このデータベース名では、TFS_Warehouse の間に、Team Foundation Server をインストールしたユーザーの名前など、追加の文字が含まれる場合があります。 たとえば、TFS_UserNameWarehouse がデータベースの名前になります。

TFS_CollectionName

チーム プロジェクト コレクションのデータベースです。コレクションに含まれるチーム プロジェクトのすべてのデータが格納されています。 このデータには、ソース コード、ビルド構成、およびラボ管理構成が含まれます。 コレクション データベースの数は、コレクションの数と同じになります。 たとえば、配置に 3 つのコレクションがある場合、3 つのコレクション データベースをバックアップする必要があります。 各データベースの名前では、TFS_ と CollectionName の間に、コレクションを作成したユーザーの名前など、追加の文字が含まれる場合があります。 たとえば、TFS_UserNameCollectionName がコレクション データベースの名前になります。

TFS_Analysis

SQL Server Analysis Services のデータベースには、Team Foundation Server の配置のデータ ソースとキューブが格納されています。 このデータベース名では、TFS_Analysis の間に、Analysis Services をインストールしたユーザーの名前など、追加の文字が含まれる場合があります。 たとえば、TFS_UserNameAnalysis がデータベースの名前になります。

注意

このデータベースはバックアップできますが、復元された TFS_Warehouse データベースからウェアハウスをリビルドする必要があります。

ReportServer

Reporting Services のデータベースです。Team Foundation Server の配置のレポートとレポート設定が格納されています。

注意

Reporting Services が Team Foundation Server とは異なるサーバーにインストールされている場合、このデータベースは、Team Foundation のデータ層サーバーに存在しないことも考えられます。その場合は、Team Foundation Server とは別にこれを構成、バックアップ、および復元する必要があります。ただし、同期エラーを防ぐため、データベースを保守する際は、両者に矛盾が生じないように注意する必要があります。

ReportServerTempDB

Reporting Services の一時データベースです。特定のレポートを実行するときに情報が一時的に格納されます。

注意

Reporting Services が Team Foundation Server とは異なるサーバーにインストールされている場合、このデータベースは、Team Foundation のデータ層サーバーに存在しないことも考えられます。その場合は、Team Foundation Server とは別にこれを構成、バックアップ、および復元する必要があります。ただし、同期エラーを防ぐため、データベースを保守する際は、両者に矛盾が生じないように注意する必要があります。

WSS_Config

SharePoint 製品の構成データベースです。コンテンツ データベース、サイト テンプレート、カスタム Web パーツ、SharePoint サーバー管理のその他の設定など、すべてのサイトのリストが格納されています。

注意

SharePoint 製品が使用するデータベースを手動でバックアップまたは復元する場合、マークされたトランザクションを使用しないでください。ただし、同期エラーを回避するために、SharePoint 製品と Team Foundation Server についてバックアップおよび復元のスケジュールの同期を試みる必要があります。詳細については、「SharePoint Foundation のバックアップ プランの作成」を参照してください。

WSS_Content

SharePoint 製品のコンテンツ データベースです。チーム プロジェクト ポータルの実際のコンテンツが格納されています。

注意

このデータベースの名前は、インストールされている SharePoint 製品のバージョン、およびそれをインストールしたユーザーが名前をカスタマイズしたかどうかによって異なります。SharePoint 製品が使用するデータベースを手動でバックアップまたは復元する場合、マークされたトランザクションを使用しないでください。ただし、同期エラーを回避するために、SharePoint 製品と Team Foundation Server についてバックアップおよび復元のスケジュールの同期を試みる必要があります。詳細については、「SharePoint Foundation のバックアップ プランの作成」を参照してください。

WSS_AdminContent

SharePoint 製品の管理データベースです。ユーザー、ロール、およびデータベースのセキュリティ情報が格納されています。

注意

SharePoint 製品が使用するデータベースを手動でバックアップまたは復元する場合、マークされたトランザクションを使用しないでください。ただし、同期エラーを回避するために、SharePoint 製品と Team Foundation Server についてバックアップおよび復元のスケジュールの同期を試みる必要があります。詳細については、「SharePoint Foundation のバックアップ プランの作成」を参照してください。

VirtualManagerDB

SCVMM の管理データベースには、仮想マシン、仮想マシンのホスト、仮想マシンのライブラリ サーバー、およびそれらのプロパティなど、SCVMM 管理者コンソールに表示される情報が格納されています。

注意

SCVMM が Team Foundation Server とは異なる別のサーバーにインストールされている場合、このデータベースは Team Foundation のデータ層サーバーに存在しないこともあります。その場合は、Team Foundation Server とは別にこれを構成、バックアップ、および復元する必要があります。ただし、同期エラーを防ぐため、データベースを保守する際は、マークされたトランザクションを使用して両者に矛盾が生じないように注意する必要があります。

参照

概念

TFS のバックアップおよび復元

その他の技術情報

配置の新しいハードウェアへの復元