次の方法で共有


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

関連項目