Aracılığıyla paylaş


SQL Server Dağıtılmış Yeniden Yürütme'ye genel bakış

Şunlar için geçerlidir: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

Önemli

SQL Server Distributed Replay, SQL Server 2022 (16.x) ve sonraki sürümlerde kullanılamaz.

Microsoft SQL Server Dağıtılmış Yeniden Yürütme özelliği, gelecekteki SQL Server yükseltmelerinin etkisini değerlendirmenize yardımcı olur. Donanım ve işletim sistemi yükseltmelerinin ve SQL Server ayarlamasının etkisini değerlendirmeye yardımcı olması için de kullanabilirsiniz.

SQL Server 2022'de Dağıtılmış Yeniden Yürütmenin Kullanımdan Kaldırılması.

Dağıtılmış Yeniden Yürütme, SQL Server 2022'de (16.x ) Kullanım Dışı Veritabanı Altyapısı özellikleri bölümünde belirtildiği gibi SQL Server 2022 (16.x) itibarıyla kullanım dışıdır. Dağıtılmış Yeniden Yürütme, SQL Server 2022'den (16.x) kaldırılan SQL Server Yerel İstemcisi'ne (SNAC) bağımlıdır. Bu değişiklik SQL Server Yerel İstemcisi içinDestek İlkeleri'nde belgelenmiştir. Ayrıca Distributed Replay, .trc ve SQL Server Profiler ile yakalanan ve her ikisi de kullanım dışı bırakılan dosyalarına dayanır.

Dağıtılmış Yeniden Yürütme Denetleyicisi SQL Server 2022 (16.x) Kurulumundan kaldırılmıştır ve Dağıtılmış Yeniden Yürütme İstemcisi artık SQL Server Management Studio'da (SSMS) sürüm 18'den itibaren kullanılamaz. Dağıtılmış Yeniden Yürütme Denetleyicisi'ni edinmek için SQL Server 2019 (15.x) veya önceki bir sürümü yüklemeniz gerekir. Dağıtılmış Yeniden Yürütme İstemcisi'ni edinmek için SSMS 17.9.1yüklemeniz gerekir.

SQL Server 2022 (16.x) üzerindeki müşteriler için, bir iş yükünü yeniden oynatmak için ostressiçeren Yeniden Yürütme biçimlendirme dili (RML) Yardımcı Programlarını kullanabilirsiniz.

Dağıtılmış Yeniden Yürütmenin Avantajları

SQL Server Profiler'a benzer şekilde, yükseltilmiş bir test ortamında yakalanmış olan bir izlemeyi yeniden oynatmak için Dağıtık Yeniden Oynatma'yı kullanabilirsiniz. SQL Server Profiler'dan farklı olarak Dağıtılmış Yeniden Yürütme, iş yükünü tek bir bilgisayardan yeniden yürütmeyle sınırlı değildir.

Dağıtılmış Yeniden Yürütme, SQL Server Profiler'dan daha ölçeklenebilir bir çözüm sunar. Dağıtılmış Yeniden Yürütme ile bir iş yükünü birden çok bilgisayardan yeniden yürütebilir ve görev açısından kritik bir iş yükünün simülasyonunu daha iyi yapabilirsiniz.

Dağıtılmış Yeniden Yürütme özelliği, izleme verilerini yeniden oynatmak ve görev açısından kritik bir iş yükünün benzetimini yapmak için birden çok bilgisayar kullanabilir. Uygulama uyumluluk testi, performans testi veya kapasite planlaması için Dağıtılmış Yeniden Yürütme'yi kullanın.

Dağıtılmış Yeniden Yürütme ne zaman kullanılır?

SQL Server Profiler ve Distributed Replay işlevlerinde bazı çakışmalar sağlar.

Sql Server Profiler'ı kullanarak yükseltilmiş bir test ortamında yakalanan bir izlemeyi yeniden yürütebilirsiniz. Olası işlevsel ve performans uyumsuzluklarını aramak için yeniden yürütme sonuçlarını da analiz edebilirsiniz. Ancak, SQL Server Profiler bir iş yükünü yalnızca tek bir bilgisayardan yeniden yürütebilir. Çok sayıda etkin eşzamanlı bağlantıya veya yüksek aktarım hızına sahip yoğun bir OLTP uygulamasını yeniden yürüterken, SQL Server Profiler bir kaynak performans sorununa dönüşebilir.

Dağıtılmış Yeniden Yürütme, SQL Server Profiler'dan daha ölçeklenebilir bir çözüm sunar. Birden çok bilgisayardan bir iş yükünü yeniden oynatmak ve görev açısından kritik bir iş yükünün simülasyonunu daha iyi yapmak için Dağıtılmış Yeniden Yürütme'yi kullanın.

Aşağıdaki tabloda her aracın hangi durumlarda kullanılacağı açıklanmaktadır.

Araç Ne zaman kullan...
SQL Server Profil Oluşturucu Tek bir bilgisayarda geleneksel tekrarlama mekanizmasını kullanmak istiyorsunuz. Özellikle, Adım, İmleçte Çalıştırve Kesme Noktasını Değiştir komutları gibi satır satır hata ayıklama özelliklerine ihtiyacınız vardır.

Analysis Services izleme kaydını yeniden oynatmak istiyorsunuz.
Dağıtılmış Tekrar Oynatma Uygulama uyumluluğunu değerlendirmek istiyorsunuz. Örneğin, SQL Server ve işletim sistemi yükseltme senaryolarını, donanım yükseltmelerini veya dizin ayarlamayı test etmek istiyorsunuz.

Yakalanan izlemedeki eşzamanlılık o kadar yüksektir ki, tek bir yeniden oynatma istemcisi bunu yeterince simüle edemez.

Dağıtılmış Yeniden Yürütme kavramları

Aşağıdaki bileşenler Dağıtılmış Yeniden Yürütme ortamını oluşturur:

  • Dağıtılmış Yeniden Yürütme yönetim aracı: Dağıtılmış yeniden yürütme denetleyicisiyle iletişim kurmak için kullanılan DReplay.exebir konsol uygulaması. Dağıtılmış yeniden oynatmayı denetlemek için yönetim aracını kullanın.

  • Dağıtılmış Yeniden Yürütme denetleyicisi: SQL Server Dağıtılmış Yeniden Yürütme denetleyicisi adlı Windows hizmetini çalıştıran bir bilgisayar. Dağıtılmış Yeniden Yürütme denetleyicisi, dağıtılmış yeniden yürütme istemcilerinin eylemlerini düzenler. Her Dağıtılmış Yeniden Yürütme ortamında yalnızca bir denetleyici örneği olabilir.

  • Dağıtılmış Yeniden Yürütme istemcilerini : SQL Server Dağıtılmış Yeniden Yürütme istemcisi adlı Windows hizmetini çalıştıran bir veya daha fazla bilgisayar (fiziksel veya sanal). Dağıtılmış Yeniden Yürütme istemcileri, bir SQL Server örneğinde iş yüklerinin benzetimini yapmak için birlikte çalışır. Her Dağıtılmış Yeniden Yürütme ortamında bir veya daha fazla istemci olabilir.

  • Hedef sunucu: Dağıtılmış Yeniden Yürütme istemcilerinin izleme verilerini yeniden oynatmak için kullanabileceği bir SQL Server örneği. Hedef sunucunun bir test ortamında bulunması önerilir.

Dağıtılmış Yeniden Yürütme yönetim aracı, denetleyici ve istemci farklı bilgisayarlara veya aynı bilgisayara yüklenebilir. Dağıtılmış Yeniden Yürütme denetleyicisinin veya istemci hizmetinin aynı bilgisayarda çalışan yalnızca bir örneği olabilir.

Aşağıdaki şekilde SQL Server Dağıtılmış Yeniden Yürütme mimarisinin fiziksel yapısı gösterilmektedir.

Dağıtılmış Yeniden Yürütme mimarisinin Diyagramı.

Dağıtılmış Yeniden Oynatma Görevleri

Görev Açıklaması Makale
Dağıtılmış Yeniden Yürütme'nin nasıl yapılandırıldığını açıklar. Dağıtılmış Tekrar Yürütme Yapılandırma
Giriş izleme verilerinin nasıl hazırlandığı açıklanır. Giriş izleme verilerini hazırlama
İzleme izi verilerini yeniden oynatma yöntemleri açıklanır. İzleme Verilerini Yeniden Oynat
Dağıtılmış Yeniden Yürütme izleme verilerinin sonuçlarının nasıl gözden geçirileceği açıklanır. Sonuçların Tekrar Oynanmasını Gözden Geçirme
Denetleyicide işlemleri başlatmak, izlemek ve iptal etmek için yönetim aracının nasıl kullanılacağını açıklar. Yönetim Aracı Komut Satırı Seçenekleri (Dağıtılmış Yeniden Yürütme Yardımcı Programı)

Gereksinimler

Dağıtılmış Yeniden Yürütme özelliğini kullanmadan önce, bu makalede özetlenen ürün gereksinimlerini göz önünde bulundurun.

Giriş izleme gereksinimleri

İzleme verilerini başarıyla yeniden oynatmak için sürüm ve biçim gereksinimlerini karşılaması ve gerekli olayları ve sütunları içermesi gerekir.

Girdi izleme sürümleri

Dağıtılmış Yeniden Yürütme, SQL Server'ın aşağıdaki sürümlerinde toplanan giriş izleme verilerini destekler:

  • SQL Server 2019 (15.x)
  • SQL Server 2017 (14.x) (Toplu Güncelleştirme 1 ve üzeri sürümler - bkz . SQL Server 2017 derleme sürümleri)
  • SQL Server 2016 (13.x)
  • SQL Server 2014 (12.x)
  • SQL Server 2012 (11.x)
  • SQL Server 2008 R2 (10.50.x)
  • SQL Server 2008 (10.0.x)
  • SQL Server 2005 (9.x)

Giriş izleme biçimleri

Giriş izleme verileri aşağıdaki biçimlerden herhangi birinde olabilir:

  • .trc uzantısına sahip tek bir izleme dosyası.

  • Dosya geçişi adlandırma kuralına uyan bir dizi devir izleme dosyası, örneğin: <TraceFile>.trc, <TraceFile>_1.trc, <TraceFile>_2.trc, <TraceFile>_3.trc, ... <TraceFile>_n.trc.

Giriş izleme olayları ve sütunları

Giriş izleme verileri, Dağıtılmış Yeniden Yürütme tarafından yeniden yürütülecek belirli olayları ve sütunları içermelidir. SQL Server Profiler'daki TSQL_Replay şablonu, ek bilgilere ek olarak tüm gerekli olayları ve sütunları içerir. Bu şablon hakkında daha fazla bilgi için bkz. Yeniden Yürütme Gereksinimleri.

Uyarı

Giriş izleme verilerini yakalamak için TSQL_Replay şablonunu kullanmıyorsanız veya giriş izleme gereksinimleri karşılanmamışsa beklenmeyen yeniden yürütme sonuçları alabilirsiniz.

Ayrıca, aşağıdaki olayları içerdiği sürece özel bir izleme şablonu oluşturabilir ve Dağıtılmış Yeniden Yürütme ile olayları yeniden oynatmak için bunu kullanabilirsiniz:

  • Oturum Açmayı Denetle
  • Denetim Oturumu Kapatma
  • Mevcut Bağlantı
  • RPC Çıkış Parametresi
  • RPC:Tamamlandı
  • RPC: Başlatılıyor
  • SQL:İşlemTamamlandı
  • SQL:BatchStarting

Sunucu tarafı imleçlerini yeniden oynatıyorsanız, aşağıdaki olaylar da gereklidir:

  • İmleçKapat
  • CursorExecute
  • KursorAçık
  • cursorhazırla
  • CursorUnprepare

Sunucu tarafı tarafından hazırlanan SQL deyimlerini yeniden oynatıyorsanız, aşağıdaki olaylar da gereklidir:

  • Exec Tarafından Hazırlanmış SQL
  • SQL'i hazırlama

Tüm giriş izleme verileri aşağıdaki sütunları içermelidir:

  • Event Sınıfı
  • Etkinlik Dizisi
  • TextData
  • Uygulama Adı
  • Kullanıcı Adı
  • Veritabanı Adı
  • Veritabanı Kimliği
  • Ana Bilgisayar Adı
  • İkili Veriler
  • SPID
  • Başlangıç Saati
  • BitişZamanı
  • IsSystem

Desteklenen giriş izi ve hedef sunucu kombinasyonları

Aşağıdaki tabloda iz verilerinin desteklenen sürümleri ve her biri için verilerin yeniden yürütülebileceği desteklenen SQL Server sürümleri listelenmektedir.

Giriş izleme verilerinin sürümü Hedef sunucu örneği için DESTEKLENEN SQL Server sürümleri
SQL Server 2005 (9.x) SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2008 (10.0.x) SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2008 R2 (10.50.x) SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2012 (11.x) SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2014 (12.x) SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2016 (13.x) SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2017 (14.x) SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2019 (15.x) SQL Server 2019 (15.x)

İşletim sistemi gereksinimleri

Yönetim aracını ve denetleyiciyi ve istemci hizmetlerini çalıştırmak için desteklenen işletim sistemleri SQL Server örneğiniz ile aynıdır. SQL Server örneğiniz için hangi işletim sistemlerinin desteklendiği hakkında daha fazla bilgi için bkz. SQL Server 2016 ve SQL Server 2017 için donanım ve yazılım gereksinimleri.

Dağıtılmış Yeniden Yürütme özellikleri hem x86 tabanlı hem de x64 tabanlı işletim sistemlerinde desteklenir. x64 tabanlı işletim sistemlerinde yalnızca Windows üzerinde Windows (WOW) modu desteklenir.

Yükleme sınırlamaları

Herhangi bir bilgisayarda her Dağıtılmış Yeniden Yürütme özelliğinin yalnızca tek bir örneği yüklü olabilir. Aşağıdaki tabloda, tek bir Dağıtılmış Yeniden Yürütme ortamında her özelliğin kaç yüklemesine izin verildiğinden söz edilir.

Dağıtılmış Yeniden Yürütme Özelliği Yeniden Yürütme Ortamı Başına En Fazla Yükleme Sayısı
SQL Server Dağıtılmış Yeniden Yürütme denetleyicisi hizmeti 1
SQL Server Dağıtılmış Yeniden Yürütme hizmeti istemcisi 16 (fiziksel veya sanal bilgisayarlar)
Yönetim aracı Sınırsız

Not

Tek bir bilgisayara yönetim aracının yalnızca bir örneği yüklense de, yönetim aracının birden çok örneğini başlatabilirsiniz. Birden çok yönetim aracından verilen komutlar, alındıkları sırayla çözülür.

Veri erişim sağlayıcısı

Dağıtılmış Yeniden Yürütme yalnızca SQL Server Yerel İstemcisi ODBC veri erişim sağlayıcısını destekler.

Hedef sunucu hazırlama gereksinimleri

Hedef sunucunun bir test ortamında bulunması önerilir. İzleme verilerini başlangıçta kaydedilenden farklı bir SQL Server örneğinde yeniden oynatmak için hedef sunucuda aşağıdaki adımların uygulandığından emin olun:

  • İzleme verilerinde yer alan tüm oturum açma bilgileri ve kullanıcılar hedef sunucudaki aynı veritabanında bulunmalıdır.

  • Hedef sunucudaki tüm oturum açma işlemleri ve kullanıcılar, özgün sunucuda sahip oldukları izinlerle aynı izinlere sahip olmalıdır.

  • Hedef üzerindeki veritabanı kimlikleri ideal olarak kaynakta bulunanlarla aynı olmalıdır. Ancak, bunlar aynı değilse ve izlemede DatabaseName varsa, bunun temelinde eşleştirme gerçekleştirilebilir.

  • İzleme verilerinde yer alan her oturum açma için varsayılan veritabanı, (hedef sunucuda) oturum açma işleminin ilgili hedef veritabanına ayarlanmalıdır. Örneğin, SQL Server'ın özgün örneğindeki Fred_Db veritabanında, oturum açma etkinliği Fredyeniden yürütülecek izleme verileri arasında yer alır. Bu nedenle hedef sunucuda, fred oturum açma için varsayılan veritabanı Fred_Db (veritabanı adı farklı olsa bile) ile eşleşen veritabanına ayarlanmalıdır. Oturum açmanın varsayılan veritabanını ayarlamak için sistem saklı yordamını sp_defaultdb kullanın.

Eksik veya yanlış oturum açma işlemleriyle ilişkili olayların yeniden oynatılması yeniden yürütme hatalarına neden olur, ancak yeniden yürütme işlemi devam eder.