ログをバックアップまたはアーカイブする (SharePoint Server 2010)

 

適用先: SharePoint Foundation 2010, SharePoint Server 2010

トピックの最終更新日: 2016-11-30

Microsoft SharePoint Server 2010 関連のデータが記録されたログをバックアップまたはアーカイブすることを、システム全体のデータ保護戦略に組み入れてください。このデータは、パフォーマンス分析やトラブルシューティングに利用できます。また、サービス レベル契約を遵守しているか監視するなど、法令や業務上の理由で利用することもあります。したがって、日常的な保守業務の一環としてログをバックアップまたはアーカイブすることによって、このデータを保護することが大切です。

以下の各セクションでは、この種のログをバックアップまたはアーカイブする重要度を以下のラベルで示します。

  • [Essential] は、環境に不可欠なデータが記録されるログであることを示します。このデータはディスク障害などの問題が発生すると失われる可能性があります。

  • [Recommended] は、トラブルシューティング、運用、法令、その他の必要性において多くの環境で役立つデータが記録されるログであることを示します。

この記事の内容

  • [重要] トランザクション ログをバックアップする

  • [推奨] 利用状況データを収集する

  • [推奨] 診断ログをアーカイブする

[重要] トランザクション ログをバックアップする

Microsoft SQL Server 2008 R2、SQL Server 2008 Service Pack 1 (SP1) (累積的な更新プログラム 2 の適用済み)、および SQL Server 2005 SP3 (累積的な更新プログラム 3 の適用済み) のトランザクション ログには、前回のチェックポイントまたは完全バックアップ以降に発生した、データベースに対するすべての変更が記録されます。これらのログには、ファームの復元に必要なデータが含まれています。

これらのログは、5 分から 10 分間隔でバックアップすることをお勧めします。これらのログをバックアップすると、ログが自動的に切り詰められます。トランザクション ログは、Microsoft SQL Server 2008 R2、SQL Server 2008 Service Pack 1 (SP1) (累積的な更新プログラム 2 の適用済み)、および SQL Server 2005 SP3 (累積的な更新プログラム 3 の適用済み) のツールでバックアップできます。詳細については、「トランザクション ログ バックアップの作成」(https://go.microsoft.com/fwlink/?linkid=124881&clcid=0x411) (Microsoft SQL Server 2008 R2、SQL Server 2008 Service Pack 1 (SP1) (累積的な更新プログラム 2 の適用済み)、および SQL Server 2005 SP3 (累積的な更新プログラム 3 の適用済み) のドキュメント内) を参照してください。

SharePoint サーバーの全体管理 Web サイトまたは Windows PowerShell を使用して、ファーム、Web アプリケーション、またはデータベースをバックアップすると、トランザクション ログも自動的にバックアップされます。詳細については、「ファームをバックアップする (SharePoint Server 2010)」を参照してください。

トランザクション ログのサイズがファームのバックアップの所要時間に及ぼす影響

SharePoint Server 2010 をバックアップするとき、トランザクション ログのサイズによってバックアップ処理にかかる時間は増減します。トランザクション ログには、前回のチェックポイントまたは完全バックアップ以降に発生した、データベースに対するすべての変更が記録されるので、このログのサイズは時間経過とともに非常に大きくなることがあります。トランザクション ログが非常に大きくなると、バックアップの所要時間も非常に長くなります。詳細については、「SQL Server データベースのトランザクション ログが突然拡張されないようにする方法」(https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x411) を参照してください。

完全復旧モデルを使用している場合は、トランザクション ログのバックアップを通じてログを切り詰めることをお勧めします。Microsoft SQL Server 2008 R2、SQL Server 2008 Service Pack 1 (SP1) (累積的な更新プログラム 2 の適用済み)、および SQL Server 2005 SP3 (累積的な更新プログラム 3 の適用済み) では、トランザクション ログをバックアップすると、ログの使われていない部分が自動的に切り詰められます。また、トランザクション ログが自動的に拡張されないように、ログを事前に拡張しておくこともお勧めします。詳細については、「トランザクション ログ ファイルのサイズの管理」(https://go.microsoft.com/fwlink/?linkid=124882&clcid=0x411) を参照してください。完全復旧モデルの使用の詳細については、「完全復旧モデルでのバックアップ」(https://go.microsoft.com/fwlink/?linkid=127985&clcid=0x411) を参照してください。単純復旧モデルの使用の詳細については、「単純復旧モデルでのバックアップ」(https://go.microsoft.com/fwlink/?linkid=127987&clcid=0x411) を参照してください。

トランザクション ログのサイズを手動で縮小したり、Truncate メソッドを使用してログを手動で切り詰めたりすることはお勧めしません。

[推奨] 利用状況データを収集する

利用状況分析は Web サイトの利用状況を追跡する機能です。利用状況を追跡するためにログ ファイルが毎日作成されます。利用状況のデータ収集に関する設定を構成できます。特に重要な設定はログ ファイルの場所です。既定では、SharePoint Server 2010 をインストールしたドライブ パーティションがログ フォルダーの場所となります。ログ ファイルによってそのドライブがいっぱいになるのを防ぐには、ログ フォルダーの場所の設定を別のドライブに変更してください。

ログ ディレクトリの場所はファームレベルの設定であり、この設定で指定するディレクトリは、ファーム内のすべてのサーバーに存在する必要があります。これらのログは、ファームをバックアップすると、自動的にバックアップされます。

ほとんどの環境では、既定の設定で適切に動作します。利用状況データ収集設定の構成の詳細については、「Usage and Health data collection を構成する (SharePoint Server 2010)」を参照してください。

[推奨] 診断ログをアーカイブする

診断ログにはファームの運用状況に関する詳細な情報が記録されます。記録される情報の詳細度を構成できます。ファームをアーカイブするとき、これらのログをアーカイブすることをお勧めします。ファーム全体または特定のサーバーについて、ログをアーカイブできます。これらのファイルをアーカイブするには、ファイルを手動で共有フォルダーにコピーする方法と、Windows PowerShell の Merge-SPlogFile コマンドレットを使う方法があります。Merge-SPLogFIle コマンドレットでは、ファームのすべてのサーバーのログ ファイルを一度にアーカイブできます。Windows PowerShell の Copy-Item コマンドレットでは、特定のサーバーのログ ファイルをアーカイブできます。Copy-Item コマンドレットにはフィルター機能がないので、ログ ファイルの全体をコピーする必要があります。

診断ログを構成する方法の詳細については、「診断ログを構成する (SharePoint Server 2010)」を参照してください。

Windows PowerShell を使用してすべてのファーム サーバーの診断ログをアーカイブするには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 製品] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Merge-SPLogFile -Path "<path to merged log file>.log" -Overwrite

    例: Merge-SPLogFile -Path "C:\Logs\MergedFiles\AllFarm_merged_12.20.2009.log" -Overwrite

    重要

    すべてのファーム サーバーのすべてのログ エントリを結合するには、多くの時間とリソースが必要です。フィルターで特定の条件セットを満たすエントリを抽出してから結合を行うことをお勧めします。

    特定の条件セットを満たすログ エントリを結合するには、次のコマンドを使います。

    Merge-SPLogFile -Path "<path to merged log file>.log" -Area "<Area>" -Category "<Category>"

    以下のフィルターを指定できます。

    • Area (ワイルドカード、複数指定可)

    • Category (ワイルドカード、複数指定可)

    • Level

    • Correlation (複数指定可)

    • EventID (ワイルドカード、複数指定可)

    • Message (ワイルドカード)

    • StartTime

    • EndTime

    • Process (ワイルドカード、複数指定可)

    • ThreadID (複数指定可)

    ヒント

    結合後のログ ファイルには任意の名前を付けることができます。<結合したデータ><ファーム名><フィルター条件> のように、ログ ファイルの内容がわかりやすい命名規則を使用することをお勧めします。たとえば、SharePoint Foundation 2010 のすべてのファーム サーバー ログ エントリのうち、データベース カテゴリに関連し、使用頻度が "高" とマークされているログ エントリを示すには、"Dec_2009_ContosoInternet_Foundation_Database_High.log" という名前にします。

詳細については、「Merge-SPLogFile」を参照してください。

Windows PowerShell を使用して特定のサーバーの診断ログをアーカイブするには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 製品] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Copy-Item <Log folder path> -Destination <Archive folder path> -Recurse

詳しい情報は、Get-Help Copy-Item -Full で取得できます。