web-dev-qa-db-ja.com

SQL Server Management Studio(SSMS)内のアクティビティモニターのSQLCLR待機タイプとは何ですか?

SQL Prodサーバーを確認すると、アクティビティモニターを開くたびに、アクティビティモニターのリソース待機セクションの最初のリストに常にSQLCLRが表示されます。それは常に高い数を持っています。 SQLCLRの目的は何ですか?アクティビティモニターで、リソース待機数が多いSQLCLRを持つサーバーが悪いのですか?

10
Keith Rivera

SQLCLRは、SQL Server内で.NETコードを実行する機能です。

SQLCLRについて話すとき、彼らは通常、カスタム.NETコード(ストアドプロシージャ、関数、トリガー、ユーザー定義型、およびユーザー定義集計)を作成する機能を指します。この場合、この機能はsp_configure内の「clr enabled」のサーバーオプションを介してオンとオフを切り替えることができ、セキュリティ構成GUIでは「CLR統合」と呼ばれていると思います。 .NET機能を追加するには、コンパイル済みの.NETコードをSQL Serverにロードするために CREATE Assembly を使用する必要があります。

ただし、 "clr enabled"オプションが0/"off"/"disabled"に設定されていても、CLR機能は内部機能と一部の組み込み機能に引き続き使用され、「use Windowsファイバー」/「軽量プーリング」オプションが有効になっています。

SQLCLRとは何か、できないこと、およびそれができることの詳細については、SQL Server Centralでこのトピックについて書いた記事を参照してください。 SQLCLRレベル1への階段1:SQLCLRとは? =(そのサイトのコンテンツを表示するには無料登録が必要です)。その記事の簡略版は、次のStackOverflowの回答で入手できます: SQL ServerでCLR関数が必要になるのはいつですか?

インスタンスがcustom.NETコードのデータベースへの追加を許可しているかどうかを知りたい場合は、次のコマンドを実行して、「run_value」フィールドを確認します。

EXEC sp_configure 'clr enabled';

リソースモニターでの[〜#〜] sqlclr [〜#〜]待機タイプの意味については、次のブログ投稿を参照してください。

仕組み:SQL Server 2008アクティビティモニターのSQLCLR待機カテゴリの背後にあるもの

そして、私はその投稿からの関連する行(あなたが見ているSQLCLRカテゴリに関係するため)は次のとおりだと思います:

私が見つけたのは、いくつかのwait_typeは予期された待機であるため、無視する必要があるということです。

11
Solomon Rutzky