Aracılığıyla paylaş


SQL Server Machine Learning Services'da genişletilmiş olaylarla Python ve R betiklerini izleme

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

SQL Server Machine Learning Services, SQL Server Launchpad ve Python veya R işleri içeren harici betiklerle ilgili işlemleri izlemek ve sorun gidermek için genişletilmiş olayları kullanmayı öğrenin.

SQL Server Machine Learning Services için Genişletilmiş Olaylar

SQL Server Machine Learning Services ile ilgili olayların listesini görüntülemek için SQL Server Management Studio'da (SSMS),Visual Studio Code için MSSQL uzantısında, sqlcmd'de veya sık kullandığınız T-SQL sorgulama aracında aşağıdaki sorguyu çalıştırın.

SELECT o.name AS event_name, o.description
FROM sys.dm_xe_objects o
JOIN sys.dm_xe_packages p
ON o.package_guid = p.guid
WHERE o.object_type = 'event'
AND p.name = 'SQLSatellite';

Genişletilmiş olayları kullanma hakkında daha fazla bilgi için bkz. Genişletilmiş Olaylar Araçları.

Machine Learning Services'e özgü ek olaylar

SQL Server Launchpad, BXLServer ve Python veya R çalışma zamanını başlatan uydu işlemi gibi SQL Server Machine Learning Services ile ilgili ve bu hizmetler tarafından kullanılan bileşenler için ek genişletilmiş olaylar kullanılabilir. Bu ek genişletilmiş olaylar dış işlemlerden tetiklenir; bu nedenle, bir dış yardımcı program kullanılarak yakalanmaları gerekir.

Bunun nasıl yapacağı hakkında daha fazla bilgi için Dış işlemlerden olayları toplama bölümüne bakın.

Genişletilmiş olaylar tablosu

Event Description Notes
bağlantı_kabul Yeni bir bağlantı kabul edildiğinde gerçekleşir. Bu olay tüm bağlantı girişimlerini günlüğe kaydetmeye hizmet eder.
başlatma başarısız Başlatma başarısız oldu. Bir hatayı gösterir.
uydu_iptal_bağlantısı Bağlantı kaydını durdur
uydu_abort_alındı Uydu bağlantısı üzerinden bir iptal iletisi alındığında tetikler.
uydu iptal gönderildi Bir iptal iletisi uydu bağlantısı üzerinden gönderildiğinde tetiklenir.
uydu_kimlik_dogrulama_tamamlama TCP veya Adlandırılmış kanal üzerinden yapılan bir bağlantıda kimlik doğrulama tamamlandığında tetiklenir.
uydu_yetkilendirme_tamamlanması TCP veya Adlandırılmış kanal üzerinden bir bağlantı için yetkilendirme tamamlandığında tetikler.
uydu temizliği Uydu temizlik çağrısı yaptığında tetiklenir. Yalnızca dış işlemden tetiklenir. Dış işlemlerden olay toplama yönergelerine bakın.
uydu_veri_parçası_gönderildi Uydu bağlantısı tek bir veri öbek göndermeyi bitirdiğinde tetiklenir. Olay, gönderilen satır sayısını, sütun sayısını, kullanılan SNI paketlerinin sayısını ve öbek gönderilirken milisaniye cinsinden geçen süreyi raporlar. Bu bilgiler, farklı veri türlerini geçirmek için ne kadar zaman harcanmış olduğunu ve kaç paket kullanıldığını anlamanıza yardımcı olabilir.
uydu_veri_alma_tamamlama Bir sorgu tarafından gerekli tüm veriler uydu bağlantısı üzerinden alındığında tetikler. Yalnızca dış işlemden tetiklenir. Dış işlemlerden olay toplama yönergelerine bakın.
uydu_veri_gönderme_tamamlanması Oturum için gerekli tüm veriler uydu bağlantısı üzerinden gönderildiğinde devreye girer.
uydu_veri_gönderi_başlat Veri aktarımı başladığında tetikler. Veri iletimi ilk veri öbekleri gönderilmeden hemen önce başlar.
uydu_hatası SQL uydu hatasını izleme için kullanılır
uydu_geçersiz_boyutlu_mesaj İletinin boyutu geçerli değil
uydu_mesajı_birleşik ağ katmanında ileti birleştirmeyi izleme için kullanılır
uydu_mesaj_halka_tampon_kaydı ileti halkası arabellek kaydı
uydu_mesaj_özeti mesajlaşma hakkında özet bilgiler
uydu_mesaj_sürüm_uyumsuzluğu İletinin sürüm alanı eşleşmiyor
uydu_mesajlaşma mesajlaşma olayını (bağlama, bağlamayı kaldırma vb.) izleme için kullanılır
uydu_kısmi_mesaj Ağ katmanında kısmi iletiyi izleme için kullanılır
uydu_scheması_alındı Schema iletisi SQL tarafından alınıp okunduğunda etkinleşir.
satellite_schema_sent Şema mesajı uydu tarafından gönderildiğinde tetiklenir. Yalnızca dış işlemden tetiklenir. Dış işlemlerden olay toplama yönergelerine bakın.
uydu_hizmet_başlama_gönderildi Başlatma alanına hizmet başlatma iletisi gönderildiğinde tetiklenir. Bu, Launchpad'e dış işlemi başlatmasını bildirir ve yeni oturum için bir kimlik içerir.
uydu_beklenmedik_mesasaj_alındı Beklenmeyen bir ileti alındığında tetikler. Bir hatayı gösterir.
stack_trace İşlemin bellek dökümü istendiğinde gerçekleşir. Bir hatayı gösterir.
trace_event İzleme amacıyla kullanılır Bu olaylar SQL Server, Launchpad ve dış işlem izleme iletileri içerebilir. Bu, R'den stdout ve stderr çıkışını içerir.
launchpad_launch_start Fırlatma çubuğu bir uydu fırlatmaya başladığında ateşleniyor. Yalnızca Launchpad'den tetiklenir. launchpad.exe'dan olay toplama yönergelerine bakın.
launchpad_özgeçmiş_gönderildi Fırlatma rampası uyduyu fırlatıp SQL Server'a bir devam etme mesajı gönderdiğinde etkinleşir. Yalnızca Launchpad'den tetiklenir. launchpad.exe'dan olay toplama yönergelerine bakın.
uydu_veri_parçası_gönderildi Uydu bağlantısı tek bir veri öbek göndermeyi bitirdiğinde tetiklenir. Sütun sayısı, satır sayısı, paket sayısı ve öbek gönderilirken geçen süre hakkında bilgi içerir.
satellite_sessionId_uyumsuzluğu Mesajın oturum kimliği beklenmiyor

Dış işlemlerden olayları toplama

SQL Server Machine Learning Services, SQL Server işleminin dışında çalışan bazı hizmetleri başlatır. Bu dış işlemlerle ilgili olayları yakalamak için bir olay izleme yapılandırma dosyası oluşturmanız ve dosyayı işlemin yürütülebilir dosyasıyla aynı dizine yerleştirmeniz gerekir.

Önemli

SQL Server 2019'dan yalıtım mekanizması değişti. Bu nedenle olay izleme yapılandırma dosyasının depolandığı dizine uygun izinler vermeniz gerekir. Bu izinleri ayarlama hakkında daha fazla bilgi için Windows'da SQL Server 2019'da Dosya izinleri bölümüne bakın: Machine Learning Services için yalıtım değişiklikleri.

  • SQL Server Başlatma Çubuğu

    Launchpad ile ilgili olayları yakalamak için .xml dosyasını SQL Server örneğinin Binn dizinine yerleştirin. Varsayılan yüklemede şu şekilde olur:

    C:\Program Files\Microsoft SQL Server\MSSQL_version_number.MSSQLSERVER\MSSQL\Binn.

  • BXLServer , R veya Python gibi dış betik dilleriyle SQL genişletilebilirliğini destekleyen uydu işlemidir. Her dış dil örneği için ayrı bir BxlServer örneği başlatılır.

    BXLServer ile ilgili olayları yakalamak için .xml dosyasını R veya Python yükleme dizinine yerleştirin. Varsayılan yüklemede şu şekilde olur:

    R:C:\Program Files\Microsoft SQL Server\MSSQL_version_number.MSSQLSERVER\R_SERVICES\library\RevoScaleR\rxLibs\x64.

    Python:C:\Program Files\Microsoft SQL Server\MSSQL_version_number.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\revoscalepy\rxLibs.

Yapılandırma dosyası, "[name].xevents.xml" biçimi kullanılarak yürütülebilir dosyayla aynı şekilde adlandırılmalıdır. Başka bir deyişle, dosyalar aşağıdaki gibi adlandırılmalıdır:

  • Launchpad.xevents.xml
  • bxlserver.xevents.xml

Yapılandırma dosyasının kendisi aşağıdaki biçime sahiptir:

<?xml version="1.0" encoding="utf-8"?>  
<event_sessions>  
<event_session name="[session name]" maxMemory="1" dispatchLatency="1" MaxDispatchLatency="2 SECONDS">  
    <description owner="you">Xevent for launchpad or bxl server.</description>  
    <event package="SQLSatellite" name="[XEvent Name 1]" />  
    <event package="SQLSatellite" name="[XEvent Name 2]" />  
    <target package="package0" name="event_file">  
      <parameter name="filename" value="[SessionName].xel" />  
      <parameter name="max_file_size" value="10" />  
      <parameter name="max_rollover_files" value="10" />  
    </target>  
  </event_session>  
</event_sessions>  
  • İzlemeyi yapılandırmak için oturum adı yer tutucusunun, dosya adının yer tutucusunun ()[SessionName].xel ve yakalamak istediğiniz olayların adlarını (örneğin, , [XEvent Name 1][XEvent Name 1]) düzenleyin.
  • Herhangi bir sayıda olay paketi etiketi görüntülenebilir ve ad özniteliği doğru olduğu sürece toplanır.

Örnek: Launchpad olaylarını yakalama

Aşağıdaki örnekte Launchpad hizmeti için bir olay izlemesinin tanımı gösterilmektedir:

<?xml version="1.0" encoding="utf-8"?>  
<event_sessions>  
<event_session name="sqlsatelliteut" maxMemory="1" dispatchLatency="1" MaxDispatchLatency="2 SECONDS">  
    <description owner="hay">Xevent for sql tdd runner.</description>  
    <event package="SQLSatellite" name="launchpad_launch_start" />  
    <event package="SQLSatellite" name="launchpad_resume_sent" />  
    <target package="package0" name="event_file">  
      <parameter name="filename" value="launchpad_session.xel" />  
      <parameter name="max_file_size" value="10" />  
      <parameter name="max_rollover_files" value="10" />  
    </target>  
  </event_session>  
</event_sessions>  
  • .xml dosyasını SQL Server örneğinin Binn dizinine yerleştirin.
  • Bu dosya olarak adlandırılmalıdır Launchpad.xevents.xml.

Örnek: BXLServer olaylarını yakalama

Aşağıdaki örnekte BXLServer yürütülebilir dosyası için bir olay izlemesinin tanımı gösterilmektedir.

<?xml version="1.0" encoding="utf-8"?>  
<event_sessions>  
 <event_session name="sqlsatelliteut" maxMemory="1" dispatchLatency="1" MaxDispatchLatency="2 SECONDS">  
    <description owner="hay">Xevent for sql tdd runner.</description>  
    <event package="SQLSatellite" name="satellite_abort_received" />  
    <event package="SQLSatellite" name="satellite_authentication_completion" />  
    <event package="SQLSatellite" name="satellite_cleanup" />  
    <event package="SQLSatellite" name="satellite_data_receive_completion" />  
    <event package="SQLSatellite" name="satellite_data_send_completion" />  
    <event package="SQLSatellite" name="satellite_data_send_start" />  
    <event package="SQLSatellite" name="satellite_schema_sent" />   
    <event package="SQLSatellite" name="satellite_unexpected_message_received" />    
    <event package="SQLSatellite" name="satellite_data_chunk_sent" />   
    <target package="package0" name="event_file">  
      <parameter name="filename" value="satellite_session.xel" />  
      <parameter name="max_file_size" value="10" />  
      <parameter name="max_rollover_files" value="10" />  
    </target>  
  </event_session>  
</event_sessions>  
  • .xml dosyasını BXLServer yürütülebilir dosyasıyla aynı dizine yerleştirin.
  • Bu dosya olarak adlandırılmalıdır bxlserver.xevents.xml.

Sonraki Adımlar