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

クエリを実行している SQL Server 2005 では、TokenAndPermUserStore キャッシュのサイズを拡張する場合は完了する時間がかかる

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

英語版 KB:927396
# をバグ: 429501 (SQLBUDT)
現象
Microsoft SQL Server の 2005 年には、次の現象が発生する可能性があります。
  • 実行速度は、通常、クエリに時間がかかる実行が終了する時間です。
  • SQL Server プロセスの CPU 使用率は、通常。
  • アドホック クエリを実行すると、パフォーマンスが低下する場合は、クエリからを表示、 sys.dm_exec_requests または sys.dm_os_waiting_tasks 動的管理ビューです。ただし、クエリはありません。すべてのリソースを待機しているようです。
  • TokenAndPermUserStore キャッシュ ストアのサイズが一定の速度で拡大します。
  • TokenAndPermUserStore キャッシュ ストアのサイズには、注文数百メガバイト (MB)。
  • 場合によっては、DBCC FREEPROCCACHE コマンドの実行は一時的な救済を提供します。
TokenAndPermUserStore キャッシュのサイズを監視するには、次のようなクエリを使用します。
SELECT SUM(single_pages_kb + multi_pages_kb) AS    "CurrentSizeOfTokenCache(kb)"    FROM sys.dm_os_memory_clerks    WHERE name = 'TokenAndPermUserStore'
原因
TokenAndPermUserStore キャッシュ ストアいずれかのセキュリティ トークンの種類を保持します。
  • LoginToken
  • TokenPerm
  • UserToken
  • SecContextToken
  • TokenAccessResult。
さまざまなクラスTokenAccessResult の項目も表示されます。この問題は、65535 のクラスを持つ多くの TokenAccessResult エントリが存在するために発生します。

SQL Server のインスタンスが、高い割合でランダムの動的クエリの実行、65535 でクラスに適用する TokenAccessResult エントリの多くに注意してください。は、 sys.dm_os_memory_cache_entries 表示します。65535 のクラスに適用する TokenAccessResult エントリ特殊なキャッシュ エントリを表します。これらのキャッシュ エントリ用の累積的なアクセス許可のチェックに使用されます。照会します。たとえば、次のクエリを実行する可能性があります。
select * from t1 join t2 join t3
この例では、このクエリの累積アクセス許可チェック SQL Server を計算します。このチェックは、t1、t2、t3 を選択をユーザーが持っているかどうかを確認します。この累積的なアクセス許可のチェック結果は、TokenAccessResult エントリに埋め込まれ、挿入されます、TokenAndPermUserStore キャッシュ ストアが 65535 の ID。同じユーザーが再利用されますまたは、次のクエリを複数回実行する場合は、SQL Server を再利用、TokenAccessResult キャッシュ エントリに 1 回。

このキャッシュを保存すると成長を時間の増加を再利用する既存のエントリを検索します。検索は 1 つだけのスレッドを実行できるようにこのキャッシュへのアクセスが制御されます。この現象最終的に原因を小さくには、クエリのパフォーマンスと複数の CPU 使用率が発生します。
解決方法

サービス パックの情報

この問題を解決するには、SQL Server 2005 の最新の service pack を入手します。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
913089 SQL Server 2005 の最新の service pack を入手する方法
この問題を解決するには、SQL Server 2005 Service Pack 2 は、アクセス トークンのキャッシュの動作を変更します。既定では、アドホック クエリの TokenAccessResult セキュリティ キャッシュ エントリ特定のアドホック クエリを再度実行するとのみがキャッシュされます。
回避策
この問題を回避するには、いずれかを使用して、次のメソッド。
  • アドホック クエリを明示的にパラメーター化します。

    メモ
    • このメソッドを使用すると、アドホック クエリとその計画を効果的に再利用できます。
    • このメソッドを使用すると、TokenAccessResult エントリを作成する必要はありません。他のパラメーターと共に、アドホック クエリを実行するたびにします。
    • この方法では、TokenAndPermUserStore のサイズキャッシュは、妥当な制限の下です。
  • アドホック クエリ内で、ストアド プロシージャ、および保存されている使用をラップします。非定型のクエリーを直接実行するのではなく、手順します。

    メモ
    • 実行プラン キャッシュ内にあるステートメントは、ストアド プロシージャです。
    • TokenAccessResult のエントリを各ステートメント実行プランのエントリに関連付けられています。
    • このストアド プロシージャである限り、実行を計画します。ままになりますキャッシュ内で、ストアド プロシージャを実行するたびを効果的に再利用、TokenAccessResult のエントリです。そのためには、新しい TokenAccessResult を作成する必要はありません。エントリです。
  • FORCE_PARAMETERIZATION のデータベース オプションを有効にします。

    メモ
    • このメソッドを使用すると、アドホック クエリとその計画を効果的に再利用できます。
    • このメソッドを使用すると、TokenAccessResult エントリを作成する必要はありません。他のパラメーターと共に、アドホック クエリを実行するたびにします。
    • この方法では、TokenAndPermUserStore のサイズキャッシュは、妥当な制限の下です。
  • 可変のアドホック クエリとして実行されるログインを追加します。サーバのシステム管理者グループのメンバーです。

    メモ
    • TokenAccessResult エントリだけは、アド ホックの作成します。メンバーではないログインによって、クエリの実行時のクエリ、sysadmin サーバーのグループです。
    • TokenAccessResult のエントリが作成されるため、この動作を管理しやすいサイズに TokenAndPermUserStore のキャッシュ ・ サイズを維持します。
  • TokenAndPermUserStore キャッシュからのエントリをフラッシュします。

    メモ
    • これを行うには、次のコマンドを実行します。
      DBCC FREESYSTEMCACHE (TokenAndPermUserStore)
    • 理想的をクリックして、しきい値の監視しよう、問題が表示しているときのキャッシュ サイズを TokenAndPermUserStore。
    • 次の操作を実行するスケジュールされた SQL Server のエージェント ジョブを作成できます。
      • TokenAndPermUserStore キャッシュのサイズを確認します。サイズです。これを行うには、次のコマンドを実行します。
        SELECT SUM(single_pages_kb + multi_pages_kb) AS    "CurrentSizeOfTokenCache(kb)"    FROM sys.dm_os_memory_clerks    WHERE name = 'TokenAndPermUserStore'
      • キャッシュ ・ サイズが、見た、しきい値よりも大きい場合は、次のコマンドを実行します。
        DBCC FREESYSTEMCACHE ('TokenAndPermUserStore')
関連情報
詳細については、マイクロソフト サポート技術記事を表示するのには、次の資料番号をクリックしてください。
933564FIX SQL Server 2005 で USERSTORE_TOKENPERM キャッシュ ストアのメモリの消費量が徐々 に増加が発生します。
959823 TokenAndPermUserStore キャッシュ ストアでは、SQL Server 2005 Service Pack 3 用のクォータをカスタマイズする方法

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

プロパティ

文書番号:927396 - 最終更新日: 08/08/2011 12:34:00 - リビジョン: 8.0

  • kbinfo kbtshoot kbprb kbsql2005tsql kbmt KB927396 KbMtja
フィードバック
rClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("