Aracılığıyla paylaş


sys.dm_external_script_execution_stats

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri Azure SQL Yönetilen Örneği

Her dış betik isteği türü için bir satır döndürür. Dış betik istekleri desteklenen dış betik diline göre gruplandırılır. Her kayıtlı dış betik işlevi için bir satır oluşturulur. Gibi rxExecbir üst işlem tarafından gönderilmediği sürece rastgele dış betik işlevleri kaydedilmez.

Uyarı

Bu dinamik yönetim görünümü (DMV) yalnızca dış betik yürütmeyi destekleyen özelliği yüklediyseniz ve etkinleştirdiyseniz kullanılabilir. Daha fazla bilgi için bkz. SQL Server 2016'da R Hizmetleri, SQL Server 2017 ve sonraki sürümlerde Machine Learning Services (R, Python) veAzure SQL Yönetilen Örneği Machine Learning Services.

Sütun adı Veri türü Description
language nvarchar Kayıtlı dış betik dilinin adı. Her dış betik, ilişkili başlatıcıyı başlatmak için betik isteğinde dili belirtmelidir.
counter_name nvarchar Kayıtlı bir dış betik işlevinin adı. null atanamaz.
counter_value integer Kayıtlı dış betik işlevinin sunucuda çağrıldığı toplam örnek sayısı. Bu değer, özelliğin örneğe yüklendiği zamandan başlayarak topludur ve sıfırlanamaz.

Permissions

SQL Server 2019 (15.x) ve önceki sürümler için sunucuda SUNUCU DURUMUNU GÖRÜNTÜLE izni gerekir.

SQL Server 2022 (16.x) ve sonraki sürümler için sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerekir.

Dış betikleri çalıştıran kullanıcıların HERHANGI BIR HARİÇ BETIĞI YÜRÜTME ek iznine sahip olması gerekir. Ancak, bu DMV bu izin olmadan yöneticiler tarafından kullanılabilir.

Açıklamalar

Bu DMV, SQL Server'da sağlanan yeni dış betik yürütme özelliğinin genel kullanımını izlemek için iç telemetri için sağlanır. Telemetri hizmeti, LaunchPad çalıştığında başlar ve kayıtlı bir dış betik işlevi çağrıldığında disk tabanlı bir sayacı artırır.

Genel olarak, performans sayaçları yalnızca bunları oluşturan işlem etkin olduğu sürece geçerlidir. Bu nedenle, DMV'de bir sorgu çalışmayı durduran hizmetler için ayrıntılı verileri gösteremez. Örneğin, bir başlatıcı dış betiği yürütür ve bunları hızlı bir şekilde tamamlarsa, geleneksel bir DMV herhangi bir veri göstermeyebilir.

Bu nedenle, bu DMV tarafından izlenen sayaçlar çalışır durumda tutulur ve örneği kapatılmış olsa bile diske yazma işlemleri kullanılarak durumu sys.dm_external_script_requests korunur.

Sayaç değerleri

SQL Server 2016'da (13.x), desteklenen tek dış dil R'dir ve dış betik istekleri R Services (In-Database) tarafından işlenir. SQL Server 2017 (14.x) ve sonraki sürümlerde ve Azure SQL Yönetilen Örneği'nde hem R hem de Python desteklenen dış diller ve dış betik istekleri Machine Learning Services tarafından işlenir.

R için, bu DMV bir örnekte yapılan R çağrılarının sayısını izler. Örneğin, çağrılır ve paralel olarak çalıştırılırsa rxLinMod sayaç 1 artar.

R dili için, counter_name alanında görüntülenen sayaç değerleri kayıtlı ScaleR işlevlerinin adlarını temsil eder. counter_value alanındaki değerler, belirli ScaleR işlevinin örnek sayısını gösterir.

Python için bu DMV, bir örnekte yapılan Python çağrılarının sayısını izler.

Sayı, özellik örnekte yüklenip etkinleştirildiğinde başlar ve durumu koruyan dosya bir yönetici tarafından silinene veya üzerine yazılana kadar birikmeli olur. Bu nedenle, counter_value değerlerini sıfırlamak genellikle mümkün değildir. Kullanımı oturuma, takvim saatlerine veya diğer aralıklara göre izlemek istiyorsanız, bir tablodaki sayıları yakalamanızı öneririz.

R'de dış betik işlevlerinin kaydı

R rastgele betikleri destekler ve R topluluğu her biri kendi işlevlerine ve yöntemlerine sahip binlerce paket sağlar. Ancak, bu DMV yalnızca SQL Server 2016 (13.x) R Services ile yüklenen ScaleR işlevlerini izler.

Bu işlevlerin kaydı, özellik yüklendiğinde gerçekleştirilir ve kayıtlı işlevler eklenemez veya silinemez.

Örnekler

Sunucuda çalıştırılacak R betiklerinin sayısını görüntüleme

Aşağıdaki örnek, R dili için dış betik yürütmelerinin birikmeli sayısını görüntüler.

SELECT counter_name, counter_value
FROM sys.dm_external_script_execution_stats
WHERE language = 'R';

Sunucuda çalıştırılacak Python betiklerinin sayısını görüntüleme

Aşağıdaki örnek, Python dili için dış betik yürütmelerinin birikmeli sayısını görüntüler.

SELECT counter_name, counter_value
FROM sys.dm_external_script_execution_stats
WHERE language = 'Python';

Ayrıca bakınız