Aracılığıyla paylaş


SQL Server için Yeniden Yürütme İşaretlemeyi Dili (RML) Yardımcı Programları

Bu makalede, destek uzmanları tarafından Microsoft SQL Server sorunlarını gidermek için kullanılan bir araç grubu ele alınmaktadır.

Özgün ürün sürümü: SQL Server
Özgün KB numarası: 944837

RML Yardımcı Programları nedir?

RML Yardımcı Programları, SQL Server'da performans sorunlarını gidermek ve yardımcı olmak için kullanılan bir dizi tanılama aracıdır. Bunları, tıbbi teknisyenlerin X-ray, MRI ve CT Scan sonuçlarını işlemesine yardımcı olan araçlara benzer şekilde düşünebilirsiniz. RML Yardımcı Programları, kullanıcılar tarafından toplanan performans tanılama verilerini işlemek ve görselleştirmek için kullanılır. Bu araçlar genellikle SQL Server destek mühendisleri tarafından bir performans sorununu giderirken tanılama izlemelerini işlemek için kullanılır. Ayrıca RML Yardımcı Programları, veritabanı geliştiricileri ve yöneticileri tarafından sql Server sorgu iş yüklerini test ve üretim ortamlarından analiz etmek ve iyileştirmek için sıklıkla kullanılır. Pakette üç yardımcı program vardır: ReadTrace, Reporter ve Ostress.

  • ReadTrace, kullanıcının SQL Server sorununu tanılamak veya iş yükü performansını analiz etmek için oluşturduğu Genişletilmiş Olay izlemelerini veya SQL İzleme izlemelerini alır. ReadTrace, izlemeleri kullanıcı tarafından belirtilen bir SQL Server veritabanındaki tablolara aktarır. ReadTrace'i bir dönüştürme aracı olarak düşünün: sql sorguları aracılığıyla daha kolay analiz edilebilmeleri için ikili .XEL veya .TRC dosyaları alır ve tablolara aktarır. ReadTrace ayrıca Yeniden Yürütme İşaretlemeyi Dili (. RML) dosyaları, Ostress tarafından iş yükü yeniden yürütme için kullanılabilir.
  • Reporter , ReadTrace tarafından oluşturulan kullanıcı veritabanına bağlanan bir rapor ve görselleştirme aracıdır. Reporter veritabanında SQL sorguları çalıştırır ve özgün Genişletilmiş Olayların veya Profil Oluşturucu izlemelerinin çevrimdışı SSRS rapor özetlerini gösterir. Örneğin bir rapor, yakalanan belirli bir iş yükünde en uzun süre çalıştırılan sorguları, en çok CPU kullanan ve en çok okuma gerçekleştiren sorguları gösterebilir.
  • Ostress bir stres testi simülasyon aracıdır. Ostress.exe giriş olarak Genişletilmiş Olay veya SQL Profiler tanılama izlemelerini kullanır. Kullanıcı tarafından sağlanan sorguları da giriş olarak kabul edebilir. Ardından Ostress, kullanıcının seçtiği bir SQL Server örneğinde bu izlemeleri veya sorguları yeniden yürütmektedir. Amaç stres simülasyonu yapmaktır. Örneğin, OStress'e gibi select * from table1bir sorgu sağlarsanız, sorguyu aynı anda 50 bağlantıda 100 kez çalıştırmasını sağlayabilirsiniz. Ostress, tek tek sorgulara ek olarak ReadTrace'in yeniden yürütmeyi gerçekleştirmek için oluşturduğu özel RML dosyalarını da kullanabilir.
  • OStress Replay Control Agent (ORCA), RML dosyalarından bir iş yükünü yeniden yürüterek Ostress'in stres testi simülasyonu oluşturmasına yardımcı olur. ORCA ile doğrudan etkileşim kurmaz, ancak Ostress'i kullanırsınız.

Her aracın ve örnek kullanımın tam açıklaması için, SQL Server için RML Yardımcı Programları'nda yer alan RML Yardım dosyasına bakın.

Not

RML Yardımcı Programları Ekim 2025 itibarıyla kullanım dışı bırakılmıştır. Bu ürün artık geliştirilmemektedir ve gelecekteki iyileştirmeler veya düzeltmeler beklenmemelidir.

RML Yardımcı Programları nasıl yararlıdır?

Aşağıdaki görevleri gerçekleştirmek için SQL Server için RML Yardımcı Programlarını kullanabilirsiniz:

  • En fazla kaynağı hangi uygulamanın, veritabanının, SQL Server oturum açma bilgilerinin veya sorgunun kullandığını belirleyin.
  • Toplu iş izlemesini yakaladığınızda toplu iş için yürütme planının değiştirilip değiştirilmediğini belirleyin. Ayrıca, SQL Server'ın bu planları nasıl çalıştırdığını belirlemek için SQL Server için RML Yardımcı Programlarını kullanabilirsiniz.
  • Hangi sorguların yavaş çalıştığını belirleyin.

SQL Server örneği için bir izleme yakaladıklarından sonra, izleme dosyasını başka bir SQL Server örneğinde yeniden oynatmak için SQL Server için RML Yardımcı Programları'nı kullanabilirsiniz. İzlemeyi yeniden yürütme sırasında da yakalarsanız, yeni izleme dosyasını özgün izleme dosyasıyla karşılaştırmak için SQL Server için RML Yardımcı Programları'nı kullanabilirsiniz. Değişiklikleri uyguladıktan sonra SQL Server'ın nasıl davrandığını test etmek için bu tekniği kullanabilirsiniz. Örneğin, aşağıdaki görevleri gerçekleştirdikten sonra SQL Server'ın nasıl davrandığını test etmek için bu tekniği kullanabilirsiniz:

  • BIR SQL Server hizmet paketi yükleyin.
  • SQL Server Toplu Güncelleştirmesi yükleyin.
  • Saklı yordamı veya işlevi güncelleştirin.
  • Bir dizini güncelleştirin veya oluşturun.

SQL Server için RML Yardımcı Programlarının Avantajları

Sql Server için RML Yardımcı Programları, gerçek uygulamayı kullanarak test etmek pratik olmadığında veya imkansız olduğunda uygulama testi simülasyonu yapmak istiyorsanız kullanışlıdır. Bir test ortamında, üretim ortamında var olan aynı kullanıcı yükünü oluşturmak zor olabilir. Test ortamında bir üretim iş yükünü yeniden oynatmak ve değişikliklerin performans etkisini değerlendirmek için SQL Server için RML Yardımcı Programlarını kullanabilirsiniz. Örneğin, SQL Server 2008'e yükseltmeyi veya SQL Server hizmet paketinin uygulamasını test edebilirsiniz. Ayrıca, çeşitli yeniden yürütme iş yüklerini analiz etmek ve karşılaştırmak için SQL Server için RML Yardımcı Programlarını kullanabilirsiniz. Bu tür bir regresyon analizini el ile gerçekleştirmek zordur.

Yardım dosyası bir Hızlı Başlangıç konusu içerir. Bu konu, sizi her RML aracıyla bilgilendiren kısa bir alıştırma içerir. Yardım dosyasını açmak için SQL Server>RML Yardımcı Programlarını Başlat'ı>seçin.

Konum ve sürüm geçmişini indirme

RML Yardımcı Programlarının sürüm geçmişini bu tabloda inceleyebilir ve buradan araçları indirebilirsiniz.

Sürüm numarası Açıklama
09.04.0103 Microsoft İndirme Merkezi'nden edinebileceğiniz geçerli ve son web sürümü. TÜM YAYıMLANAN SQL Server sürümlerini (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 ve SQL Server 2008) destekler.
09.04.0102 Microsoft İndirme Merkezi'nden edinilebilen önceki web sürümünü gösterir. TÜM YAYıMLANAN SQL Server sürümlerini (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 ve SQL Server 2008) destekler.
9.04.0100 Microsoft İndirme Merkezi'nden edinilebilen önceki bir web sürümünü gösterir. YAYıMLANAN tüm SQL Server sürümlerini destekler (SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 ve SQL Server 2000).
9.04.0098 Veritabanı Yükseltme Deneyimi Yardımcısı aracıyla birlikte gelen önceki bir web sürümü paketini gösterir. SQL Server'ın yayımlanan tüm sürümlerini destekler.
9.04.0097 SQL Server'ın yayımlanan tüm sürümlerini destekleyen SQL Nexus sitesinde bulunan önceki bir sürüm.
9.04.0051 Sql Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 ve SQL Server 2000'i destekleyen Microsoft İndirme Merkezi'nden edinilebilen önceki bir web sürümü.
9.04.0004 SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 ve SQL Server 2000'i destekleyen önceki bir web sürümü.
9.01.0109 SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 ve SQL Server 2000'i destekleyen önceki bir web sürümü.
9.00.0023 SQL Server 2005 ve SQL Server 2000'i destekleyen önceki bir web sürümü.
8.10.0010 SQL Server 2000 ve SQL Server 7.0'ı destekleyen ilk web sürümü.

SQL Server için RML Yardımcı Programları'nın geçerli sürümü önceki sürümlerin yerini alır. Geçerli sürümü yüklemeden önce SQL Server için RML Yardımcı Programları'nın önceki sürümlerini kaldırmanız gerekir. Araç paketinin geçerli sürümü önemli yazılım güncelleştirmeleri, geliştirilmiş özellikler (işlem .trc ve .xel dosyaları) ve raporlar ile performans ve ölçeklenebilirlik iyileştirmeleri içerir.

SQL Server için RML Yardımcı Programlarını Edinme

  • SQL Server için RML Yardımcı Programları, Microsoft İndirme Merkezi'nden indirilebilir.

  • Veritabanı Yükseltme Deneyimi Yardımcısı yükledikten

Not

Microsoft, SQL Server için olduğu gibi RML Yardımcı Programları sağlar. Microsoft Müşteri Destek Hizmetleri (CSS), paket için destek sağlamaz. Bir öneriniz varsa veya bir hata bildirmek istiyorsanız, Yardım dosyasındaki "Sorunlar ve Yardım" makalesindeki e-posta adresini kullanabilirsiniz (RML Help.docx). Yardım dosyası, SQL Server için RML Yardımcı Programları'na eklenir.

SQL Server için RML Yardımcı Programları için Bağımlılıklar

Önemli

RML araç paketinin parçası olarak sağlanan uygulamalar, diğer birkaç denetimin kullanılabilir olmasını gerektirir.

Reporter bağımlılıkları

Rapor Görüntüleyicisi denetimlerinin Reporter.exe ile aynı klasörde veya Genel Bütünleştirilmiş Kod Önbelleği'nde (GAC) kullanılabilir olduğundan emin olmanız gerekir. Reporter.exe gereken DLL'ler şunlardır:

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.DataVisualization.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WinForms.dll
  1. RML Yardımcı Programlarının en son sürümleri, uygulama klasöründeki bu DLL'leri içerir.

  2. Kullanılamıyorsa, aşağıdaki PowerShell betiğini kullanarak bu DLL'leri indirebilirsiniz:

    Register-PackageSource -Name MyNuGet -Location https://www.nuget.org/api/v2 -ProviderName NuGet
    Get-PackageSource
    
    Find-Package Microsoft.ReportViewer.Common -AllVersions
    Install-Package Microsoft.ReportViewer.Common -RequiredVersion 10.0.40219.1
    
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.Common.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.DataVisualization.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.ProcessingObjectModel.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    
    Find-Package Microsoft.ReportViewer.WinForms -AllVersions
    Install-Package Microsoft.ReportViewer.WinForms -RequiredVersion 10.0.40219.1
    
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.WinForms.10.0.40219.1\lib\Microsoft.ReportViewer.WinForms.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    
  3. ReadTrace raporlarındaki bağlantıların düzgün çalışmasına izin vermek için bir ReporterViewer düzeltmesi indirip yüklemeniz gerekir. ReporterViewer düzeltmesini indirmek için Microsoft Visual Studio 2010 Service Pack 1 Rapor Görüntüleyicisi'ne (KB2549864) gidin.

Genişletici için bağımlılıklar (isteğe bağlı)

Çoğu durumda, ReadTrace'in CAB/ZIP/RAR dosyalarını işlemek için kullandığı Genişletici kullanılmaz. Ancak, bu işlevi belirli bir sıkıştırılmış dosya türü için kullanmanız gerekiyorsa, sıkıştırma ve sıkıştırmayı açma denetimlerinin Expander.exe veya GAC ile aynı klasörde kullanılabilir olduğundan emin olun. Expander.exe gereken DLL'ler aşağıdaki gibidir:

  • BRICOLSOFTZipx64.dll
  • UnRar64.dll
  • XceedZipX64.dll

Bu DLL'leri satıcıların ilgili yazılım paketlerinden alabilirsiniz:

ReadTrace ve Ostress için bağımlılıklar

ReadTrace ve Ostress, SQL Server Yerel İstemcisi'nin bir parçası olarak gönderilen ODBC ve OLEDB sürücülerini kullanır. 09.04.0103 sürümünden itibaren RML Yardımcı Programları paketi yalnızca SQL Server Native istemcisine (SNAC) bağımlı değildir. Yüklü olduğu sistemde Microsoft ODBC veya OLEDB sürücülerini kullanabilir.

Genişletilmiş Olay dosyalarını (*.xel) çözümlemeyi planlıyorsanız, sistemde Visual C++ 2010 Redistributable'ın yüklü olduğundan emin olun.

Bilinen sorunlar ve düzeltmeler

Sorun Çözüm
ReadTrace şu hatayla karşılaşır: "Belirtilen sunucuya bağlanılamıyor. İlk HRESULT: 0x80040154", SQL Server'ın yüklenmediği veya yalnızca SQL Server 2022 veya sonraki bir sürümün yüklü olduğu makinelerde 09.04.0103 sürümünde düzeltildi. Geçici bir çözüm olarak, SQL Server Yerel İstemcisi'ni veya SQL Server'ın başka bir sürümünü yükleyebilirsiniz. HRESULT 0x80040154 REGDB_E_CLASSNOTREG Sınıfı kayıtlı değil winerror.h üst bilgi dosyasıdır. Bu, com bileşeninin büyük olasılıkla yüklü olmadığı için kaydedilmediği anlamına gelir. BUNUN nedeni SQL Server 2022 ve sonraki sürümlerin SQL Server Yerel İstemcisi'ni göndermemiş olmasıdır.
ReadTrace, olay dizisi 209494 "HATA: Olay çalışma zamanı denetimi: [sp_cache_remove] olayında eksik [cached_text] sütunu algılandı" ile karşılaşır 09.04.0102 sürümünde düzeltildi. Geçici bir çözüm olarak ReadTrace komut satırına izleme bayrakları (-T28 -T29) ekleyebilirsiniz.
Muhabir "'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' dosyası veya derlemesi yüklenemedi' veya bağımlılıklarından biriyle karşılaşır. Tanımlayıcı ad doğrulaması başarısız oldu. (HRESULT özel durumu: 0x8013141A)" 09.04.0102 sürümünde düzeltildi. Geçici bir çözüm olarak, tanımlayıcı ad doğrulamasını geçersiz kılmak için aşağıdaki kayıt defteri anahtarını oluşturabilirsiniz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35.
ReadTrace şu hatayla başarısız oluyor: "Belirtilen sunucuya bağlanılamıyor. İlk HRESULT: 0x80040154". Ostress şu hatayla başarısız oluyor: "Bağlantı kurma girişimi başarısız oldu. SSL Güvenliği hatası.". Bkz. SQL Server Yerel İstemcisini Yükleme yönergeleri.
ReadTrace "İşlenmeyen Özel Durum: System.IO.FileNotFoundException: 'Microsoft.SqlServer.XEvent.Linq.dll' dosyası veya derlemesi yüklenemedi veya bağımlılıklarından biri yüklenemedi. Belirtilen modül bulunamadı". Visual C++ 2010 Yeniden Dağıtılabilir'i yükleme

Örnekler

Aşağıdaki örneklerde bazı RML araçlarının nasıl kullanılacağı gösterilmektedir.

Bir veritabanında Genişletilmiş Olay (Xevent) verilerini içeri aktarmak için ReadTrace.exe kullanma

PSSDIAG/SQLDiag.exe veya SQL LogScout gibi araçlar kullanılarak toplanan bir dizi Xevent dosyasını içeri aktarmak için ReadTrace.exe kullanın. -I Birden çok dosya varsa, zamanında toplanan ilk .xel dosyasına işaret etmek için parametresini kullanın. Tüm komut satırı anahtarları için kullanın ReadTrace.exe /?:

ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.

Sorguyu zorlamak için Ostress.exe kullanma

30 eşzamanlı bağlantı çalıştırarak ve her bağlantıda sorguyu 10 kez çalıştırarak SQL Server çalıştıran bir sunucuya sorgu göndermek için OStress kullanın. Tüm komut satırı anahtarları için kullanın Ostress.exe /?:

ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10

RML dosyaları oluşturmak ve yeniden oynatmak için ReadTrace ve Ostress kullanma

oluşturmak için. RML dosyaları, aşağıdaki gibi bir komut kullanın:

ReadTrace -I"D:\RMLReplayTest\ReplayTrace.trc" -o"D:\RMLReplayTest\RML" -S. -dReadTraceTestDb   

Yeniden yürütme izlemesi oluşturmak için hangi olayların yakalanması gerektiği hakkında daha fazla bilgi için bkz. RML Help.docx.

Ostress kullanarak RML dosyasını yeniden oynatmak için aşağıdakine benzer bir komut kullanın:

ostress.exe -S.\sql2022 -E -dAdventureWorks2022 -i"D:\RMLReplayTest\RML\SQL00069.rml" -o"D:\RMLReplayTest\RML\output"

kullanarak *.RMLtüm RML dosyalarını yeniden yürütebilirsiniz. Örneğin: -i"D:\RMLReplayTest\RML\*.rml".

Üçüncü tarafla iletişim sorumluluk reddi

Microsoft, bu konu hakkında ek bilgi bulmanıza yardımcı olmak için üçüncü taraf iletişim bilgileri sağlar. Bu iletişim bilgileri önceden haber verilmeksizin değiştirilebilir. Microsoft, üçüncü taraf iletişim bilgilerinin doğruluğunu garanti etmez.

Ek kaynaklar

SQL Server şirket içi ve karma senaryoları için sorun giderme ve tanılama araçları