sys.dm_external_script_requests
適用於:SQL Server 2016 (13.x) 和更新版本 Azure SQL 受控執行個體
逐資料列傳回正在執行外部指令碼的每個使用中背景工作帳戶。
注意
只有在您已安裝並啟用支援外部腳本執行的功能時,才能使用此動態管理檢視 (DMV)。 如需詳細資訊,請參閱 SQL Server 2017 和更新版本中的 機器學習 Services (R、Python)、SQL Server 2016 中的 R Services,以及 Azure SQL 受控執行個體 中的 機器學習 Services。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
external_script_request_id | 唯一標識碼 | 傳送外部腳本要求之進程的標識碼。 這會對應至收到 SQL 實例的進程標識碼。 |
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 權限。
備註
您可以使用文稿語言標識碼來篩選此檢視。
檢視也會傳回正在執行腳本的背景工作帳戶。 如需外部腳本所使用背景工作帳戶的相關信息,請參閱 SQL Server 機器學習 Services 中擴充性架構的安全性概觀一節。
在 [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 | language | degree_of_parallelism | external_user_name |
---|---|---|---|
183EE6FC-7399-4318-AA2E-7A6C68E435A8 | R | 1 | MSSQLSERVER01 |