現在オフラインです。再接続するためにインターネットの接続を待っています

古いデータベースの統計情報は、SharePoint サーバーのパフォーマンスが低下する、タイムアウトが発生し、実行時エラーを生成します。

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:3103194
データベースの統計情報について
クエリの最適化の統計情報は、テーブルまたはインデックス付きのビューの 1 つまたは複数の列の値の分布に関する統計情報を含むオブジェクトです。クエリ オプティマイザーは、基数の見積もりにこれらの統計情報を使用またはクエリ内の行の数が発生します。これらの基数の見積もりには、高品質のクエリ プランを作成するのにはクエリ オプティマイザーが有効にします。

たとえば、クエリ オプティマイザーはクエリの基数の見積もりを使用してインデックスを選択するのには、パフォーマンスがより大量のリソースのインデックスのスキャン演算子の代わりに演算子をシークを改善できます。それ以外の場合、古い統計情報では、効率の悪いクエリ プランを使用してクエリのパフォーマンスが低下します。

大企業の SharePoint の導入には、Microsoft SQL Server 内に存在するコンテンツ データベースのデータベース統計を更新するデータベース保守計画が必要です。お客様は、これらのタスクを実行する SharePoint ベースのデータベースの保守ジョブのみに依存させないでください。詳細については、 SharePoint サーバー ファーム内の SQL Server のベスト プラクティス.
現象
データベースの統計情報が古く、SharePoint サーバーのインストールは、次の現象の 1 つ以上発生ことがあります。
  • 低速での読み込み時間とサイトのページを開くと、HTTP 500 エラーが発生する可能性がありますパフォーマンスの低下
  • 次のエラー メッセージを生成するパフォーマンスが低下します。

    サービスは利用できません。

    不明な SQL 例外 53

    サーバーのエラーでの '/' はアプリケーションの実行時エラー
  • 予期しない SQL Server のパフォーマンスの原因として、データベースのロック、およびブロックをクロールする検索の preforming
  • 各イテレーション中に完了するのには段階的に時間がかかる「Microsoft SharePoint の基盤の利用状況データ処理」のジョブなどの長時間実行されるタイマー ジョブ
  • SharePoint サイトと次のようなエラー メッセージを開くことができない:

    予期しない System.Web.HttpException: 要求がタイムアウトしました
  • ナビゲーション、および次のエラー メッセージをロードするときは、サイトのレンダリング タイムアウト:

    PortalSiteMapProvider が子ノードをフェッチすることができませんでした。
  • SharePoint のクエリを処理するとき、SQL Server を実行しているサーバーの CPU 使用率が高い
原因
古いデータベースの統計情報では、これらの問題が考えられます。SharePoint では、 proc_updatestatisticsの SQL プロシージャを使用して、データベースの統計情報を更新するタイマー ジョブは毎日を実行します。ただし、さまざまな理由は、このタイマー ジョブが完了しないか、一貫してすべてのテーブルが更新されません。たとえば、SharePoint タイマー ジョブと同時に、コンテンツ データベースに対して SQL Server からバックアップを実行する場合、ジョブは続行しません。

統計情報を更新する SharePoint タイマー ジョブが完了すると、ULS ログに、次のイベントが書き込まれます。
  • e9bf「データベース {0} の統計情報を更新中にエラーが発生しました」
  • cm1y [データベース {0} の更新統計]
  • dbl2「スキップの統計情報の更新データベース {0} {1} の状態である」
  • cm1x [{0} 上のすべてのデータベース内の更新する統計]
これらの条件は厳密に監視されていないと、修正処理を実行できない場合は、データベースの統計情報古くなり、最終的に SharePoint のパフォーマンスの問題が発生します。
解決方法
これらの現象と潜在的なサービスの停止を防ぐため、FULLSCAN オプションを使用して更新された SharePoint コンテンツ データベースの統計情報を保持する SQL Server メンテナンス プランを実装する必要があります。詳細については、 インデックスの統計情報.

SharePoint データベースの統計を更新する SQL Server メンテナンス プランを実装するときに sharepoint サイトからジョブを無効にする必要はありません。ただし、これらのメンテナンス タスクでは、両方の場所からのような作業を実施するためには SharePoint ファームからタイマー ジョブを無効にします。SharePoint サーバーから、[インデックス更新ジョブを管理する方法の詳細については、次を参照してください。 SharePoint で使用されているデータベースのインデックスの統計情報 (SharePoint 2013) が古い.
詳細
SharePoint コンテンツ データベースの統計を更新するには、SQL Server から毎日のように、FULLSCAN オプションを使用するをお勧めしますをお勧めします。詳細については、 SharePoint サーバー ファーム内の SQL Server のベスト プラクティスSharePoint Foundation 2010 のデータベースの保守.

ただし場合は、SharePoint ファームが古い統計 (stats) のためのパフォーマンスの問題が発生して現在、次の情報使用できます 1 回限りの緩和策としてこの問題を軽減します。

特定のデータベースからデータベースの統計情報を表示するには、次のクエリを実行します。
-- Checking the DB Statsselect a.id as 'ObjectID', isnull(a.name,'Heap') as 'IndexName', b.name as 'TableName', stats_date (id,indid) as stats_last_updated_time from sys.sysindexes as a inner join sys.objects as b on a.id = b.object_id where b.type = 'U'
データベースの統計情報の確認の詳細については、次を参照してください。 DBCC SHOW_STATISTICS.

FULLSCAN オプションを使用する 1 つのデータベースでデータベースの統計情報を更新するには、次のクエリを実行します。
-- Update DB StatsEXEC sp_MSforeachtable 'UPDATE STATISTICS ? WITH FULLSCAN'
重要な注意事項"Sp_MSforeachtable"オプションが文書化されていない記載されている手順は、現状では、迅速な問題を軽減するためにのみ使用する必要があります。定期的なメンテナンス プランの一部としてこのプロシージャを使用することはお勧めできません。代わりを参照してください、(Transact SQL) の統計情報を更新します。 FULLSCAN オプションを使用して、統計を更新するための計画を実装する方法についてのドキュメントです。

によってどのように古いデータベースの統計情報があるになるを実行して、クエリ プランのキャッシュをクリアする必要があります、 DBCC FREEPROCCACHE データベースの統計情報を更新した後にコマンドです。構文と引数では、この手順がわかります DBCC FREEPROCCACHE (Transact SQL).これによりデータベースの統計情報が更新された後、新しいクエリが最適な実行プランを使用することを確認します。たとえば、次のクエリを参照してください。
-- Remove all elements from the plan cacheDBCC FREEPROCCACHE
重要な注意事項DBCC FREEPROCCACHE コマンドを実行して SQL インスタンス内のすべてのクエリ プランのキャッシュをクリアします。このコマンドは、運用時間中に実行する前にも理解する必要があります。

場合、 DBCC FREEPROCCACHE 古いデータベースの統計情報を更新した後、コマンドは実行されませんでしたが、非効率的な実行プランを持つクエリがキャッシュにまだ存在して、使用します。(を参照してくださいストアド プロシージャを使用して指定したストアド プロシージャの再コンパイルを強制的に大文字と小文字の場合は、 sp_recompile (Transact SQL)).たとえば、次のクエリを参照してください。
USE SP2013_Content_DBGOsp_recompile proc_getwebnavstruct
実行している、sp_recompile コマンドをプロシージャ、関数、またはテーブルのパラメーターは、インスタンスに影響を与えずに削除するキャッシュ内の 1 つの要素をターゲットです。

警告: この記事は自動翻訳されています

プロパティ

文書番号:3103194 - 最終更新日: 10/10/2015 19:39:00 - リビジョン: 1.0

Microsoft SharePoint Server 2013, Microsoft SharePoint Server 2010, Microsoft Office SharePoint Server 2007

  • kbqfe kbsurveynew kbexpertisebeginner kbbug kbfix kbtshoot kbmt KB3103194 KbMtja
フィードバック