sys.dm_external_script_requests
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Managed Instance
外部スクリプトを実行しているアクティブなワーカー アカウントごとに行を返します。
Note
この動的管理ビュー (DMV) は、外部スクリプトの実行をサポートする機能をインストールして有効にした場合にのみ使用できます。 詳細については、「 Machine Learning Services (R, Python) in SQL Server 2017 以降 SQL Server 2016 の R Services、および Azure SQL Managed Instance の Machine Learning Services を参照してください。
列名 | データ型 | 説明 |
---|---|---|
external_script_request_id | 一意識別子 | 外部スクリプト要求を送信したプロセスの ID です。 これは、SQL インスタンスを受信したプロセス ID に対応します。 |
言語 | nvarchar | サポートされているスクリプト言語を表すキーワードです。 |
degree_of_parallelism | int | 作成された並列処理の数を示す数値です。 この値は、要求された並列処理の数と異なる場合があります。 |
external_user_name | nvarchar | スクリプトが実行されたときの Windows ワーカー アカウント。 |
アクセス許可
サーバー VIEW SERVER STATE
アクセス許可が必要です。
Note
外部スクリプトを実行するユーザーは、追加のアクセス許可 EXECUTE ANY EXTERNAL SCRIPT
必要があります。ただし、この DMV は、このアクセス許可なしで管理者が使用できます。
SQL Server 2022 以降でのアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。
解説
このビューは、スクリプト言語の識別子を使用してフィルター処理することができます。
このビューはまた、スクリプトが実行されているワーカー アカウントも返します。 外部スクリプトで使用されるワーカー アカウントの詳細については、「sql Server Machine Learning Services の機能拡張フレームワークの概要 セキュリティの概要の「処理に使用される ID (SQLRUserGroup)」セクションを参照してください。
external_script_request_id フィールドに返される GUID はまた、一時ファイルが格納されている、セキュリティで保護されたディレクトリのファイル名も表します。 MSSQLSERVER01などの各ワーカー アカウントは、単一の SQL ログインまたは Windows ユーザーを表し、複数のスクリプト要求の実行に使用できます。 既定では、これらの一時ファイルは、要求したスクリプトが完了するとクリーンアップされます。
この DMV は、アクティブなプロセスを監視するだけであり、既に完了しているスクリプトをレポートすることはできません。 スクリプトの期間を追跡する必要がある場合は、スクリプト内にタイミング情報を追加し、スクリプトの実行の一部としてキャプチャすることをお勧めします。
例
特定のプロセスの現在アクティブなスクリプトの表示
次の例では、現在のインスタンスで実行されている外部スクリプト実行の数を表示します。
SELECT external_script_request_id
, [language]
, degree_of_parallelism
, external_user_name
FROM sys.dm_external_script_requests;
結果
external_script_request_id | 言語 | degree_of_parallelism | external_user_name |
---|---|---|---|
183EE6FC-7399-4318-AA2E-7A6C68E435A8 | R | 1 | MSSQLSERVER01 |