SharePoint Server でログ データベースのデータを表示するView data in the logging database in SharePoint Server

適用対象:はい2013 yes2016 yes2019 SharePointOnline なしAPPLIES TO: yes2013 yes2016 yes2019 noSharePoint Online

注意

SharePoint Server 2016 は インターネット インフォメーション サービス (IIS) で Web サイトとして実行されるため、管理者およびユーザーはブラウザーが提供するアクセシビリティ機能に依存します。SharePoint Server 2016 は、サポートされるブラウザーのアクセシビリティ機能をサポートします。詳細については、以下を参照してください。 > SharePoint 2013 でブラウザー サポートを計画する> SharePoint Online のアクセシビリティ機能> SharePoint のキーボード ショートカット> Windows タッチ ジェスチャの概要Because SharePoint Server 2016 runs as websites in Internet Information Services (IIS), administrators and users depend on the accessibility features that browsers provide. SharePoint Server 2016 supports the accessibility features of supported browsers. For more information, see the following resources: > Plan browser support> Accessibility features in SharePoint Products> Keyboard shortcuts> Touch

SharePoint ログ データベースの概要Introduction to the SharePoint logging database

SharePoint Server 2016 を実行しているサーバーおよびサーバーで実行されているサービスを監視するために、Windows Server イベント ログ、SharePoint Unified Logging Service (ULS) ログ (トレース ログとも呼ばれます)、利用状況データ ログなど、さまざまなログに直接アクセスできます。また、SharePoint Server 2016 の SharePoint サーバーの全体管理 Web サイトに移動して、さまざまなレポートを確認することもできます。SharePoint Health Analyzer レポートにはサーバーまたはサービス用のルールが、管理 (診断) レポートには検索関連の情報が、Web Analytics レポートには Web 分析指標が含まれています。レポートの詳細については、「SharePoint Server 2016 でレポートとログを表示する」を参照してください。To monitor servers that are running SharePoint Server 2016 and the services that run on the servers, you can directly access various logs such as the Windows Server event logs, SharePoint Unified Logging Service (ULS) logs (also known as trace logs), or usage data logs. You can also go to SharePoint Server 2016the SharePoint Central Administration website to review various reports. SharePoint Health Analyzer reports contain rules for servers or services. Administration (diagnostics) reports contain search-related information. Web Analytics reports contain web analytics metrics. For more information about reports, see View reports and logs in SharePoint Server 2016.

前に説明した監視方法はすべて制限があります。たとえば、Windows Server イベント ログ、SharePoint ULS ログ、および利用状況データ ログは 1 つの場所に保存されていないので、関連ログを確認するには、それぞれの場所に移動する必要があります。また、サーバーの全体管理のレポートによく使用する指標や監視情報が含まれていても、そのレポートは変更できない定義済みレポートなので、新しい監視情報を追加することはできません。All the monitoring methods mentioned previously have limits. For example, Windows Server event logs, SharePoint ULS logs, and usage data logs are not stored in one single place. You have to go to different places to find related logs. Similarly, although reports from Central Administration contain the most frequently used metrics and monitoring information, if you want to add more monitoring information to those reports, you cannot do it because these reports are pre-defined and cannot be changed.

監視の効率を高めるには、SharePoint Server 2016 のログ データベースを使用します。ログ データベースは、ファーム内の各サーバーから取得される SharePoint Server 2016 監視情報のファーム全体のリポジトリで、さまざまな監視情報を 1 つの場所で表示およびカスタマイズするオプションが用意されています。また、このログ データベースは直接変更してレポートをカスタマイズできる唯一の SharePoint Server 2016 データベースです。You can increase monitoring efficiency by using the logging database in SharePoint Server 2016. The logging database is a farm-wide repository of SharePoint Server 2016 monitoring information from every server in the farm. The logging database provides the option to view and customize various monitoring information in one place. Moreover, the logging database is the only SharePoint Server 2016 database for which you can customize reports by directly changing the database.

注意

SharePoint Server 2016 データベースの詳細については、「データベースの種類と説明 (SharePoint Server)」を参照してください。For more information about SharePoint Server 2016 databases, see Database types and descriptions in SharePoint Server.

注意

データベースの既定の名前は SharePoint_Logging です。この既定の名前と SharePoint データベース サーバーの場所を変更するには、Microsoft PowerShell を使用します。ログ データベースの名前およびデータベース サーバーの場所の詳細については、「 SharePoint Server で利用状況および正常性データ収集を構成する」を参照してください。The default name of the database is SharePoint_Logging. You can change the default name and the SharePoint database server location by using Microsoft PowerShell. For more information about the logging database name and database server location, see Configure usage and health data collection in SharePoint Server.

さまざまな監視情報を 1 つの場所に保存すると、SharePoint Server 2016 サーバーおよびサービスを効率的に監視するのに役立ちます。さらに重要なのは、ログ データベース内のテーブルに基づいて、特定の監視、レポート作成、およびトラブルシューティング要件に応じた独自のレポートを作成できることです。この記事では、既存のテーブルおよびビューを使用してレポートを作成する方法について説明します。新しいテーブルを作成するには独自のプロバイダーを記述することをお勧めします。A single place that stores various monitoring information helps you efficiently monitor SharePoint Server 2016 servers and services. More importantly, you can create your own reports for unique monitoring, reporting and troubleshooting requirement based on tables inside the logging database. This article describes how to create reports by using existing tables and views. You might want to write your own providers to create new tables.

注意

SQL ビューは仮想テーブルです。テーブルと SQL ビューの違いは、テーブル内のデータは変更できますが、SQL ビュー内のデータを変更できない点です。A SQL view is a virtual table. One difference between a table and a SQL view is that you can modify the data inside a table but you cannot modify the data inside a SQL view.

SharePoint Server 2016 のサーバーの全体管理を使用して、ログデータベースにインポートされたログを構成します。You use SharePoint Server 2016 Central Administration to configure logs imported into the logging database. ログ カテゴリ、ログ レベル、およびトレース (ULS) ログ パスを構成する方法の詳細については、「SharePoint Server で診断ログを構成する」を参照してください。For more information about how to configure log categories, log levels, and trace (ULS) log path, see Configure diagnostic logging in SharePoint Server. ログ データベースに書き込む内容を有効にする方法の詳細については、「SharePoint Server で利用状況および正常性データ収集を構成する」を参照してください。For more information about how to enable what is written into the logging database, see Configure usage and health data collection in SharePoint Server. ログ データベース サーバー、名前およびデータベース認証情報、ログ データベースに書き込むイベント、およびログがログ データベースに書き込まれる頻度 (つまり、利用状況データベースのインポートに関連するタイマー ジョブ) を指定する方法の詳細については、「SharePoint Server 2016 で SharePoint Health Analyzer タイマー ジョブを構成する」を参照してください。For more information about how to specify the logging database server, name and database authentication information, the events to be written to the logging database, and the frequency that logs are written to the logging database (that is, timer jobs related to usage database importing), see Configure SharePoint Health Analyzer timer jobs in SharePoint Server 2016.

この記事の手順では、SQL Server Management Studio を使用してログ データベースにアクセスします。Management Studio は SQL Server 2008 のコンポーネントです。The procedures in this article use SQL Server Management Studio to access the logging database. Management Studio is a component of SQL Server 2008.

注意

ログ データベースにアクセスするには、Windows 認証 (推奨) または SQL 認証のどちらかが必要です。データベース認証情報は、SharePoint Server 2016 のサーバーの全体管理で構成されます。認証方法の詳細については、「SharePoint Server で利用状況および正常性データ収集を構成する」を参照してください。To access the logging database, you have to have either Windows authentication (recommended) or SQL authentication. The database authentication information is configured in SharePoint Server 2016Central Administration. For more information about authentication methods, see Configure usage and health data collection in SharePoint Server.

SharePoint ログ データベースの定義済み SQL ビューPre-defined SQL views in the SharePoint logging database

このセクションでは、SharePoint Server 2016 ログ データベース内のパーティション テーブルおよび SQL ビューについて説明します。これには次の 3 つの手順が含まれます。This section describes partition tables and SQL views inside the SharePoint Server 2016 logging database, and includes the following three procedures:

  • SQL Server Management Studio を使用してログ データベースにアクセスするにはTo access the logging database by using SQL Server Management Studio

  • 既定のビューでログ情報を表示するにはTo view the logging information from default views

  • Excel を使用してログ データをエクスポートおよび表示するにはTo export to and view the logging data by using Excel

ログ データベースでは、毎日のデータがカテゴリごとに個別のパーティション テーブルに保存されます。たとえば、1 日目のタイマー ジョブ利用状況データは dbo.TimerJobUsage_Partition0 テーブルに書き込まれ、後で 32 日分のデータが dbo.TimerJobUsageUsage_Partition31 テーブルに書き込まれます。1 つのパーティション テーブルに 1 日のログが書き込まれるので、各パーティション テーブルに 1 日分のログがログ カテゴリごとに保存されることになります。The logging database uses a separate partition table for the daily data for each category. For example, the timer job usage data for the first day is written to the dbo.TimerJobUsage_Partition0 table and the data for 32 days later is written to the dbo.TimerJobUsageUsage_Partition31 table. Logs within one day are written to one partition table. That means, for each log category, each partition table stores one particular day's logs.

注意

パーティション テーブルと日付のマッピングは、ログ データベースの保持期間と、ログ データベースへのログ書き込みの開始日によって決まります。マッピングを取得するには、各テーブルの時間情報を確認します。たとえば、保持期間が 14 日で、今日のログがパーティション テーブル 2 に書き込まれている場合、明日のログはパーティション テーブル 3 に、それ以降についても同様に書き込まれます。14 日が経過すると、すべてのログが削除され、新しいログがパーティション テーブル 0 から順番にこれらのパーティション テーブルに書き込まれます。The mapping between one partition table and the exact date depends on the logging database retention period and the starting date to write logs into the logging database. You can get the mapping by observing time information inside each table. For example, if the retention period is 14 days and today's logs are written to partition table 2, tomorrow's logs will be written into partition table 3 and so on. After 14 days, all logs are deleted and new logs are written to these partition tables starting from partition table 0.

Management Studio の定義済み SQL ビューを使用して、すべての監視情報を 1 つの場所に表示できます。各定義済みビューは、特定のログ カテゴリの 32 個のパーティション テーブルすべてからデータを収集します。たとえば、 dbo.TimerJobUsage_Partition0 から dbo.TimerJobUsageUsage_Partition31 までの 32 個のテーブルの監視情報を表示することができます。You can use the pre-defined SQL views in Management Studio to view all monitoring information in one place. Each pre-defined view collects the data from all 32 partition tables for the specific log category. For example, you can view the monitoring information in 32 tables from dbo.TimerJobUsage_Partition0 to dbo.TimerJobUsageUsage_Partition31.

定義済みビューにアクセスするには、SharePoint Server 2016 ログ データベースにアクセスする必要があります。このログ データベースから監視情報を表示します。To access the pre-defined views, you must access the SharePoint Server 2016 logging database. Then from the logging database, you view the monitoring information.

Management Studio を使用してログ データベースにアクセスするにはTo access the logging database by using Management Studio

  1. この手順を実行するユーザー アカウントに、 db_owner 固定データベース ロールがあることを確認します。Verify that the user account that is performing this procedure has the db_owner fixed database role.

  2. タスクバーで、[ スタート] ボタンをクリックし、[ すべてのプログラム] をポイントします。次に、[ Microsoft SQL Server 2008] またはインストールされている最新の SQL Server バージョンをクリックし、[ SQL Server Management Studio] をクリックします。On the taskbar, click Start, point to All Programs, click Microsoft SQL Server 2008 or the latest Microsoft SQL Server version that is installed, and then click SQL Server Management Studio.

    注意

    サーバーに Management Studio がない場合は、SQL Server 2008 を再インストールし、Management Studio コンポーネントを追加します。詳細については、「はじめに (SQL Server 2012)」を参照してください。If you do not have Management Studio on the server, reinstall SQL Server 2008 and add the Management Studio component. For more information, see SQL Server Install.

  3. [ サーバーに接続] ダイアログ ボックスで、[ データベース エンジン] を選択します。次に、サーバー名 (ServerName\SharePoint など) を指定し、SharePoint Server 2016 のサーバーの全体管理で構成した認証の種類 ([ Windows 認証] または [ SQL Server 認証]) を選択します。[ SQL Server 認証] を選択した場合は、データベース管理者の資格情報を入力します。情報を設定したら、[ 接続] をクリックします。In the Connect to Server dialog box, choose Database Engine. Then specify the server name, for example, ServerName\SharePoint. Select the authentication type ( Windows Authentication or SQL Server Authentication) that you configured through SharePoint Server 2016Central Administration. If it is SQL Server Authentication, specify the credentials for the database administrator. After the information is set, click Connect.

  4. [ 表示]、[ オブジェクト エクスプローラー] の順にクリックし、[ オブジェクト エクスプローラー] ビューに切り替えます。[ データベース] を展開し、ログ データベースを表示します。このデータベースには、既定の SharePoint_Logging という名前、またはサーバーの全体管理で構成した名前が付いています。Switch to the Object Explorer view by clicking View, and then clicking Object Explorer. Expand Databases to see the logging database that has default name SharePoint_Logging or a name that you configured in Central Administration.

  5. 必要に応じて、ログ データベースを展開し、テーブルとビューを表示します。Optionally, expand the logging database to see tables and views.

既定のビューでログ情報を表示するにはTo view the logging information from default views

  1. この手順を実行するユーザー アカウントに、 db_owner 固定データベース ロールがあることを確認します。Verify that the user account that is performing this procedure has the db_owner fixed database role.

  2. Management Studio で、前の手順に従ってログ データベース ノードに移動します。In Management Studio, go to the logging database node by using the previous procedure.

  3. データベースの [ ビュー] ノードを展開し、既定のビューを表示します。ビュー ( dbo.RequestUsage など) を右クリックし、[ 上位 1000 行の選択] を選択します。Expand the Views node of the database to see the default views. Right-click the view — for example dbo.RequestUsage, and choose Select Top 1000 Rows.

    [ 上位 1000 行の選択] 操作の T-SQL クエリ スクリプトを次に示します。The operation Select Top 1000 Rows is the following T-SQL query script:

/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [PartitionId]
      ,[RowId]
      ,[LogTime]
      ,[MachineName]
      ,[FarmId]
      ,[SiteSubscriptionId]
      ,[UserLogin]
      ,[CorrelationId]
      ,[WebApplicationId]
      ,[ServerUrl]
      ,[SiteId]
      ,[SiteUrl]
      ,[WebId]
      ,[WebUrl]
      ,[DocumentPath]
      ,[ContentTypeId]
      ,[QueryString]
      ,[BytesConsumed]
      ,[HttpStatus]
      ,[SessionId]
      ,[ReferrerUrl]
      ,[ReferrerQueryString]
      ,[Browser]
      ,[UserAgent]
      ,[UserAddress]
      ,[RequestCount]
      ,[QueryCount]
      ,[QueryDurationSum]
      ,[ServiceCallCount]
      ,[ServiceCallDurationSum]
      ,[OperationCount]
      ,[Duration]
      ,[RequestType]
      ,[Title]
      ,[RowCreatedTime]
  FROM [SharePoint_Logging].[dbo].[RequestUsage]
<span data-ttu-id="2e1a0-183">[ **要求の利用状況**] テーブル カテゴリの上位 1000 行が結果ウィンドウに表示されます。</span><span class="sxs-lookup"><span data-stu-id="2e1a0-183">The top 1000 rows of the table category **Request Usage** appear in the result window.</span></span> 
  1. T-SQL クエリは、SQL エディター ウィンドウで変更できます。たとえば、テーブルに含まれる行が 1000 を超える場合は、上位 5000 行を表示してください。それには、スクリプトで "SELECT TOP 1000" を "SELECT TOP 5000" に置き換えて、[ 実行] をクリックします。You can modify the T-SQL query in the SQL editor window. For example, if there are more than 1000 rows in the tables, you might want to view the top 5000 rows. To do that, change the script by replacing "SELECT TOP 1000" with "SELECT TOP 5000", and then click Execute.

Management Studio 以外のツールを使用してログを表示するには、ビューから監視情報を抽出し、テキスト ファイルまたは CSV ファイルとして保存します。次の手順では、Excel が例として使用されています。If you want to view logs by using tools other than Management Studio, you can extract the monitoring information from the views and save as a text file or a CSV file. In the following procedure, Excel is used as an example.

Excel を使用してログ データをエクスポートおよび表示するにはTo export and view the logging data by using Excel

  1. この手順を実行するユーザー アカウントに、 db_owner 固定データベース ロールがあることを確認します。Verify that the user account that is performing this procedure has the db_owner fixed database role.

  2. Management Studio で、ログ データベース ノードに移動します。In Management Studio, go to the logging database node.

  3. [ ビュー] ノードを展開し、データを抽出するビューを右クリックして、[ 上位 1000 行の選択] をクリックします。Expand the Views node, right-click the view from which you want to extract data, and then click Select Top 1000 Rows.

  4. 結果ウィンドウ内で右クリックし、[ すべて選択] をクリックします。次に、右クリックして、[ 結果に名前を付けて保存] をクリックします。In the result window, right-click, and then click Select All. Then right-click and then click Save Results As….

  5. [ グリッドの結果を保存] ウィンドウで、ファイルを保存するフォルダーを指定し、[ ファイルの種類] として [CSV (コンマ区切り)] を指定して、適切なファイル名を指定します。In the Save Grid Results window, specify the folder in which you want to save the file, specify the Save as type as CSV(Comma delimited), and then specify an appropriate file name.

  6. Excel で CSV ファイルをダブルクリックして開きます。Open the CSV file by double-clicking it in Excel.

SharePoint ログ データベースのカスタム SQL ビューCustom SQL views in the SharePoint logging database

SharePoint Server 2016 のログ データベースを使用すると、2 つの方法でカスタム レポートを作成できます。新しいビューを生成するには、既存のテーブルの関連情報を結合します。プロバイダーを記述して、ログ データベース内に新しいパーティション テーブルを生成することもできます。このセクションの例は最初の方法のみを示しています。The logging database in SharePoint Server 2016 enables you to create custom reports in two ways. You can generate new views by combining related information from existing tables, or you can write providers to generate new partition tables inside the logging database. The examples in this section only show the first way.

利用状況テーブルと ULSTraceLog テーブルでは、 CorrelationId は、トラブルシューティング用の重要なパラメーターです。すべてのエラー メッセージに一意の CorrelationId が含まれるからです。 CorrelationId は、要求に関するすべての関連情報にリンクする GUID です。次の手順は、 CorrelationId を使用して複数のログ カテゴリをリンクするカスタム ビューを作成する方法を示しています。In usage tables and the ULSTraceLog tables, the CorrelationId is an important parameter for troubleshooting. This is because every error message contains a unique CorrelationId. CorrelationId is a GUID that links all the related information with respect to a request. The following procedure shows how to make a custom view that links multiple log categories by using the CorrelationId.

既存のテーブルを使用するカスタム SQL ビューを作成するにはTo create a custom SQL view that uses existing tables

  1. この手順を実行するユーザー アカウントに、 db_owner 固定データベース ロールがあることを確認します。Verify that the user account that is performing this procedure has the db_owner fixed database role.

  2. Management Studio で、ログ データベース ノードに移動します。In Management Studio, go to the logging database node.

  3. ログ データベースで、[ ビュー] ノードを展開し、情報を収集するビューの 1 つを選択します。そのビューを右クリックし、[ 新しいビュー] をクリックします。In the logging database, expand the Views node. Choose one of the views for which you want to collect information. Right-click the view, and then click New View.

  4. [ テーブルの追加] ウィンドウで、追加するテーブルを選択します。たとえば、1 日の機能利用状況サイト要求に関する情報が必要な場合は、 dbo.FeatureUsage_Partion1dbo.RequestUsage_Partion1 を追加します。In the Add Table window, choose the tables to add. For example, if you want to obtain information about feature usage site requests for a single day, you can add dbo.FeatureUsage_Partion1 and dbo.RequestUsage_Partion1.

    T-SQL クエリは、2 つのテーブルの一意のキー PartionId を自動的に内部結合します。The T-SQL query automatically inner joins the unique key PartionId in these two tables.

SELECT     
FROM   dbo.FeatureUsage_Partition1 INNER JOIN
    dbo.RequestUsage_Partition1 ON dbo.FeatureUsage_Partition1.PartitionId = dbo.RequestUsage_Partition1.PartitionId

  1. これらのテーブル間のリンクを右クリックし、[ 削除] を選択して、テーブル間の結合を解除します。Disjoin the two tables by right-clicking the link between these tables and selecting removing.

  2. CorrelationId を使用して 2 つのテーブルを内部結合するには、1 つのテーブルの [ CorrelationId] 列をクリックし、ポインターを他のテーブルの [ CorrelationId] 列に移動します。SQL クエリをクエリ エディターで直接変更することもできます。To inner join the two tables using CorrelationId, click the CorrelationId column in one table and move the pointer to the CorrelationId column in another table. Or you can modify the SQL query directly from the Query Editor.

SELECT  
FROM   dbo.FeatureUsage_Partition1 INNER JOIN
    dbo.RequestUsage_Partition1 ON dbo.FeatureUsage_Partition1.CorrelationId = dbo.RequestUsage_Partition1.CorrelationId 

  1. 新しいビューに表示する列を各テーブルで選択します。Choose the columns in each table that you want to show in the new view.

  2. 右クリックして [ SQL の実行] を選択します。結果が結果ウィンドウに表示されます。Right-click and choose Execute SQL. The results appear in the result window.

関連項目See also

概念Concepts

SharePoint Server 2016 でレポートとログを表示するView reports and logs in SharePoint Server 2016

SharePoint Server 2016 での監視の概要Overview of monitoring in SharePoint Server