Aracılığıyla paylaş


Dağıtılmış Tekrar Yürütmeyi Yapılandırma

Ş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 yapılandırma ayrıntıları, Dağıtılmış Yeniden Yürütme denetleyicisi, istemciler ve yönetim aracının yüklü olduğu XML dosyalarında belirtilir. Bu dosyalar aşağıdakileri içerir:

Denetleyici Yapılandırma Dosyası: DReplayController.config

SQL Server Dağıtılmış Yeniden Yürütme denetleyicisi hizmeti başladığında, günlük seviyesi denetleyici yapılandırma dosyasından DReplayController.configolarak yüklenir. Bu dosya, Dağıtılmış Yeniden Yürütme denetleyicisi hizmetini yüklediğiniz klasörde bulunur:

<denetleyicisi yükleme yolu>\DReplayController.config

Denetleyici yapılandırma dosyası tarafından belirtilen günlük seviyesi aşağıdakileri içerir:

Ayar XML Öğesi Açıklama İzin Verilen Değerler Gerekli
Günlük kaydı seviyesi <LoggingLevel> Denetleyici hizmeti için kayıt düzeyini belirtir. INFORMATION | WARNING | CRITICAL Hayır. Varsayılan olarak, varsayılan değer CRITICAL'dır.

Örnek

Bu örnekte, INFORMATION ve WARNING günlük girdilerini gizleyecek şekilde değiştirilmiş bir denetleyici yapılandırma dosyası gösterilmektedir.

<?xml version='1.0'?> 
<Options> 
<LoggingLevel>CRITICAL</LoggingLevel> 
</Options> 

İstemci Yapılandırma Dosyası: DReplayClient.config

SQL Server Dağıtılmış Yeniden Yürütme istemci hizmeti başlatıldığında, DReplayClient.configistemci yapılandırma dosyasından yapılandırma ayarlarını yükler. Bu dosya her istemcide, Dağıtılmış Yeniden Yürütme istemci hizmetini yüklediğiniz klasörde bulunur:

<istemci yükleme yolu>\DReplayClient.config

İstemci yapılandırma dosyası tarafından belirtilen ayarlar şunlardır:

Ayar XML Öğesi Açıklama İzin Verilen Değerler Gerekli
Denetleyici <Controller> Denetleyicinin bilgisayar adını belirtir. İstemci, denetleyiciye başvurarak Dağıtılmış Yeniden Yürütme ortamına kaydolmaya çalışır. Yerel bilgisayara başvurmak için "localhost" veya "." kullanabilirsiniz. Hayır. Varsayılan olarak, istemci varsa yerel olarak çalışan denetleyici örneğine (".") kaydolmaya çalışır.
İstemci çalışma dizini <WorkingDirectory> İstemcideki dağıtım dosyalarının kaydedildiği yerel yoldur.

Bu dizindeki dosyaların üzerine bir sonraki yeniden oynatmada yazılır.
Sürücü harfiyle başlayan tam dizin adı. Hayır. Hiçbir değer belirtilmezse, gönderme dosyaları varsayılan istemci yapılandırma dosyasıyla aynı konuma kaydedilir. Bir değer belirtilirse ve bu klasör istemcide yoksa, istemci hizmeti başlatılmaz.
İstemci sonuç dizini <ResultDirectory> İstemcide, yeniden yürütme etkinliğinden (istemci için) sonuç izleme dosyasının kaydedildiği yerel yoldur.

Bu dizindeki dosyaların üzerine bir sonraki yeniden oynatmada yazılır.
Sürücü harfiyle başlayan tam dizin adı. Hayır. Hiçbir değer belirtilmezse, sonuç izleme dosyası varsayılan istemci yapılandırma dosyasıyla aynı konuma kaydedilir. Bir değer belirtilirse ve bu klasör istemcide yoksa, istemci hizmeti başlatılmaz.
Günlük kaydı seviyesi <LoggingLevel> İstemci servisinin kayıt düzeyidir. INFORMATION | WARNING | CRITICAL Hayır. Varsayılan olarak, varsayılan değer CRITICAL'dır.

Örnek

Bu örnekte, denetleyici hizmetinin farklı bir bilgisayarda( Controller1adlı bir bilgisayarda) çalıştığını belirtmek üzere değiştirilmiş bir istemci yapılandırma dosyası gösterilmektedir. WorkingDirectory ve ResultDirectory öğeleri sırasıyla c:\ClientWorkingDir ve c:\ResultTraceDirklasörleri kullanacak şekilde yapılandırılmıştır. Günlük kaydı seviyesi, INFORMATION ve WARNING günlük girdilerini baskılamak amacıyla varsayılan değerden değiştirildi.

<?xml version='1.0'?> 
<Options> 
    <Controller>Controller1</Controller> 
    <WorkingDirectory>c:\ClientWorkingDir</WorkingDirectory> 
    <ResultDirectory>c:\ResultTraceDir</ResultDirectory> 
    <LoggingLevel>CRITICAL</LoggingLevel> 
</Options> 

Yapılandırma Dosyasını Ön İşleme: DReplay.exe.preprocess.config

Ön işlem aşamasını başlatmak için yönetim aracını kullandığınızda, yönetim aracı ön işlem yapılandırma dosyasındaki ön işlem ayarlarını DReplay.exe.preprocess.configyükler.

Değiştirilen önişlem yapılandırma dosyasının konumunu belirtmek için varsayılan yapılandırma dosyasını kullanın veya -c parametresi yönetim aracını kullanın. Yönetim aracının ön işlem seçeneğini kullanma hakkında daha fazla bilgi için bkz. Önişle Seçeneği (Dağıtılmış Yeniden Yürütme Yönetim Aracı).

Varsayılan önişlem yapılandırma dosyası, yönetim aracını yüklediğiniz klasörde bulunur:

<yönetim aracı yükleme yolu>\DReplayAdmin\DReplay.exe.preprocess.config

Ön işlem yapılandırma ayarları, ön işlem yapılandırma dosyasındaki <PreprocessModifiers> öğesinin alt öğeleri olan XML öğelerinde belirtilir. Bu ayarlar aşağıdakileri içerir:

Ayar XML Öğesi Açıklama İzin Verilen Değerler Gerekli
Sistem oturumu etkinliklerini dahil et <IncSystemSession> Yakalama sırasında sistem oturumu etkinliklerinin, yeniden oynatma sırasında dahil edilip edilmeyeceğini gösterir. Yes | No Hayır. Varsayılan olarak, varsayılan değer No'dır.
En fazla boşta kalma süresi <MaxIdleTime> Boşta kalma süresini mutlak bir sayıya (saniye olarak) sınırlar. >= -1 olan bir tamsayı.

-1, özgün izleme dosyasındaki özgün değerden hiçbir değişiklik olmadığını gösterir.

0 belirli bir noktada bazı etkinliklerin devam ettiğini gösterir.
Hayır. Varsayılan olarak, varsayılan değer -1'dır.

Örnek

Varsayılan önişlem yapılandırma dosyası:

<?xml version='1.0'?> 
<Options> 
    <PreprocessModifiers> 
        <IncSystemSession>No</IncSystemSession> 
        <MaxIdleTime>-1</MaxIdleTime> 
    </PreprocessModifiers> 
</Options> 

Yapılandırma Dosyasını Yeniden Yürütme: DReplay.exe.replay.config

Olay yeniden yürütme aşamasını başlatmak için yönetim aracını kullandığınızda, yönetim aracı yeniden yürütme yapılandırma dosyasındaki yeniden yürütme ayarlarını DReplay.exe.replay.configyükler.

Değiştirilen yeniden yürütme yapılandırma dosyasının konumunu belirtmek için varsayılan yapılandırma dosyasını kullanın veya -c parametresi yönetim aracını kullanın. Yönetim aracının yeniden yürütme seçeneğini kullanma hakkında daha fazla bilgi için bkz. Yeniden Yürütme Seçeneği (Dağıtılmış Yeniden Yürütme Yönetim Aracı).

Varsayılan yeniden yürütme yapılandırma dosyası, yönetim aracını yüklediğiniz klasörde bulunur:

<yönetim aracı yükleme yolu>\DReplayAdmin\DReplay.exe.replay.config

Yeniden yürütme yapılandırma ayarları, yeniden yürütme yapılandırma dosyasının <ReplayOptions> ve <OutputOptions> öğelerinin altındaki XML öğelerinde belirtilir.

<ReplayOptions> Öğesi

<ReplayOptions> öğesinde yeniden yürütme yapılandırma dosyası tarafından belirtilen ayarlar aşağıdakileri içerir:

Ayar XML Öğesi Açıklama İzin Verilen Değerler Gerekli
SQL Server'ın hedef örneği (test sunucusu) <Server> Bağlanacak SQL Server sunucusunun adını ve örneğini belirtir. server_name[\instance_name]

Yerel konağı temsil etmek için "localhost" veya "." kullanamazsınız.
Hayır, sunucu adı yönetim aracının yeniden yürütme seçeneğiyle -shedef sunucu parametresi kullanılarak zaten belirtilmişse.
Sıralama modu <SequencingMode> Olay zamanlaması için kullanılan modu belirtir. synchronization | stress Hayır. Varsayılan olarak, varsayılan değer stress'dır.
Stres ölçeği ayrıntı düzeyi <StressScaleGranularity> Oturum Kimliğindeki (SPID) tüm bağlantıların birlikte mi (SPID) yoksa bağımsız olarak mı (Bağlantı) stres modunda ölçeklendirilmesi gerektiğini belirtir. SPID | Bağlantı Evet. Varsayılan olarak, varsayılan değer SPID'dır.
Zaman ölçeğini bağlama <ConnectTimeScale> Stres modunda bağlanma süresini ölçeklendirmek için kullanılır. 1 ile 100arasında bir tamsayı. Hayır. Varsayılan olarak, varsayılan değer 100'dır.
Zaman ölçeğini düşün <ThinkTimeScale> Stres modunda düşünme süresini ölçeklendirmek için kullanılır. 0 ile 100arasında bir tamsayı. Hayır. Varsayılan olarak, varsayılan değer 100'dır.
Bağlantı havuzunu kullan <UseConnectionPooling> Her Dağıtılmış Yeniden Yürütme istemcisinde bağlantı havuzu oluşturmanın etkinleştirilip etkinleştirilmeyeceğini belirtir. Evet | Hayır Evet. Varsayılan olarak, varsayılan değer Yes'dır.
Sağlık izleme aralığı <HealthmonInterval> Sağlık izleyicisinin ne sıklıkta çalıştırılacağını gösterir (saniye olarak).

Bu değer yalnızca eşitleme modunda kullanılır.
Tamsayı >= 1

(devre dışı bırakmak için-1)
Hayır. Varsayılan olarak, varsayılan değer 60'dır.
Sorgu zaman aşımı <QueryTimeout> Sorgu zaman aşımı değerini saniye olarak belirtir. Bu değer yalnızca ilk satır döndürülene kadar geçerlidir. Tamsayı >= 1

(devre dışı bırakmak için-1)
Hayır. Varsayılan olarak, varsayılan değer 3600'dır.
Her istemci için iş parçacığı sayısı <ThreadsPerClient> Her yeniden yürütme istemcisi için kullanılacak yeniden yürütme iş parçacığı sayısını belirtir. 1 ile 512arasında bir tamsayı. Hayır. Belirtilmezse, Dağıtılmış Yeniden Yürütme 255değerini kullanır.

<OutputOptions> Öğesi

<OutputOptions> öğesinde yeniden yürütme yapılandırma dosyası tarafından belirtilen ayarlar aşağıdakileri içerir:

Ayar XML Öğesi Açıklama İzin Verilen Değerler Gerekli
Kayıt satır adedi <RecordRowCount> Her sonuç kümesi için satır sayısının kaydedilip kaydedilmeyeceğini gösterir. Yes | No Hayır. Varsayılan olarak, varsayılan değer Yes'dır.
Kayıt sonuç kümesi <RecordResultSet> Tüm sonuç kümelerinin içeriğinin kaydedilip kaydedilmeyeceğini gösterir. Yes | No Hayır. Varsayılan olarak, varsayılan değer No'dır.

Örnek

Varsayılan yeniden yürütme yapılandırma dosyası:

<?xml version='1.0'?> 
<Options> 
    <ReplayOptions> 
        <Server></Server> 
        <SequencingMode>stress</SequencingMode> 
        <ConnectTimeScale></ConnectTimeScale> 
        <ThinkTimeScale></ThinkTimeScale> 
        <HealthmonInterval>60</HealthmonInterval> 
        <QueryTimeout>3600</QueryTimeout> 
        <ThreadsPerClient></ThreadsPerClient> 
    </ReplayOptions> 
    <OutputOptions> 
        <ResultTrace> 
            <RecordRowCount>Yes</RecordRowCount> 
            <RecordResultSet>No</RecordResultSet> 
        </ResultTrace> 
    </OutputOptions> 
</Options> 

Eşitleme Sıralama Modu ile Çalışırken Oluşan Olası Sorun

Yeniden oynatma işlevinin "duraksadığı" veya olayları yavaş yeniden oynattığı görülen bir belirtiyle karşılaşabilirsiniz. Bu olay, yeniden oynatılan izlemenin geri yüklenen hedef veritabanında mevcut olmayan verilere ve/veya olaylara bağlı olması durumunda ortaya çıkabilir.

WAITFOR kullanan bir iş yükünün yakalanması, Hizmet Aracısı'nın WAITFOR RECEIVE deyiminde olduğu gibi, buna bir örnektir. Eşitleme sıralama modu kullanılırken toplu işlemler seri olarak yeniden yürütülmektedir. Veritabanı yedeklemesinden sonra ve yeniden yürütme yakalama izlemesi başlamadan önce kaynak veritabanında bir INSERT gerçekleşirse, yeniden yürütme sırasında gerçekleştirilen WAITFOR RECEIVE işlemi, tüm WAITFOR süresini beklemek zorunda kalabilir. WAITFOR RECEIVE sonrası yeniden yürütülecek şekilde ayarlanmış olaylar duraksayacaktır. Bu, YENIDEN yürütme veritabanı hedefi için Batch İstekleri/sn performans izleyici sayacının WAITFOR tamamlanana kadar sıfıra düşmesine neden olabilir.

Eşitleme modunu kullanmanız gerekiyorsa ve bu davranışı önlemek istiyorsanız, aşağıdakileri yapmalısınız:

  1. Yeniden yürütme hedefleri olarak kullanmakta olduğunuz veritabanlarını sessize alın.

  2. Bekleyen tüm aktivitelerin tamamlanmasına izin verin.

  3. Veritabanlarını yedekleyin ve yedeklemelerin tamamlanmasına izin verin.

  4. Dağıtılmış yeniden yürütme izleme yakalamasını başlatın ve normal iş yüküne devam edin.

Ayrıca bkz.