大規模なリストとライブラリを管理する
Applies To
SharePoint Server サブスクリプション エディション SharePoint Server サブスクリプション エディションの全体管理 SharePoint Server 2019 SharePoint Server 2019 全体管理 SharePoint Server 2016 SharePoint Server 2016 全体管理 Microsoft 365 の SharePoint Microsoft Lists Microsoft 365 Small Business の SharePointリストまたはライブラリには最大 3,000 万個のアイテムまたはファイルを格納できますが、項目の数が増えるにつれて、特定の操作に時間がかかる場合があります。 大規模なリストのフィルター処理されたビューの操作性は、他のリストの場合とあまり変わりません。 ただし、リスト ビューに 5,000 を超える項目が表示される場合は、リスト ビューのしきい値エラーが発生する可能性があります。
モダンを使用する
表示アイテムが多いビューの場合、モダン環境で最適に動作します。 クラシック環境で発生する可能性があるエラーを回避するために、モダン環境を使用してください。
インデックスを追加する
インデックスがない列によるフィルター処理または並べ替えを実行すると、エラー ダイアログが表示されることがあります。 修正するには、設定メニューの [リスト設定] から [インデックスを手動で追加する] を参照し、[インデックス付き列] を参照してください。
インデックスは、次の 2 つの状況で自動的に作成されます。
-
保存したビューに、並べ替えやフィルター処理のために使用されている列がある場合。
-
モダン環境で並べ替えを実行する場合。
注: モダン環境で並べ替えを実行する際のインデックスの自動作成は、アイテム数が 20,000 未満のリストおよびライブラリに限定されています。
リスト ビューの編集
大規模なリストの操作中にエラーが発生する場合は、リスト ビューを編集してください。
次の 4 つの項目の変更により、リスト ビューのしきい値エラーが発生しなくなります。 4 つの項目すべてを変更すると、すべてのエラーが除去されます。
-
[最初に列で並べ替える] と [次に列 で並べ替える] の両方から、[なし] を選択します。
注: ユーザー、ルックアップ、マネージド メタデータなどの 列型の列では、並べ替え時にリスト ビューのしきい値エラーが発生する可能性があります。 ただし、最優先する並べ替え基準には、テキスト、数値、日付などの列の種類を使用できます。
-
[最優先する列] および [2 番目に優先する列] の両方に、[なし] を選択します。
-
[集計] セクションでは、すべての列に [なし] を選択します。
-
[列] セクションでは、表示対象の 1 列を除いて、すべてを選択解除します。
注: 列の種類がユーザー、参照、および管理されたメタデータの列を 12 列以上表示すると、リスト ビューのしきい値エラーが発生することがあります。 その他の種類の列の表示では、問題は発生しません。
サイトをテンプレートとして保存する
リスト ビューの制限しきい値 5,000 項目を超えるリストまたはライブラリがあるサイトでは、サイト テンプレートの作成がブロックされます。
リスト Forms
SharePoint がリスト フォームを作成すると、リスト アイテムで使用できるすべてのフィールドがデータベースから取得されます。 多数のルックアップ列を含むListsは、複雑で集中的な SQL Server ステートメントが発生する可能性があります。 SharePoint は、完全な SQL Server ステートメントの長さを確認し、許可される最大長を超えたときにこのエラー メッセージを表示します。
"フィールドの長さが長すぎたため、リスト アイテムを表示または追加できませんでした。 新しいエントリを短くするか、この一覧から一部のフィールドを削除してください。
この問題に対処するには、特定のリストの列数を減らしてください。
注:
-
標準の参照列、単一値管理メタデータ、複数値管理メタデータ、単一値のユーザーとグループ列、および複数値のユーザーとグループ列に加えて、ルックアップ列としてカウントされます。
-
リスト ビューの各参照列によって、別のテーブルとの結合が生じます。 参照列が追加されるたびに、複雑さが増し、本質的にバックエンド SQL クエリのサイズが大きくなります。
SharePoint のリストまたはライブラリでの作業やクエリでリスト ビューのしきい値の警告を受けないようにするための方法には、さまざまなものがあります。 次のアイデアを使用して、必要な情報を取得し、5,000 項目のリスト ビューしきい値内に留めることができます。
リスト ビューのしきい値の制限の操作
SharePoint には、管理可能なデータおよびスループットの量を制御するリソースの制限があります。 リスト ビューのしきい値は、既定では約 5,000 個の項目であり、ユーザーが大規模なリストを操作できるように設定されていますが、パフォーマンスは良好です。 リスト ビューのしきい値を使用する主な方法は、次の 3 つです。
-
SharePoint のすべてのバージョン: インデックス、フィルター、フォルダー、およびオフライン データを使用し、返されるアイテム数を管理できます。
-
SharePoint のサーバー バージョン: 管理者がスケジュールした時間帯を使用できます。この上限は上げられています。
-
SharePoint のサーバー バージョン: ネットワーク管理者がリスト ビューのしきい値の上限を上げることができます。
SharePointの場合、この制限は変更できません。また、共有テナントのユーザーがクエリに対して常に優れたパフォーマンスを発揮できるように設定されています。 この制限の影響を受けずに済むよう、クエリを制限内に保つために行えるいくつかの操作を次に示します。
注: システム生成ビューで返される項目の数が多くなる場合があります。
-
インデックスとフィルター インデックスを計画して作成し、それらをフィルターで使用すると、リスト ビューのしきい値の下に項目の数を保持できます。 詳細については、「 リストまたはライブラリ列にインデックスを追加する」または 「 フィルター処理を使用して SharePoint ビューを変更する」を参照してください。
-
フォルダーを使用して整理する ただし、フォルダーに対するクエリの戻りがリスト ビューのしきい値を超えないように注意する必要があります。 詳細については、「 リストにフォルダーを作成する 」または「 ドキュメント ライブラリにフォルダーを作成する」を参照してください。
-
ドキュメント センター サイトを使用する ドキュメント センターとは、ドキュメントの検索、保管、および操作を行う機能を備えたサイトの作成に使用できるテンプレートです。 適切なアクセス許可がある場合、このテンプレートを使用してサイトまたはサブサイトを作成できます。 詳細については、「ドキュメント センター サイトとは」を参照してください。
-
同期されたデータとオフライン データ データをオフラインにすると、Excel または Access を使用してリスト データに対して無制限にクエリを実行できます。 ドキュメント フォルダーを同期すると、ローカル コンピューターで作業を行え、変更内容は自動的にサーバーで更新されます。 詳細については、「SharePoint ファイルを OneDrive 同期 クライアントと同期する (Groove.exe)」または「SharePoint ファイルと Teams ファイルをコンピューターと同期する」を参照してください。
SharePoint Server サーバー (SharePoint 2016) では、5,000 項目のリスト ビューしきい値も既定値です。 ただし、ネットワーク管理者による制御が増えるため、制限が効果的に削除される場所に毎日の時間枠を設定できるため、大規模なクエリや他のデータを集中的に使用する操作を実行できます。 この時間帯は通常、ほとんどのユーザーがシステムを使用しない夜間に設定されます。 管理者は、必要に応じて上限を上げることもできます。
最後の選択肢は、サーバー バージョンの SharePointでも、制限を変更することです。 ただし、上限を上げると、一部またはすべてのユーザーのパフォーマンスに影響を与える可能性が高くなるというリスクがあります。
SharePoint のバージョンを確認するには、「使用している SharePoint のバージョンが不明の場合」を参照してください。
リスト ビューのしきい値によってブロックされているが、アイテムの合計数が 20,000 未満の場合は、 SharePoint 2019 の列にインデックスを追加できます。 すべてのバージョンの SharePoint で、大規模なリストとライブラリを使用している場合に、列インデックスでビューをフィルター処理することで結果数を減らすことができます。 インデックス付き列でフィルター処理されたビューを作成するには、インデックスに作成して、そのインデックス付き列をフィルター処理に使用したビューを作成するという 2 段階の手順を実行します。
列のインデックス作成の詳細については、「 リストまたはライブラリ列にインデックスを追加する」を参照してください。
列のフィルター処理の詳細については、「フィルター処理を 使用して SharePoint ビューを変更する」を参照してください。
大規模なリストとライブラリの使用にフォルダーは必要はありませんが、データの整理に使用して、データに効率的にアクセスできるようにすることができます。 フォルダーの作成はドキュメント ライブラリでは既定で有効ですが、リストでは有効ではありません。 詳細については、「 リストにフォルダーを作成する 」または「 ドキュメント ライブラリにフォルダーを作成する」を参照してください。
注: SharePointでは、[移動] コマンドまたはドラッグ アンド ドロップ を 使用すると、既存のメタデータも移動されます。
フォルダーを作成すると、バックグラウンドで内部インデックスが作成されます。 この内部インデックスは、ルート フォルダーや、ライブラリまたはリストの最上位レベルにも作成されます。 フォルダー内のアイテムにアクセスするときは、この内部インデックスを効果的に使用してデータにアクセスします。 なお、フォルダーにサブフォルダーが含まれる場合、各サブフォルダーはアイテムとしてカウントされます (そのサブフォルダーのアイテムはカウントされません)。
リストまたはライブラリのアイテムの合計数が著しく多くなる場合でも、単一のフォルダーのビューは、少なくとも、インデックス付きの列を使用してアイテムの合計数をフィルターで抽出するビューと同様に早く処理できます。 一部のシナリオでは、5,000 を超える項目を持つフォルダーが存在しないよう、リストまたはライブラリ内のすべての項目を複数のフォルダーに配布できる場合があります。
フォルダーを使用して大きなリストまたはライブラリを整理する場合は、次の点を考慮することが重要です。
-
フォルダーにはリスト ビューのしきい値を超える項目を含めることができますが、ブロックされないようにするには、列インデックスに基づいてフィルター処理されたビューを使用する必要がある場合があります。
-
このリストまたはライブラリでビューを作成または変更するときに、[フォルダーなしすべてのアイテムを表示する] オプションを選択した場合は、単純なインデックスに基づくフィルターを使用して、リスト ビューのしきい値に達しないようにする必要があります。
-
多くの場合、ユーザーが新しい項目を挿入するときに適切なフォルダーを選択できるように、既定のビューに使用可能なすべてのフォルダーをフィルター処理なしで表示すると便利です。 すべてのフォルダーを表示することで、アイテムが誤ってリストまたはライブラリ内のフォルダーの外に追加されることを防ぐことができます。 ライブラリとは異なり、リスト内のフォルダー間でアイテムを自動的に移動する方法はありません。
注: SharePoint のごみ箱にアイテムを移動しても、それらのアイテムは、フィルター式でリスト ビューのしきい値を超えているかどうかを判断するときにカウントされます。 ごみ箱を空にすると、カウントされなくなります。 詳細については、「アイテムを削除するか、SharePoint サイトのごみ箱を空にする」を参照してください。
ライブラリ内のフォルダー間でファイルを移動するには、「 SharePoint でファイルを移動またはコピーする」を参照してください。
大規模なリストを削除するには、データベース リソースが必要であり、リスト ビューのしきい値によってブロックされる可能性ががあります。 大規模なリストを削除する場合には、時間帯の間に試すようにして、ブロックを回避してください。 削除処理が割り当てられている時間よりも長くかかる場合でも、他のユーザーに関係なく、完了までそれは実行されます。 時間がかかる場合があります。
リストを削除する方法の詳細については、「リストを 削除する」を参照してください。
オフライン同期、外部データ、 Access データ管理
コンピューターを同期するときには、データをオフラインにすると便利で効率的です。 操作しているリスト データに応じて、 Excel、 Access、または Outlookを使用できます。 また SharePoint サービスに応じて、エンタープライズ リソース プラニング (ERP) システム、OData、Web サービスを使用した外部のデータ管理を制限なく使用できます。
変更をデスクトップ コンピューターやノート PC で行い、スムーズかつ効率的に変更を同期して競合を解決し、データをオンライン状態に戻すことができます。 オフライン同期を使用して大規模なリストを操作して、データベース アクティビティをオフロードし、 SharePoint リソースの使用を最小限に抑えるのに役立ちます。
次のいくつかの Microsoft 365 製品を使用すると、リスト データをオフラインで使用して、オンライン状態に戻ったときに変更を同期できます。 これらにエクスポートするには、Microsoft 365 または Office デスクトップのどちらかにアプリがインストールされている必要があります。
Microsoft Access AccessSharePointよりも多くのデータ行を処理でき、そのデータを操作するための強力なツールが多数あります。 Access でデータを操作し、SharePoint と同期すると、より大きなデータ セットを操作できます。
ほとんどのネイティブのリストにリンクして Access で読み取りと書き込みを行うことができ、SharePoint の事実上すべてのデータ型を Access で処理することができます。 リンクを使用すると、SharePoint リストでデータに接続できるので、双方向接続を作成して、SharePoint リストと Access データベースの両方の最新のデータを参照および編集できるようになります。 Access では、SharePoint リストがコピー (複製) されて Access のテーブルが作成されます。 Access のテーブルが作成されると、最大 2 GB (Access の制限値) のリストのデータを Access で処理できるようになります (ローカルに格納されない添付ファイルは除く)。 また、Access では、クライアント上にリストのデータがキャッシュされ、効率的なメモリ内のライトスルー キャッシュが使用されます。 これにより、変更されたリスト アイテムだけが転送されるため、クエリや更新の実行がはるかに高速になります。 競合する更新をスムーズに管理できるように、競合を解決するためのダイアログ ボックスも用意されています。
Access Services 機能がアクティブ化されると、操作できるデータが [リスト ビューのしきい値] (既定では最大 50,000 個のアイテム) より大幅に増加します。 Access では、リストまたはライブラリのデータを自動的に小規模なバッチで処理し、その後にデータを再構築する手法が使用されるため、[リスト ビューのしきい値] の値をはるかに超える大量のデータを処理することができ、SharePoint サイトの他のユーザーに悪影響を及ぼすこともありません。
Microsoft Excel Excel テーブルと SharePoint リストの間に一方向データ接続を作成する Excelテーブルに SharePoint リストをエクスポートできます。
Excel では、ブロックせずに大きなリストを操作することもできます。 さらに、 SharePoint と Access の両方と Excel を同期して、各プラットフォームの利点を活用できます。
SharePoint のリストからデータを更新し、Excel のテーブルを更新した場合、Microsoft Excel は最新の SharePoint リスト データを使用し、Excel テーブルに対して行ったすべての変更を上書きし、Excel データを置き換えます。
データが Excel テーブルに含まれると、強力で柔軟なワークシート、ピボットテーブル レポート、プロフェッショナルなグラフとスパーク ライン、アイコンを使用した条件付き書式、データ バー、カラー スケール、高度な what-if 分析操作など、 Excelの多くのデータ分析機能を利用できます。
Access Services 機能がアクティブ化されると、操作できるデータが [リスト ビューのしきい値] (既定では最大 50,000 個のアイテム) より大幅に増加します。
Microsoft Outlook Outlookから、連絡先、タスク、予定表、ディスカッションのListsを読み書きしたり、ドキュメント ライブラリを同期したりできます。 たとえば、タスク リストをオフラインにしたり、新しいタスクを表示、更新、割り当てたり、オンラインに戻したり、 Outlookを残さずに同期したりすることで、標準タスク リストとプロジェクト タスク リストの両方を操作できます。 また、 Outlookで SharePoint 連絡先をより効率的に保存、共有、管理することもできます。
Accessでは、リンク リストに基づいてテーブルを作成し、 SharePoint サイトに発行したクエリ、フォーム、レポート、マクロと共に、 Access Services に基づいて Web データベースを作成します。 これらの Web データベースがアップグレードされると、引き続きそれらを使用して変更し、テンプレートから新しいデータベースを作成できます (ただし、 Access 2013から作成することはできません)。
コードを使用せずに、 SharePoint で Access アプリを作成できます。 一般的に、SharePoint アプリは、配布や Marketplace での利用が容易であることに重点を置いたソリューションです。 ソリューションのパッケージ化、配布、実行、監視、使用中止を行うことができる便利な代替の手段としてアプリを考えてみてください。 詳細については、「 Access アプリの作成」を参照してください。
SharePoint リストにデータを格納する Access Web データベース アプリケーションとは異なり、 Access アプリは、 SharePoint製品とは別のSQL Server データベースを使用してデータを格納するため、 SharePoint リスト ビューしきい値の対象になりません。 これにより、 Access ソリューションのスケーラビリティが大幅に向上し、数百万件のレコードを効率的に処理できるようになります。 SharePoint サーバー ユーザーの場合は、organizationのファイアウォールの内側に存在するように SQL Server データベースを構成できます。 オンライン ユーザーの場合、データベースは、無料アカウントと無料ストレージを使用して有効になっている azure データベース SQL Server です。 Azure の詳細については、「 Microsoft Azure ホーム ページ」を参照してください。
最後に、 SharePoint リストと Access テーブルの間でデータを同期し、両方のデータ セットを最新の状態に保つことができます。 同期は双方向で実行されます。 リストに対し Access から実行された変更は SharePoint のリストにアップロードされ、SharePoint のリストに加えられた変更は、コンピューターの Access にダウンロードされます。 詳細については、「データを SharePoint にインポート、リンク、または移動する」を参照してください。
SharePoint の検索ボックスとドキュメント センターのソリューション
大規模なライブラリまたはリストのドキュメントまたはアイテムを見つけるには、リストまたはライブラリの [検索] ボックスにキーワードまたはフレーズを入力する方法もあります。 SharePoint 検索には独自のインデックス作成メカニズムがあり、リスト ビューのしきい値やその他の関連する制限の対象ではありません。
大規模なライブラリを管理するためのもう 1 つのソリューションは、ドキュメント センター サイトを使用する方法です。 ドキュメント センターはドキュメントを管理するために設計されており、内外のファイルのチェック、ワークフロー、フィルター、ビューなどの機能があります。
SharePoint のページには、ページ上部のサイト検索と特定のリストまたはライブラリ用の検索ボックスの 2 つの検索ボックスが通常あります。 リストまたはライブラリの [検索] ボックスを使用すると、次のように検索操作の範囲を少しずつ広げることができます。
-
既定で、最初の検索範囲は、現在のビューとすべてのサブフォルダーに含まれるすべてのアイテムに基づきます。 結果は列として表示されます。結果の列に対してはさらにフィルタリングや並べ替えを行えます。 その時点でリスト ビューのしきい値を超えている場合は、結果の一部が表示されません。
-
目的のアイテムが見つからない場合、現在のビューや [リスト ビューのしきい値] に関係なく、検索範囲を広げてリスト全体を含めることができます。
-
最後になりましたが、サイト全体を検索するように範囲を広げることもできます。 この場合、標準の [検索] サイト ページにすべての結果が表示されます。 [絞り込み] ウィンドウを使ってフィルターし、結果を絞り込むことができます。たとえば、ドキュメントの作成者やリスト アイテムの作成日などを使えます。 また、ブール構文と論理演算子を使って、より複雑なクエリを作成することもできます。
注: SharePoint クラシックでは、[ 検索 ] ボックスは、クライアント側のレンダリング ビューとして表示されるリストとライブラリでのみ使用できます。 既定の動作は [検索] ボックスを表示することですが、ツール ウィンドウの [その他] セクションの [リスト ビュー Web パーツ] プロパティ [検索ボックス] で検索ボックスを非表示にすることができます。 SharePoint クラシックの Web パーツ プロパティの詳細については、「クラシック ページで リストやその他の Web パーツを使用する」を参照してください。
たくさんのドキュメントを作成、管理、保存する場合は、ドキュメント センター サイトを使うことができます。 ドキュメント センターはサイト テンプレートに基づいており、多数のドキュメントを管理する一元的なリポジトリとして機能するように設計されています。 メタデータやツリー ビューナビゲーション、コンテンツ タイプ、Web パーツなどの機能は、ユーザーにとって効率的かつ有意義な方法でドキュメントを整理および取得するのに役立ちます。 サイト テンプレートの使用の詳細については、「 SharePoint Server バージョンでサイト テンプレートを作成して使用する」を参照してください。
Content Stewards は、メタデータ主導のナビゲーションをすばやく構成でき、インデックスを明示的に作成しなくてもほとんどのライブラリで動作します。また、追加のインデックスを作成して幅広いフィルターとビューのパフォーマンスを強化するときにも役立ちます。 詳細については、「ドキュメント センター サイトとは」を参照してください。
ドキュメント センター サイトは、オーサリング環境またはコンテンツ アーカイブとして使用できます。
-
オーサリング環境では、ユーザーはファイルのチェックインおよびチェックアウトを頻繁に行い、これらのファイル用のフォルダー構造を作成します。 バージョン管理が有効になり、ドキュメントごとに以前のバージョンを 10 以上保存できます。 ユーザーが頻繁にドキュメントのチェックインとチェックアウトを行う場合、ワークフローでドキュメントに対するアクションを自動化できます。
-
対照的に、コンテンツまたはナレッジ ベース アーカイブでは作成処理はほとんど発生しません。 ユーザーは、ドキュメントを表示またはアップロードするだけです。 一般に、コンテンツ アーカイブにはドキュメントの単一のバージョンが含まれ、サイトは数百万単位のファイルにまで拡張できます。 大きな組織の技術サポート センターのような一般的な例では、10,000 人ものユーザーが主に読み取り目的でコンテンツにアクセスします。 その中の 3,000 から 4,000 人程度のユーザーがサイトに新しいコンテンツをアップロードします。
個人用ビュー、リレーショナル リスト、RSS フィードを使う
システムのパフォーマンス全体をさらに上げ、リソースのしきい値や制限に達するのを避けるには、個人用ビュー、リレーショナル リストまたは RSS フィードの使用を検討してください。
個人用ビュー 列のインデックスを正しく使うビューを作成することは、リストやライブラリが大きいほど複雑になるため、大規模なリストやライブラリの場合は、投稿者から [個人用ビューの管理] アクセス許可を削除することもできます。 このアクセス許可を削除すると、ユーザーはすべてのアイテムを対象とするビューや、サイトの他の処理についてパフォーマンスを低下させるようなビューを作成できなくなります。 アクセス許可の詳細については、「 SharePoint リストまたはライブラリのアクセス許可をカスタマイズする」を参照してください。
リレーショナル リスト 参照列、一意の列、および適用されたリレーショナル動作 (参照整合性とも呼ばれます) を使用してリスト リレーションシップを作成すると、リスト ビューのしきい値に達し、次の状況でブロックされる可能性があります。
-
リスト ビューのしきい値を超える項目が存在する既存のリストで列を一意にする場合 (ただし、リストビューのしきい値を超えるリストに 1 つの項目を追加することは、通常はブロックされない操作であることに注意してください)。
-
リストのアイテム数が [リスト ビューのしきい値] を超える場合、そのリストの参照フィールドについて、[連鎖削除] または [削除制限] を有効にします。
RSS フィード サーバーの全体管理およびサイト コレクション レベルで RSS サポートが有効になったら、さまざまな種類のリストおよびライブラリに対する RSS サポートを有効にして構成できます。 ユーザーがリストまたはライブラリの RSS フィードにアクセスすると、そのリストからデータが取得されます。 既定の RSS ビューでは、[更新日時] 列にフィルターを使用して表示される、アイテムの最終変更日時に基づいて、返されるアイテムの数が制限されます。 リストまたはライブラリに多数のアイテムがあり、ユーザーが RSS フィードにアクセスできる場合は、[更新日時] 列にインデックスを作成することをお勧めします。 また、RSS フィードに含める変更の [アイテム数] および [日数] を変更することで、取得されるアイテムの数を減らすこともできます。
RSS フィードの管理の詳細については、「 サイトまたはサイト コレクションの RSS フィードを管理する」を参照してください。 RSS フィードを追加する方法については、「 ファイルまたはフォルダーが変更されたときに通知を受け取るアラートを作成する」を参照してください。
SharePoint Server 管理者のみ
これらの操作は、SharePoint Server バージョンで、SharePoint またはネットワーク管理者とファーム管理者のみが実行できます。
[毎日の時間枠] は、管理者が、すべてのユーザーが制限なしで無制限の操作を実行するための専用の期間を指定する方法であり、通常はピーク時以外の時間帯にスケジュールされます。
リストまたはライブラリからアイテムを取得する第 1 の方法はビューを使用する方法ですが、時間帯に使用するのが適した SharePoint コマンドおよび操作も用意されています。
インデックスの追加および削除
リスト列の追加および変更
フォルダーの削除およびコピー
リストまたはライブラリのセキュリティ設定の変更
コンテンツのテンプレートとしてのリストへの保存
Web サイトの削除
ごみ箱からのアイテムの復元または削除
通常の時間にリスト データを取得しようとし、サイトのしきい値および制限を超過すると、これらのコマンドおよび操作は失敗します。 時間帯中に実行すれば、制限はなく、失敗を回避でき、また他のユーザーにも影響を与えません。
時間帯の設定では、開始時間と期間を設定する必要があります。 時間と期間を設定する場合、その期間中に誰かが実行時間の長いクエリや操作を実行すると、その処理は完了するまで継続され、その期間を超える場合もあります。
-
管理者として、[サーバーの全体管理] にログインします。
-
[アプリケーション構成の管理]、[Web アプリケーションの管理] に進みます。
-
設定するアプリケーションを選ぶか、時間帯の設定を変更します。
-
リボンの [全般設定] にある下向き矢印をクリックし、メニューにアクセスして [リソースの調整] をクリックします。
-
[毎日の時間枠] を変更し、使用する時間と期間を設定します。
-
完了したら、[OK] を選択します。
開発者でない場合や、これらの操作を開発者に行ってもらうのが難しい場合、この種の操作を時間帯に延期します。 時間帯のスケジュールを確認するには、管理者にお問い合わせください。
注: SharePoint では、リスト ビューのしきい値の変更はサポートされていません。
リスト ビューのしきい値 (LVT) は、ユーザーに良好なパフォーマンスを提供し、クエリによってサーバーに意図しない負荷がかからないようにするために用意されています。 LVT は、サーバーバージョンの SharePoint で、中央管理 アプリの管理者のみが変更できます。 パフォーマンスの低下を回避するために変更することはお勧めしません。 SharePoint では、管理者は LVT を変更して、大きなデータ セットが取得されたときにパフォーマンスの問題から他のテナントのユーザーを保護することはできません。 その代わりに、クエリの管理には、インデックス、フィルター、およびフォルダーを使用します。
LVT を大きくする必要のあるクエリがごくわずかしかない場合は、代わりにオフの時間に時間帯を使用することを検討してください。
警告: 他のユーザーがいる場合は LVT を変更することはお勧めしません。値を大きくするとパフォーマンスが低下するためです。 値を大きくし過ぎると、ユーザーに長い遅延や失敗が生じたり、サーバーがダウンする可能性があります。
注: サーバーの全体管理は、SharePoint Server インストールでのみ利用できます。
LVT を変更する必要がある場合は、次の手順に従ってください。 UI が若干異なる場合がありますが、SharePoint 2016からの標準です。 サーバーの全体管理アプリは、SharePoint サイトとは別で、アクセスにはファーム管理者の権限が必要です。 LVT の変更は SharePoint の Server バージョンでのみ可能です。
-
管理者として、[サーバーの全体管理] にログインします。
-
[アプリケーション構成の管理]、[Web アプリケーションの管理] に進みます。
-
リスト ビューのしきい値を変更するアプリケーションを選択します。
-
リボンの [全般設定] にある下向き矢印をクリックし、メニューにアクセスして [リソースの調整] をクリックします。
-
(リストの最初の) [リスト ビューのしきい値] の値を適切な値に変更します。
-
[OK] を選択します。
リソース調整ページには、管理者として理解する必要がある追加の設定があります。
-
監査者と管理者用の [リスト ビューのしきい値] これは、既定で「上限」に設定されています。 監査者または管理者によって LVT を無効にするよう特別に要求される (プログラムを使用して) 実行されるクエリは、この制限の対象となります。 既定では、LVT の 5,000 ではなく、20,000 です。 この制限を上げると、LVT を上げることと同じ影響があります。 この値を変更する場合は、関連する変更が必要になる可能性があります。
-
オブジェクト モデルの上書き: 通常、デプロイでカスタム コードを使用し、LVT をより高い制限にオーバーライドする必要がある場合は、オブジェクト モデルのオーバーライドを許可し、クエリを実行するアプリケーションに対する監査または管理者のアクセス許可を付与することをお勧めします。 この設定は既定ではオンになっていますが、不要な場合は無効にできます。 これを使用するよい例としては、たとえば、頻繁に数分間アクセスされる大きな結果セットをキャッシュするコードを実装した場合です。 コンテンツのキャッシュを計画していない場合、これらのクエリの実行を頻繁に計画している場合は、サーバーのパフォーマンスに悪影響を及ぼすため、LVT を回避するためにこの方法を使用しないことをお勧めします。 つまり、十分な注意が必要ということです。
-
リスト ビュー参照のしきい値: この機能は、クエリが実行できる結合の数を制限します。 この値は、クエリに含まれる "ルックアップ" フィールド、"ユーザーまたはグループ" フィールド、または "ワークフローの状態" フィールドの数と等しい値です。 たとえば、6 つのルックアップ列があるビューと、別の 3 つ一意のルックアップ列で 9 つのルックアップを使用するフィルターです。 リスト ビュー参照のしきい値が 8 に設定されていると、エラーが発生します。 これを 8 を超える数値に増やすことはお勧めできません。
マイクロソフトで徹底的にテストしたところ、8 を超える結合では、急激なパフォーマンスの低下が見られました。 この時点で、サーバーのスループットが大幅に下がるだけでなく、クエリが SQL Server のリソースを不相応に大量に使用してしまい、同じデータベースを使用する他のユーザーに悪影響を与えます。 詳細については、「パフォーマンスと容量テストの結果と推奨事項」の「参照列とリスト ビュー」セクションを参照してください。
-
大規模なクエリの時間帯: この機能では、ユーザーが上限に達しないで大規模なクエリを実行できる時間を毎日設定できます。 この時間を設定する場合、次のいくつかのことにを慎重に検討してください。
-
最少数のユーザーにしか影響しないよう、これはピーク時間以外にするか、負荷が最も少ない時間にします。 ほとんどのユーザーの稼働日の途中で時間を選択した場合、大きなリストを使用していないユーザーでも悪影響を受ける可能性があります。
-
ユーザーが管理者に問い合わせるのではなく、自身でリストを修正するために使用する用途に使用できる、妥当な時間数にしてください。
-
この時間帯に開始された操作は、時間帯が終了しても中止されません。 時間が終わる直前にユーザーが大規模なリストを削除しようとした場合に必要な時間も考慮してください。
-
別のタイム ゾーンも考慮してください。 これは、組織や顧客が地理的に大幅に分散しており、一元的にホストされている SharePoint サーバーを共有している場合に特に重要です。 午後 6:00 に設定すると、自分の場所で動作する場合がありますが、たとえば、オーストラリアのシドニーでは有益ではありません。
-
-
リスト固有のアクセス許可のしきい値: これは、リストごとに許可される固有のアクセス許可数です。 アクセス許可の継承を解除し、アクセス許可 (およびその中のすべての項目) を設定するフォルダーがある場合、一意のアクセス許可のしきい値の一覧に対して 1 とカウントされます。 LVT などの設定とは異なり、このしきい値はコンテンツを参照したり、これに対してその他の操作を実行することによって動作することはなく、権限の変更に対してのみ動作します。
対応できる場合、数値を減らすことをお勧めします。 既定は 50,000 であり、これは多数の固有のアクセス許可です。 この数値になる前にリストでアクセス許可の問題が発生する可能性が高いので、先手を打って環境に適したものに調整することをお勧めします。
アイテム数が多いリストとライブラリの概要
LVT は、バックエンド データベースに対するクエリを実行するすべてのユーザーが、一定のパフォーマンスを得られるようにするために用意されています。 ここでは、その制限事項、しくみ、LVT の値の変更方法を示します。
重要: SharePointでは LVT を変更できません。 また、 SharePointに日単位の時間枠を作成する機能もありません。 これらの機能は、 SharePoint 2016 でのみ使用できます。
データベースの競合を最小限に抑えるために、SharePoint のバックエンド データベースである SQL Server では、正確な更新のために、他の行にアクセスする他のユーザーに悪影響を与えない、行レベルのロックを方針としてよく使用します。 ただし、クエリなどのデータベースの読み書き操作で 5,000 以上の行が一度にロックされる場合、データベース操作が完了するまでテーブル全体にロックする方が SQL Server にとってより効率的となります。
注: 実際の数は常に 5,000 であるとは限りません。サイト、データベースの活動量、サイトの構成によって変わることがあります。
テーブル全体がロックされると、他のユーザーはテーブルにアクセスできなくなります。 これがあまりに頻繁に発生すると、ユーザーはシステム パフォーマンスが低下を訴えるようになります。 そのため、リソースを集中的に利用するデータベース操作の影響を最小限に抑え、全ユーザーのニーズのバランスを取るには、しきい値と上限が重要になります。
次の図は、リストまたはライブラリの多数のアイテムにアクセスしたときに、内部で行われる処理の重要な点をまとめたものです。
-
サイト コレクション内のリストデータまたはライブラリ データは、クエリ、インデックス、ロックを使用して全体的なパフォーマンス、共有、精度を維持するSQL Server データベース テーブルに格納されます。
-
列のインデックスなどの操作を使ってフィルター処理されたビューによって、列や行の一部を特定し、その一部をコンピューターに返すデータベースのクエリが作成されます。
-
同時使用ユーザーが多数でも、しきい値と制限によって操作を調整し、リソースのバランスを取ることができます。
-
権限のある開発者は、SharePoint Server バージョンでオブジェクト モデルの上書きを使って、カスタム アプリケーションのしきい値と制限を一時的に上げることができます。
-
管理者は、SharePoint Server バージョンで、すべてのユーザーがオフピーク時に無制限に操作できるように、専用の時間枠を指定できます。
-
インフォメーション ワーカーは、適切なビュー、スタイル、ページの制限を使って、ページのデータ表示速度を向上できます。
リストとライブラリには、次の表のように、特定の上限があります。
機能 |
最大数 |
---|---|
リスト アイテムまたはライブラリ アイテムの数 |
3,000 万 |
個々のファイル アイテムまたはアイテムの添付のサイズ |
10 GB (ギガバイト) |
次の表では、注意が必要なリソースの制限に関する情報をまとめています。 これらの制限は、SharePoint Server バージョンの全体管理の [リソースの調整] で設定します。 サイトの特定の制限と要求については、管理者にお問い合わせください。
注:
-
管理に役立つ場合、管理者は次のリソースの制限に従う必要はありません。
-
すべての設定は UI で行うことができません。SharePoint Server バージョンでのみ実行できます。
しきい値 または制限 |
既定 値 |
説明 |
---|---|---|
リスト ビューのしきい値 |
5,000 |
クエリなどのデータベース操作で、同時に処理できるリスト アイテムまたはライブラリ アイテムの上限数を指定します。 この制限を超える操作はブロックされます。 代替プランを作成する時間を与えるために、リストが 3,000 項目を超えたときに、[リストの設定] ページで警告が表示される場合があります。 警告には、このトピックへのヘルプ リンクが表示されます。 |
固有のアクセス許可制限 |
50,000 |
リストまたはライブラリに許容する固有のアクセス許可の上限を指定します。 アイテムまたはフォルダーのアクセス許可の継承を解除するたびに、この制限に対して 1 つの一意のアクセス許可としてカウントされます。 この制限を超える可能性のある項目を追加しようとすると、その操作は禁止されます。 |
行サイズの制限 |
6 |
リスト アイテムまたはライブラリ アイテムに使うデータベース内にあるテーブルの行数の上限を指定します。 多数の列がある幅が広いリストを調整するには、各アイテムを複数の内部的なテーブルの行 (最大 6 行、添付を除いて合計 8,000 バイトまで) にラップします。 たとえば、多数の小さな列 (数百個のはい/いいえ) を含むリストがある場合、この制限を超える可能性があります。その場合、リストに Yes/No 列を追加することはできませんが、異なる型の列を追加することはできます。 管理者がこの制限を設定できるのは、ユーザー インターフェイス経由ではなく、オブジェクト モデルを使う場合のみです。 |
リスト ビュー参照のしきい値 |
12 |
参照、ユーザー/グループ、ワークフローの状態列などに基づく結合について、結合操作の上限を指定します。 クエリで 8 列を超える列が使用されている場合、操作はブロックされます。 ただし、オブジェクト モデルを使用して設定できる最大ビューを使用して、使用する列をプログラムで選択できます。 |
監査者用と管理者用の [リスト ビューのしきい値] のサイズ |
20,000 |
適切なアクセス許可を持つ監査者または管理者が操作するときに、クエリなどのデータベース操作が同時に処理できるリスト アイテムまたはライブラリ アイテムの上限数を指定します。 この設定は、[オブジェクト モデルの上書きを許可する] と併用できます。 |
オブジェクト モデルの上書きを許可する |
Y |
[監査者と管理者に対するリスト ビューのしきい値] で指定されるより高い上限によるリスト ビューのしきい値の上書きを要求するデータベース操作 (クエリなど) を開発者が実行できるかどうかを指定します。 管理者はオブジェクト モデルのオーバーライドを有効にする必要があります。その後、適切なアクセス許可を持つ開発者は、プログラムによって、より高いリスト ビューしきい値を使用してそれを利用するようにクエリに要求する場合があります。 |
時間帯 |
なし |
リソースのしきい値と制限を無視する時間枠を指定します。 管理者は、午後 6 時から午後 10 時、午前 1 時 30 分から午前 5 時 15 分など、"ピーク時以外" の時間帯を 15 分単位で、最大 24 時間構成できます。 この時間枠に開始されたデータベース操作またはクエリは、指定した時間枠内に完了しなくても、完了 (または失敗) まで続行されます。 |
リスト Forms
リスト フォーム SharePoint 構築すると、リスト アイテムに使用できるすべてのフィールドがデータベースから取得されます。 参照列が多数あるListsは、複雑で集中的な SQL ステートメントが発生する可能性があります。 SharePoint は、完全な SQL ステートメントの長さを確認し、許可される最大長を超えたときに次のエラー メッセージを表示します。
"フィールドの長さが長すぎたため、リスト アイテムを表示または追加できませんでした。 新しいエントリを短くするか、この一覧から一部のフィールドを削除してください。
この問題に対処するには、特定のリストの列数を減らしてください。
注:
-
標準の参照列、単一値管理メタデータ、複数値管理メタデータ、単一値のユーザーとグループ列、および複数値のユーザーとグループ列に加えて、すべて参照列としてカウントされます。
-
リスト ビューの各参照列によって、別のテーブルとの結合が生じます。 参照列が追加されるたびに、複雑さが増し、本質的にバックエンド SQL クエリのサイズが大きくなります。