Delen via


sys.dm_external_script_requests

Van toepassing op: SQL Server 2016 (13.x) en latere versies van Azure SQL Managed Instance

Retourneert een rij voor elk actief werkrolaccount waarop een extern script wordt uitgevoerd.

Opmerking

Deze dynamische beheerweergave (DMV) is alleen beschikbaar als u de functie hebt geïnstalleerd en ingeschakeld die ondersteuning biedt voor het uitvoeren van externe scripts. Zie Machine Learning Services (R, Python) in SQL Server 2017 en hoger, R Services in SQL Server 2016 en Machine Learning Services in Azure SQL Managed Instance voor meer informatie.

Kolomnaam Gegevenstype Description
external_script_request_id unieke id Id van het proces dat de externe scriptaanvraag heeft verzonden. Dit komt overeen met de proces-id zoals ontvangen van het SQL-exemplaar.
language nvarchar Trefwoord dat een ondersteunde scripttaal vertegenwoordigt.
degree_of_parallelism int Getal dat het aantal parallelle processen aangeeft dat is gemaakt. Deze waarde kan afwijken van het aantal parallelle processen dat is aangevraagd.
external_user_name nvarchar Het Windows-werkrolaccount waaronder het script is uitgevoerd.

Permissions

Hiervoor is een machtiging vereist VIEW SERVER STATE op de server.

Opmerking

Gebruikers die externe scripts uitvoeren, moeten beschikken over de extra machtiging EXECUTE ANY EXTERNAL SCRIPT, maar deze DMV kan worden gebruikt door beheerders zonder deze machtiging.

Machtigingen voor SQL Server 2022 en hoger

Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.

Opmerkingen

Deze weergave kan worden gefilterd met behulp van de scripttaal-id.

De weergave retourneert ook het werkrolaccount waaronder het script wordt uitgevoerd. Zie de sectie Identiteiten die worden gebruikt in de verwerking (SQLRUserGroup) in het beveiligingsoverzicht voor het uitbreidbaarheidsframework in SQL Server Machine Learning Services voor informatie over werkaccounts die door de externe scripts worden gebruikt.

De GUID die wordt geretourneerd in het veld external_script_request_id vertegenwoordigt ook de bestandsnaam van de beveiligde map waarin tijdelijke bestanden worden opgeslagen. Elk werkrolaccount, zoals MSSQLSERVER01, vertegenwoordigt één SQL-aanmelding of Windows-gebruiker en kan worden gebruikt voor het uitvoeren van meerdere scriptaanvragen. Deze tijdelijke bestanden worden standaard opgeschoond na voltooiing van het aangevraagde script.

Deze DMV bewaakt alleen actieve processen en kan niet rapporteren over scripts die al zijn voltooid. Als u de duur van scripts wilt bijhouden, raden we u aan tijdsinstellingen toe te voegen aan uw script en deze vast te leggen als onderdeel van de uitvoering van het script.

Voorbeelden

De momenteel actieve scripts voor een bepaald proces weergeven

In het volgende voorbeeld ziet u het aantal uitvoeringen van externe scripts dat wordt uitgevoerd op het huidige exemplaar.

SELECT external_script_request_id
  , [language]
  , degree_of_parallelism
  , external_user_name
FROM sys.dm_external_script_requests;

Results

external_script_request_id language degree_of_parallelism external_user_name
183EE6FC-7399-4318-AA2E-7A6C68E435A8 R 1 MSSQLSERVER01

Zie ook