SharePoint で大規模なリストとライブラリを管理する

SharePoint で大規模なリストとライブラリを管理する

SharePoint のリストまたはライブラリで、リスト ビューのしきい値の警告を受け取らずに作業したりクエリを実行したりするには、多数の方法があります。SharePoint のリストまたはライブラリには、最大 3,000 万個のアイテムやドキュメントを保存できます。次の考えを利用すれば、必要な情報は取得しながら、リスト ビューのしきい値で 5000 アイテムを超えないようにすることができます。リスト ビューのしきい値自体の詳細については、「アイテム数が多いリストとライブラリの概要」を参照してください。

リスト ビューのしきい値の制限の操作

SharePoint には、管理可能なデータおよびスループットの量を制御するリソースの制限があります。リスト ビューのしきい値の既定のアイテム数は、約 5,000 です。これは、ユーザーが大規模なリストを良好なパフォーマンスを維持しながら使用できるように設定されています。リスト ビューのしきい値を使用する主な方法は、次の 3 つです。

  • SharePoint のすべてのバージョン: インデックス、フィルター、フォルダー、およびオフライン データを使用し、返されるアイテム数を管理できます。

  • SharePoint のサーバー バージョン: 管理者がスケジュールした時間帯を使用できます。この上限は上げられています。

  • SharePoint のサーバー バージョン: ネットワーク管理者がリスト ビューのしきい値の上限を上げることができます。

SharePoint Online では、この制限は変更できません。これは、共有のテナントのユーザーが常にクエリでよいパフォーマンスを得られるように年中無休で存在します。この制限を回避する、クエリを制限内に保つためにできるいくつかの操作を次に示します。

注: システム生成のビューでは、返されるアイテムの数が多く表示される場合があります。

SharePoint Server のサーバー (SharePoint 2016、2013、および 2010) のリスト ビューのしきい値の既定も 5000 アイテムです。ただし、ネットワーク管理者はよりきめ細かく制御できるため、大量のクエリを許可したり、他のデータ集約型の操作が実行できるよう、制限が実質的にない時間帯を設定したりすることができます。この時間帯は、通常、ほとんどのユーザーがシステムを使用しない夜間です。必要に応じて、管理者は上限を上げる選択をすることも可能です。

最後の選択肢として、Server バージョンの SharePoint でも、上限を変更することができます。ただし、上限を上げると、一部またはすべてのユーザーのパフォーマンスに影響してしまうというリスクがあります。

SharePoint のバージョンを確認するには、「使用している SharePoint​​ のバージョンが不明の場合」を参照してください。

リスト ビューしきい値によってブロックされていても、アイテムの合計数が 20,000 未満の場合、インデックスを列に追加できます。すべてのバージョンの SharePoint で、大規模なリストとライブラリを使用している場合に、列インデックスでビューをフィルター処理することで結果数を減らすことができます。列インデックスでフィルター処理されたビューを作成するには、列インデックスを作成し、列インデックスを使用したフィルター処理されたビューを作成するという 2 つの手順で行います。

列にインデックスを追加する方法については、SharePoint 列にインデックスを追加する方法に関するページを参照してください。

列にフィルターを適用する方法については、フィルターを使用して SharePoint ビューを変更する方法に関するページを参照してください。

大規模なリストとライブラリの使用にフォルダーは必要はありませんが、データの整理に使用して、データに効率的にアクセスできるようにすることができます。フォルダーの作成はドキュメント ライブラリでは既定で有効ですが、リストでは有効ではありません。詳細については、「Create a folder in a list」 (リストでフォルダーを作成する) または「ドキュメント ライブラリでフォルダーを作成する」を参照してください。

注: SharePoint Online の場合、[移動] を使用してコマンドまたはドラッグ アンド ドロップを実行する場合、既存のメタデータも移動します。

フォルダーを作成すると、自動的に内部インデックスが作成されます。この内部インデックスは、ルート フォルダーや、ライブラリまたはリストの最上位レベルにも作成されます。フォルダー内のアイテムにアクセスする場合は、実質的にこの内部インデックスを使って、データにアクセスしています。なお、フォルダーにサブフォルダーが含まれる場合、各サブフォルダーはアイテムとしてカウントされます (そのサブフォルダーのアイテムはカウントされません)。

リストまたはライブラリのアイテムの合計数が著しく多くなる場合でも、単一のフォルダーのビューは、少なくとも、インデックス付きの列を使用してアイテムの合計数をフィルターで抽出するビューと同様に早く処理できます。状況によっては、リストまたはライブラリのすべてのアイテムが複数のフォルダーに分散され、5,000 アイテムを超えているフォルダーがない可能性があります。

フォルダーを使用して大規模なリストまたはライブラリを整理する場合、次の事項を考慮しておくことが重要です。

  • 1 つのフォルダーには [リスト ビューのしきい値] を超えるアイテムを格納できますが、ブロックされるのを避けるために、列インデックスに基づいてフィルター処理されたビューを使用する場合もあります。

  • このリストまたはライブラリでビューを作成または変更するときに [フォルダー] セクションで [フォルダーなしですべてのアイテムを表示する] オプションを選んだ場合、単純インデックスに基づくフィルターを使用して、リスト ビューのしきい値に達しないようにしてください。

  • 多くの場合、使用できるすべてのフォルダーを既定のビューに表示し、フィルター処理を行わない方が役立ちます。フィルター処理を使わなければ、ユーザーが新しいアイテムを挿入するときに適切なフォルダーを選択できます。すべてのフォルダーが表示されるため、アイテムが誤ってリストまたはライブラリ内のフォルダーの外に追加されることを防ぐことができます。ライブラリとは異なり、リストのアイテムを別のフォルダーに自動的に移動する方法はありません。

注: SharePoint のごみ箱にアイテムを移動しても、リスト ビューのしきい値を超えているかどうかをフィルター式が判断するときに、ごみ箱に移動されたアイテムもカウントされます。ごみ箱を空にすると、カウントされなくなります。詳細については、「ごみ箱を空にするまたはファイルを復元する」を参照してください。

ライブラリのフォルダー間でファイルを移動するには、ドキュメント ライブラリでフォルダー、ファイル、リンクを移動またはコピーする方法に関するページを参照してください。

大規模なリストを削除するには、データベース リソースが必要であり、リスト ビューのしきい値によってブロックされる可能性ががあります。大規模なリストを削除する場合には、時間帯の間に試すようにして、ブロックを回避してください。削除処理が割り当てられている時間よりも長くかかる場合でも、他のユーザーに関係なく、完了までそれは実行されます。時間がかかる場合があります。

一覧を削除する方法については、SharePoint でリストを削除する方法に関するページを参照してください。

オフライン同期、外部データと Access のデータ管理

コンピューターを同期するときには、データをオフラインにすると便利で効率的です。使用しているリスト データに応じて、Excel、Access または Outlook を使用できます。また SharePoint サービスに応じて、エンタープライズ リソース プラニング (ERP) システム、OData、Web サービスを使用した外部のデータ管理を制限なく使用できます。

変更をデスクトップ コンピューターやノート PC で行い、スムーズかつ効率的に変更を同期して競合を解決し、データをオンライン状態に戻すことができます。大規模なリストを操作する際に、データの "除去"、分析、またはレポートにオフライン同期を使用すると、データベース処理の負荷を軽減したり SharePoint リソースの使用を最小限に抑えたりすることができます。

次のいくつかの Microsoft Office 製品を使用すると、リスト データをオフラインで使用して、オンライン状態に戻ったときに変更を同期できます。これらにエクスポートするには、Office 365 か Office デスクトップのアプリがインストールされている必要があります。

Microsoft Access       Access では、SharePoint よりも多くのデータ行を処理できます。また、そのようなデータを操作するための強力なツールをたくさん備えています。Access でデータを処理し、SharePoint と同期すれば、より大きなデータ セットを使用できます。

ほとんどのネイティブのリストにリンクして Access で読み取りと書き込みを行うことができ、SharePoint の事実上すべてのデータ型を Access で処理することができます。リンクを使用すると、SharePoint リストでデータに接続できるので、双方向接続を作成して、SharePoint リストと Access データベースの両方の最新のデータを参照および編集できるようになります。Access では、SharePoint リストがコピー (複製) されて Access のテーブルが作成されます。Access のテーブルが作成されると、最大 2 GB (Access の制限値) のリストのデータを Access で処理できるようになります (ローカルに格納されない添付ファイルは除く)。また、Access では、クライアント上にリストのデータがキャッシュされ、効率的なメモリ内のライトスルー キャッシュが使用されます。これにより、変更されたリスト アイテムだけが転送されるため、クエリや更新の実行がはるかに高速になります。競合する更新をスムーズに管理できるように、競合を解決するためのダイアログ ボックスも用意されています。

Access Services 機能がアクティブ化されると、操作できるデータが [リスト ビューのしきい値] (既定では最大 50,000 個のアイテム) より大幅に増加します。Access では、自動的にリストまたはライブラリのデータが分割して取得され、その後にそれらを集めて元のデータが生成されます。この手法では、[リスト ビューのしきい値] の値をはるかに超える大量のデータを処理することができ、SharePointサイトの他のユーザーに悪影響を及ぼすこともありません。詳しくは以下の「Access Services を使う」のセクションをご覧ください。

Microsoft Excel      SharePoint のリストは、Excel のテーブルにエクスポートできます。これにより、Excel のテーブルと SharePoint のリストに、1 方向のみの接続が作成されます。

SharePoint の強調表示されているリボンの [Excel に​​エクスポート] ボタン
SharePoint 2016 または 2013 の Excel にエクスポートする

Excel では、ブロックされることなく、大きなリストも使用できます。さらに、SharePoint と Access の両方と Excel を同期することにより、それぞれのプラットフォームを最大限に利用できます。

SharePoint のリストからデータを更新し、Excel のテーブルを更新した場合、Microsoft Excel は最新の SharePoint リスト データを使用し、Excel テーブルに対して行ったすべての変更を上書きし、Excel データを置き換えます。

[Excel に​​エクスポート] が強調表示されている SharePoint Online リスト
SharePoint Online で Excel にエクスポートする

データを一度、Excel テーブルに入れると、強力かつ柔軟なワークシート、ピボット テーブル レポート、本格的な外観のグラフおよびスパークライン、アイコンを使用した条件付き書式、データ バー、カラー スケールおよび高度な what-if 分析など、Microsoft Excel の多数のデータ解析機能を利用できます。

Access Services 機能がアクティブ化されると、操作できるデータが [リスト ビューのしきい値] (既定では最大 50,000 個のアイテム) より大幅に増加します。詳しくは下記の、「Access Services を使う」を参照してください。

Microsoft Outlook      Microsoft Outlook を使用すると、ドキュメント ライブラリの同期に加え、連絡先、タスク、予定表、およびディスカッションのリストの読み取りと書き込みを行うことができます。たとえば、標準のタスク リストとプロジェクト タスク リストの両方を使用するには、Outlook の画面から、タスク リストをオフラインにし、新しいタスクを表示および更新して割り当てた後、オンラインに戻して同期します。Outlook では、SharePointの連絡先をより効率的に保存、共有、および管理することもできます。

ページの先頭へ

Access の場合、SharePoint サイトに発行されたリンク リストに基づいて、クエリ、フォーム、レポート、マクロとともに、テーブルを構築し、Access Services に基づいて Web データベースを作成します。これらの Web データベースはアップグレードされるので、引き続き使用して変更したり、テンプレートから新しいデータベースを作成したりすることができますが、これらの操作に Access 2013 は使用できません。

Access アプリは SharePoint でコードを使用せずに作成できます。一般的に、SharePoint アプリは、配布や Marketplace での利用が容易であることに重点を置いたソリューションです。ソリューションのパッケージ化、配布、実行、監視、使用中止を行うことができる便利な代替の手段としてアプリを考えてみてください。詳細については、Access アプリを作成する方法に関するページを参照してください。

SharePoint リストにデータを格納する Access Web データベース アプリケーションとは異なり、Access アプリはデータの格納に SharePoint 製品とは別に SQL Server データベースを使用します。そのため、SharePoint の [リスト ビューのしきい値] の制限を受けません。これによって Access ソリューションのスケーラビリティは大幅に改善され、数百万単位のレコードでも効率的に処理できます。SharePoint Server ユーザーの場合、SQL Server データベースを組織のファイアウォール内で運用できるように構成できます。オンライン ユーザーの場合、データベースは、無料のアカウントと無料の記憶域を使って有効にした SQL Server Azure データベースです。Azure の詳細については、Microsoft Azure のホーム ページを参照してください。

これで SharePoint のリストと Access のテーブル間でデータを同期して、両方のデータ セットを最新にすることができます。同期は双方向で実行されます。リストに対し Access から実行された変更は SharePoint のリストにアップロードされ、SharePoint のリストに加えられた変更は、コンピューターの Access にダウンロードされます。詳細については、「SharePoint リストをインポートする、または SharePoint リストにデータをリンクする」をご覧ください。

SharePoint の検索ボックスとドキュメント センターのソリューション

大規模なライブラリまたはリストからドキュメントまたはアイテムを見つけるもう 1 つの方法は、リストまたはライブラリの [検索] ボックスにキーワードまたはフレーズを入力する方法です。SharePoint の検索には独自のインデックス作成メカニズムがあり、これはリスト ビューのしきい値やその他の関連する制限の影響を受けません。

大規模なライブラリを管理するためのもう 1 つのソリューションは、ドキュメント センター サイトを使用する方法です。ドキュメント センターはドキュメントを管理するために設計されており、内外のファイルのチェック、ワークフロー、フィルター、ビューなどの機能があります。

SharePoint のページには、ページ上部のサイト検索と特定のリストまたはライブラリ用の検索ボックスの 2 つの検索ボックスが通常あります。リストまたはライブラリの [検索] ボックスを使用すると、次のように検索操作の範囲を少しずつ広げることができます。

  • 既定で、最初の検索範囲は、現在のビューとすべてのサブフォルダーに含まれるすべてのアイテムに基づきます。結果は列として表示されます。結果の列にはさらにフィルターや並べ替えを利用できます。その時点で [リスト ビューのしきい値] を超えている場合、すべての結果は表示されません。

  • 目的のアイテムが見つからない場合、現在のビューや [リスト ビューのしきい値] に関係なく、検索範囲を広げてリスト全体を含めることができます。

  • 最終的には、範囲を広げてサイト全体を検索することもできます。この場合、標準の [検索] サイト ページにすべての結果が表示されます。[絞り込み] ウィンドウを使ってフィルターし、結果を絞り込むことができます。たとえば、ドキュメントの作成者やリスト アイテムの作成日などを使えます。また、ブール構文と論理演算子を使って、より複雑なクエリを作成することもできます。

注: 

  • [検索] ボックスを使えるのは、クライアント側のレンダリング ビューとして表示されているリストまたはライブラリのみです。既定の動作は、[検索] ボックスの表示ですが、ツール ウィンドウの [その他] セクションで、リスト ビュー Web パーツのプロパティの [検索ボックス] を使って [検索] ボックスを非表示にすることができます。Web パーツのプロパティの詳細については、「リストおよびその他の Web パーツを使う」を参照してください。

  • [その他] の [検索ボックスを表示する] リスト プロパティ

たくさんのドキュメントを作成、管理、保存する場合は、ドキュメント センター サイトを使うことができます。ドキュメント センターはサイト テンプレートに基づいており、多数のドキュメントを管理する一元的なリポジトリとして機能するように設計されています。メタデータやツリー ビュー ナビゲーション、コンテンツ タイプ、Web パーツなどの機能を使うと、ユーザーにとって効率的で意味のある方法で、ドキュメントを構成し、取得できます。サイト テンプレートの使用方法の詳細については、「サイト テンプレートを作成して使う」を参照してください。

コンテンツ スチュワードは、明示的にインデックスを作成することなく、ほとんどのライブラリで適切に動作するメタデータを利用したナビゲーションをすばやく構成できます。また、より広範なフィルターやビューでのパフォーマンス向上のために追加のインデックスを作成する場合に支援を受けることもできます。詳細については、「ドキュメント センター サイトを使用する」を参照してください。

ドキュメント センター サイトは、オーサリング環境またはコンテンツ アーカイブとして使用できます。

  • オーサリング環境では、ユーザーはファイルのチェックインおよびチェックアウトを頻繁に行い、これらのファイル用のフォルダー構造を作成します。バージョン管理が有効になり、ドキュメントごとに以前のバージョンを 10 以上保存できます。ユーザーが頻繁にドキュメントのチェックインとチェックアウトを行う場合、ワークフローでドキュメントに対するアクションを自動化できます。

  • 対照的に、コンテンツまたはナレッジ ベース アーカイブでは作成処理はほとんど発生しません。ユーザーは、ドキュメントを表示またはアップロードするだけです。一般に、コンテンツ アーカイブにはドキュメントの単一のバージョンが含まれ、サイトは数百万単位のファイルにまで拡張できます。大きな組織の技術サポート センターのような一般的な例では、10,000 人ものユーザーが主に読み取り目的でコンテンツにアクセスします。その中の 3,000 から 4,000 人程度のユーザーがサイトに新しいコンテンツをアップロードします。

個人用ビュー、リレーショナル リスト、RSS フィードを使う

システムのパフォーマンス全体をさらに上げ、リソースのしきい値や制限に達するのを避けるには、個人用ビュー、リレーショナル リストまたは RSS フィードの使用を検討してください。

個人用ビュー    列のインデックスを正しく使うビューを作成することは、リストやライブラリが大きいほど複雑になるため、大規模なリストやライブラリの場合は、投稿者から [個人用ビューの管理] アクセス許可を削除することもできます。このアクセス許可を削除すると、ユーザーはすべてのアイテムを対象とするビューや、サイトの他の処理についてパフォーマンスを低下させるようなビューを作成できなくなります。アクセス許可の詳細については、「リストまたはライブラリの権限を編集する」を参照してください。

リレーショナル リスト     参照列、固有の列、参照整合性が適用されたリレーションシップの動作を使ってリストの関係を作成すると、[リスト ビューのしきい値] に達する可能性があります。また、次の条件ではブロックされることがあります。

  • [リスト ビューのしきい値] の値を超える数のアイテムがある既存のリストで列を一意にする場合 (ただし、リストに 1 つのアイテムを追加するとリストのアイテムの数が [リスト ビューのしきい値] の値を超える操作は、通常、ブロックされません)。

  • リストのアイテム数が [リスト ビューのしきい値] を超える場合、そのリストの参照フィールドについて、[連鎖削除] または [削除制限] を有効にします。

RSS フィード     サーバーの全体管理およびサイト コレクション レベルで RSS サポートが有効になったら、さまざまな種類のリストおよびライブラリに対する RSS サポートを有効にして構成できます。ユーザーがリストまたはライブラリの RSS フィードにアクセスすると、そのリストからデータが取得されます。既定の RSS ビューでは、[更新日時] 列にフィルターを使用して表示される、アイテムの最終変更日時に基づいて、返されるアイテムの数が制限されます。リストまたはライブラリに多数のアイテムがあり、ユーザーが RSS フィードにアクセスできる場合は、[更新日時] 列にインデックスを作成することをお勧めします。また、RSS フィードに含める変更の [アイテム数] および [日数] を変更することで、取得されるアイテムの数を減らすこともできます。

RSS フィードの管理方法の詳細については、サイトまたはサイト コレクションの RSS フィードを管理する方法に関するページを参照してください。RSS フィードの追加方法の詳細については、通知を作成し、RSS フィードを購読する方法に関するページを参照してください。

SharePoint Server 管理者のみ

これらの操作は、SharePoint Server バージョンで、SharePoint またはネットワーク管理者とファーム管理者のみが実行できます。

時間帯とは、すべてのユーザーが、操作を無条件に制限なく行うために管理者が指定する専用の時間帯です。これは通常オフピーク時にスケジュールされます。

リストまたはライブラリからアイテムを取得する第 1 の方法はビューを使用する方法ですが、時間帯に使用するのが適した SharePoint コマンドおよび操作も用意されています。

インデックスの追加および削除

リスト列の追加および変更

フォルダーの削除およびコピー

リストまたはライブラリのセキュリティ設定の変更

コンテンツのテンプレートとしてのリストへの保存

Web サイトの削除

ごみ箱からのアイテムの復元または削除

通常の時間にリスト データを取得しようとし、サイトのしきい値および制限を超過すると、これらのコマンドおよび操作は失敗します。時間帯中に実行すれば、制限はなく、失敗を回避でき、また他のユーザーにも影響を与えません。

時間帯の設定では、開始時間と期間を設定する必要があります。時間と期間を設定する場合、その期間中に誰かが実行時間の長いクエリや操作を実行すると、完了まで継続され、それがその期間を超える場合もあることにご注意ください。

  1. 管理者として [サーバーの全体管理] にログインします。

  2. [アプリケーション構成の管理]、[Web アプリケーションの管理] に進みます。

    [Web アプリの管理] が選択されている全体管理
  3. 設定するアプリケーションを選ぶか、時間帯の設定を変更します。

  4. リボンの [全般設定] の下向き矢印をクリックしてメニューにアクセスし、次いで [リソースの調整] をクリックします。

    全体管理のリソース調整が選択されています。
  5. [時間帯] を変更して、使用する時間と期間を設定します。

    実行時間帯が強調表示されている全体管理アプリケーション設定ページ
  6. 完了したら、[OK] をクリックします。

開発者でない場合や、これらの操作を開発者に行ってもらうのが難しい場合、この種の操作を時間帯に延期します。管理者に時間帯がいつにスケジュールされているか問い合わせてください。

注: SharePoint Online では、リスト ビューのしきい値の変更がサポートされていません。

リスト ビューのしきい値は、ユーザーがよいパフォーマンスを得ることができ、クエリによってサーバーに意図しない負荷がかからないように用意されています。リスト ビューのしきい値 (LVT) は、Server バージョンの SharePoint を使用するサーバーの全体管理の管理者のみが変更でき、またパフォーマンスの低下を防ぐため、これを変更しないことをお勧めします。SharePoint Online では、大きなデータ セットが取得されるとき、他のテナントのユーザーでパフォーマンスの問題が発生しないように、管理者にリスト ビューのしきい値の変更を許可していません。クエリの管理には、インデックス、フィルターおよびフォルダーを代わりに使用します。

リスト ビューのしきい値を上げる必要のあるクエリがごくわずかしかない場合、代わりにオフの時間に時間帯を使用することを検討してください。

警告: リスト ビューのしきい値 (LVT) の変更は、値を大きくするとパフォーマンスが低下するので、他にユーザーがいる場合はお勧めできません。値を大きくし過ぎると、ユーザーに長い遅延や失敗が生じたり、サーバーがダウンする可能性があります。

注: サーバーの全体管理は、SharePoint Server インストールでのみ利用できます。

リスト ビューのしきい値を変更する必要がある場合は、次の手順に従います。これは、UI は若干異なる場合がありますが、SharePoint 2010 から SharePoint 2016 の標準です。サーバーの全体管理アプリは、SharePoint サイトとは別で、アクセスにはファーム管理者の権限が必要です。リスト ビューのしきい値は、Server バージョンの SharePoint でのみ変更できます。

  1. 管理者として [サーバーの全体管理] にログインします。

  2. [アプリケーション構成の管理]、[Web アプリケーションの管理] に進みます。

    [Web アプリの管理] が選択されている全体管理
  3. リスト ビューのしきい値を変更するアプリケーションを選択します。

  4. リボンの [全般設定] の下向き矢印をクリックしてメニューにアクセスし、次いで [リソースの調整] をクリックします。

    全体管理のリソース調整が選択されています。
  5. (リストの最初の) [リスト ビューのしきい値] の値を適切な値に変更します。

  6. [OK] をクリックします。

リソースの調整のページには、管理者として理解しておく設定が他にもあります。

  • 監査者と管理者用の [リスト ビューのしきい値]   これは既定で上限です。監査者または管理者によって LVT を無効にするよう特別に要求される (プログラムを使用して) 実行されるクエリは、この制限の対象となります。これはリスト ビューのしきい値の 5,000 ではなく、既定で 20,000 です。この制限を上げると、リスト ビューのしきい値を上げるのと同じ影響があります。この値を変更する場合、関連して他のものも変更する必要があります。詳細については、「Programmatically Using the Object Model Override for the List View Threshold」 (リスト ビューのしきい値に対し、オブジェクト モデルの上書きをプログラムで使用する) を参照してください。

  • オブジェクト モデルの上書き:    展開でカスタム コードをよく使用し、リスト ビューのしきい値を上限に上書きするニーズがある場合、オブジェクト モデルの上書きを許可し、そのクエリを実行するアプリケーションの許可を監査役または管理者に与えるのがよいでしょう。この設定は既定でオンになっていますが、必要がない場合は無効にできます。これを使用するよい例としては、たとえば、頻繁に数分間アクセスされる大きな結果セットをキャッシュするコードを実装した場合です。コンテンツのキャッシュを計画しておらず、これらのクエリを頻繁に実行する計画がある場合、サーバーのパフォーマンスに悪影響を与えるため、リスト ビューのしきい値に対応するためにこの方法を使用することはお勧めしません。簡単に言えば、慎重に行ってください。

  • リスト ビュー参照のしきい値:    この機能は、クエリが実行できる結合の数を制限します。これは、クエリに含まれるルックアップ、ユーザー/グループ、またはワークフローの状態フィールドと等しいです。たとえば、6 つのルックアップ列があるビューと、別の 3 つ一意のルックアップ列で 9 つのルックアップを使用するフィルターです。リスト ビュー参照のしきい値が 8 に設定されていると、エラーが発生します。これを 8 を超える数値に増やすことはお勧めできません。

    Microsoft で徹底的にテストしたところ、8 を超える結合では、急激なパフォーマンスの低下が見られました。この時点で、サーバーのスループットが大幅に下がるだけでなく、クエリが SQL Server のリソースを不相応に大量に使用してしまい、同じデータベースを使用する他のユーザーに悪影響を与えます。詳細については、パフォーマンスと容量のテスト結果と推奨事項に関するページのルックアップ列とリスト ビューに関するセクションを参照してください。

  • 大規模なクエリの時間帯:   この機能では、ユーザーが上限に達しないで大規模なクエリを実行できる時間を毎日設定できます。この時間を設定する場合、次のいくつかのことにを慎重に検討してください。

    • 最少数のユーザーにしか影響しないよう、これはピーク時間以外にするか、負荷が最も少ない時間にします。多くのユーザーの就業時間中の時間を選ぶと、大規模なリストを使用していないユーザーにも悪影響がある場合があります。

    • ユーザーが管理者に問い合わせるのではなく、自身でリストを修正するために使用する用途に使用できる、妥当な時間数にしてください。

    • この時間帯に開始された操作は、時間帯が終了しても中止されません。時間が終わる直前にユーザーが大規模なリストを削除しようとした場合に必要な時間も考慮してください。

    • 別のタイム ゾーンも考慮してください。これは、組織や顧客が地理的に大幅に分散しており、一元的にホストされている SharePoint サーバーを共有している場合に特に重要です。自分の所在地では午後 6 時に設定するのが適切かもしれませんが、たとえばオーストラリアのシドニーでは適しません。

  • リスト固有のアクセス許可のしきい値:   これは、リストごとに許可される固有のアクセス許可数です。アクセス許可の継承が解除されているフォルダーがあり、それ (とそれの中のすべてのアイテム) にアクセス許可を設定した場合、それはリストの固有のアクセス許可のしきい値に対して 1 として数えられます。リスト ビューのしきい値やその他の設定とは異なり、このしきい値はコンテンツを参照したり、これに対してその他の操作を実行することによって動作することはなく、権限の変更に対してのみ動作します。

    対応できる場合、数値を減らすことをお勧めします。既定は 50,000 であり、これは多数の固有のアクセス許可です。この数値になる前にリストでアクセス許可の問題が発生する可能性が高いので、先手を打って環境に適したものに調整することをお勧めします。

アイテム数が多いリストとライブラリの概要

リスト ビューのしきい値 (LVT) は、データベース バックエンドに対するクエリで、すべてのユーザーが一定のパフォーマンスを得ることができるように用意されています。次に、その制限、しくみ、リスト ビューのしきい値の変更方法を示します。

重要: リスト ビューのしきい値は、SharePoint Online では変更できません。SharePoint Online には、時間帯を作成する機能もありません。それらの機能は、SharePoint 2016、SharePoint 2013、および SharePoint 2010 でのみ利用できます。

データベースの競合を最小限に抑えるために、SharePoint のバックエンド データベースである SQL Server では、正確な更新のために、他の行にアクセスする他のユーザーに悪影響を与えない、行レベルのロックを方針としてよく使用します。ただし、クエリなどのデータベースの読み書き操作で 5,000 以上の行が一度にロックされる場合、データベース操作が完了するまでテーブル全体にロックする方が SQL Server にとってより効率的となります。

注: 実際の数は常に 5,000 であるとは限りません。サイト、データベースの活動量、サイトの構成によって変わることがあります。

テーブル全体がロックされると、他のユーザーはテーブルにアクセスできなくなります。これがあまりに頻繁に発生する場合、システム パフォーマンスが低下します。そのため、リソースを集中的に利用するデータベース操作の影響を最小限に抑え、全ユーザーのニーズのバランスを取るには、しきい値と上限が重要になります。

次の図は、リストまたはライブラリの多数のアイテムにアクセスしたときに、内部で行われる処理の重要な点をまとめたものです。

大きなリストとライブラリ

  1. サイト コレクションのリストまたはライブラリ データは、SQL Server データベースのテーブルに格納されます。テーブルではクエリ、インデックス、ロックを使って、パフォーマンス、共有、正確さの全体を維持します。

  2. 列のインデックスなどの操作を使ってフィルター処理されたビューによって、列や行の一部を特定し、その一部をコンピューターに返すデータベースのクエリが作成されます。

  3. 同時使用ユーザーが多数でも、しきい値と制限によって操作を調整し、リソースのバランスを取ることができます。

  4. 権限のある開発者は、SharePoint Server バージョンでオブジェクト モデルの上書きを使って、カスタム アプリケーションのしきい値と制限を一時的に上げることができます。

  5. 管理者は、SharePoint Server バージョンで、すべてのユーザーがオフピーク時に無制限に操作できるように、専用の時間枠を指定できます。

  6. インフォメーション ワーカーは、適切なビュー、スタイル、ページの制限を使って、ページのデータ表示速度を向上できます。

リストとライブラリには、次の表のように、特定の上限があります。

機能

上限

リスト アイテムまたはライブラリ アイテムの数

3,000 万

個々のファイル アイテムまたはアイテムの添付のサイズ

10 GB (ギガバイト)

次の表では、注意が必要なリソースの制限に関する情報をまとめています。これらの制限は、SharePoint Server バージョンの全体管理の [リソースの調整] で設定します。サイト独自の制限や要求については、管理者にお問い合わせください。

注: 管理に役立つ場合、管理者は次のリソースの制限に従う必要はありません。

注: すべての設定は UI で行うことができません。SharePoint Server バージョンでのみ実行できます。

しきい値
または制限

既定

説明

リスト ビューのしきい値

5,000

クエリなどのデータベース操作で、同時に処理できるリスト アイテムまたはライブラリ アイテムの上限数を指定します。この制限を超える操作はブロックされます。

代替の計画を立てる余裕があるように、リストのアイテムが 3,000 を超えると、[リストの設定] ページに警告が表示されます。警告には、このトピックへのヘルプ リンクが表示されます。

固有のアクセス許可制限

50,000

リストまたはライブラリに許容する固有のアクセス許可の上限を指定します。

アイテムまたはフォルダーに対するアクセス許可の継承を解除するたびに、この制限に対する固有のアクセス許可数が 1 つ増えます。アイテムを追加するとこの制限を超える場合、そのアイテムは追加できません。

行サイズの制限

6

リスト アイテムまたはライブラリ アイテムに使うデータベース内にあるテーブルの行数の上限を指定します。多数の列がある幅が広いリストを調整するには、各アイテムを複数の内部的なテーブルの行 (最大 6 行、添付を除いて合計 8,000 バイトまで) にラップします。

たとえば、数百単位の Yes/No 列があるなど、小さな列が多数あるリストの場合、この制限を超えることができます。このような場合、リストに Yes/No 列を追加することはできませんが、別の種類の列は追加できます。

管理者がこの制限を設定できるのは、ユーザー インターフェイス経由ではなく、オブジェクト モデルを使う場合のみです。

リスト ビュー参照のしきい値

12

参照、ユーザー/グループ、ワークフローの状態列などに基づく結合について、結合操作の上限を指定します。

クエリに使う列が 8 列を超えると、この操作はブロックされます。ただし、最大限のビューを使うと、使う列をプログラムで選ぶことができます。これは、オブジェクト モデルを使って設定できます。

監査者用と管理者用の [リスト ビューのしきい値] のサイズ

20,000

適切なアクセス許可を持つ監査者または管理者が操作するときに、クエリなどのデータベース操作が同時に処理できるリスト アイテムまたはライブラリ アイテムの上限数を指定します。この設定は、[オブジェクト モデルの上書きを許可する] と併用できます。

オブジェクト モデルの上書きを許可する

Y

[リスト ビューのしきい値] をより高い [監査者と管理者に対するリスト ビューのしきい値] の値に上書きするように要求するデータベース操作 (クエリなど) を開発者が実行できるかどうかを指定します。管理者は、オブジェクト モデルの上書きを有効にしておきます。そうすると、適切な権限を持つ開発者は、プログラムによって、クエリで [リスト ビューのしきい値] を高くして、そのしきい値を利用するように要求できます。

時間帯

なし

リソースのしきい値と制限を無視する時間枠を指定します。管理者は、"オフピーク" 時の時間枠を構成する際に、15 分ずつ、最大 24 時間まで増加できます (午後 6:00 から午後 10:00 まで、午前 1:30 から午前 5:15 まで、など)。

この時間枠に開始されたデータベース操作またはクエリは、指定した時間枠内に完了しなくても、完了 (または失敗) まで続行されます。

ご意見を寄せてください。

この記事はお役に立ちましたか? お役に立った場合は、このページの最下部でお知らせください。お役に立たなかった場合は、わかりにくかった点や情報が不足している点をお知らせください。皆様からのご意見は、事実を確認し、情報を追加して、この記事を更新するために利用させていただきます。ご使用の SharePoint オペレーティング システムとブラウザーのバージョンもお伝えください。

2017 年 7 月に更新されました。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×