Issue
インスタンスの管理者は、ServiceNow プラットフォーム内でデータベースビューをクエリするスクリプトを確認または記述しているときに、実際のデータベースビューに実際に含まれている行数に関係なく、どの Glide クエリからも最大 10,001 件のレコードしか取得できないことに気付く場合があります。
この問題の例として、次の簡単なスクリプト化 Glide クエリで 28,931 行が返されると想定されていたとします。
var gr = new GlideRecord("u_my_database_view");
gr.addQuery("incident_active", "true");
gr.query();
ただし、スクリプトを実行すると、正確に 10,001 行が返されることがわかります。ただし、テーブルのクエリフィルターで同等のクエリを実行すると、予想される数が返されます。
Cause
各 ServiceNow インスタンスには、そのインスタンスの DatabaseView に基づくスクリプト化された Glide クエリに対して返される、デフォルトの最大設定が 10,001 行に組み込まれています。
データベースビューに基づく Glide クエリから返されるこの最大行数は、インスタンスでシステムプロパティ (名前 glide.db.max_view_records) を使用することで制限されます。他の多くのシステムプロパティと同様に、データベースビュークエリから返されるこの最大行数を制御するシステムプロパティには、そのインスタンスのシステムプロパティのリストにプロパティが見つからない場合に使用されるプロパティのデフォルト値があります。このデフォルトの制限は 10,001 レコードです。
Resolution
この問題を修正するには、この戻り値の数を制御するシステム プロパティを明示的に宣言し、必要な値に設定する必要があります。このシステムプロパティがインスタンスに既に存在する場合 (この問題を修正するためにシステムに既に追加されている場合)、そのプロパティを使用するスクリプトが適切に機能するために、必要に応じて適切な値に設定する必要があります。
したがって、この問題を修正するために、次の手順を使用してこのプロパティをインスタンスに追加できます。
インスタンスの admin 権限を持つアカウントで、インスタンスにログインします。
フィルターナビゲーターに「 system_properties.list と入力し、 Enter キーを押します。
プロパティのリストが表示されます。まず、リストを検索して、 glide.db.max_view_recordsという名前のプロパティがまだ存在しないことを確認します。このプロパティがシステムに既に存在することが判明した場合は、このプロパティの 値 フィールドを必要な値に調整します。ただし、このプロパティがインスタンスでまだ見つからない場合 (デフォルト値の 10,001 レコードの使用を強制する場合)、これらの手順を続行してプロパティをインスタンスに追加します。
システムプロパティのリストで [新規] ボタンをクリックします。
新しいシステムプロパティレコードフォームで次のフィールドに入力します。
名前: glide.db.max_view_records
説明 (オプション): データベースビューのスクリプト化された Glide クエリで返されるレコードの最大数を制御するプロパティ。
タイプ: 整数
値: <適切な値を入力します>
残りのフィールドは、新規レコードでデフォルトで設定されているとおりにしておきます。
値プロパティは、スクリプト化された Glide クエリに必要な機能を含めるために、必要に応じて適切な値 (75000 など) に設定する必要があります。
注:スクリプトで必要なことを実現するために十分な大きさの値を使用すると同時に、実行時間の非常に長いスクリプトが逆にインスタンスのパフォーマンスの問題を引き起こす可能性があるほど大きな値を使用しないようにする必要があります。
新しいレコードの 送信 ボタンをクリックします。
このプロパティを追加した後、データベースビューのスクリプト化されたクエリでは、プロパティに設定された値まで最大レコード数が許可されます。
Related Links
注: 場合によっては、何らかの理由で値をデフォルト設定の 10,001 未満に減らす必要があります。このような場合は、上記と同じ手順を使用して、10,001 レコードのデフォルトより低い制限値を設定できます。
注意:このシステムプロパティを削除すると、そのインスタンスの最大値がデフォルト設定の 10,001 に戻ります。
注意: この問題は、データベースビューで実行されるODBC接続でも発生する可能性があります。この特定の問題の詳細については、次の KB 記事を参照してください。
KB 記事 KB0779234 - ODBC クエリは、より多くの戻り値を返すことが予想される場合でも 10000 行を返す