次の方法で共有


sys.dm_external_script_requests

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Managed Instance

外部スクリプトを実行しているアクティブなワーカー アカウントごとに行を返します。

注意

この動的管理ビュー (DMV) は、外部スクリプトの実行をサポートする機能をインストールして有効にしている場合にのみ使用できます。 詳細については、SQL Server 2017 以降の Machine Learning Services (R、Python)、SQL Server 2016R Servicesおよび Azure SQL Managed Instance の Machine Learning Services に関するページを参照してください。

列名 データ型 説明
external_script_request_id 一意識別子 外部スクリプト要求を送信したプロセスの ID です。 これは、SQL インスタンスを受信したプロセス ID に対応します。
language nvarchar サポートされているスクリプト言語を表すキーワードです。
degree_of_parallelism int 作成された並列処理の数を示す数値です。 この値は、要求された並列処理の数と異なる場合があります。
external_user_name nvarchar スクリプトが実行されたときの Windows ワーカー アカウント。

アクセス許可

サーバーに対するアクセス許可が必要 VIEW SERVER STATE です。

注意

外部スクリプトを実行するユーザーには追加のアクセス許可 EXECUTE ANY EXTERNAL SCRIPTが必要ですが、この DMV は、このアクセス許可なしで管理者が使用できます。

SQL Server 2022 以降のアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE 権限が必要です。

注釈

このビューは、スクリプト言語の識別子を使用してフィルター処理することができます。

このビューはまた、スクリプトが実行されているワーカー アカウントも返します。 外部スクリプトで使用されるワーカー アカウントの詳細については、「security overview for the extensibility framework in SQL Server Machine Learning Services」の「処理に使用される ID (SQLRUserGroup)」セクションを参照してください。

external_script_request_id フィールドに返される GUID はまた、一時ファイルが格納されている、セキュリティで保護されたディレクトリのファイル名も表します。 MSSQLSERVER01 などの各ワーカー アカウントは、1 つの 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 language degree_of_parallelism external_user_name
183EE6FC-7399-4318-AA2E-7A6C68E435A8 R 1 MSSQLSERVER01

関連項目