sys.dm_external_script_requests

適用於:SQL Server 2016 (13.x) 和更新版本 Azure SQL 受控執行個體

逐資料列傳回正在執行外部指令碼的每個使用中背景工作帳戶。

注意

只有在您已安裝並啟用支援外部腳本執行的功能時,才能使用此動態管理檢視 (DMV)。 如需詳細資訊,請參閱 SQL Server 2017 和更新版本中 的機器學習服務(R、Python)、 SQL Server 2016 中的 R 服務,以及 Azure SQL 受控實例 中的機器學習服務。

資料行名稱 資料類型 描述
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 機器學習服務 中擴充性架構的安全性概觀一節中 用於處理中的身分識別(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 language degree_of_parallelism external_user_name
183EE6FC-7399-4318-AA2E-7A6C68E435A8 R 1 MSSQLSERVER01

另請參閱