Aracılığıyla paylaş


Çoğaltma Günlüğü Okuyucu Aracısı

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Çoğaltma Günlüğü Okuyucu Aracısı, işlem çoğaltması için yapılandırılan her veritabanının işlem günlüğünü izleyen ve işlem günlüğünden çoğaltma için işaretlenen işlemleri dağıtım veritabanına kopyalayan bir yürütülebilir dosyadır.

Uyarı

Parametreler herhangi bir sırada belirtilebilir. İsteğe bağlı parametreler belirtilmediğinde, varsayılan aracı profilini temel alan önceden tanımlanmış değerler kullanılır.

Sözdizimi

logread [ -? ]
-Publisher server_name [ \instance_name ]
-PublisherDB publisher_database
[ -Continuous ]
[ -DefinitionFile def_path_and_file_name ]
[ -Distributor server_name[ \instance_name ] ]
[ -DistributorLogin distributor_login ]
[ -DistributorPassword distributor_password ]
[ -DistributorSecurityMode [ 0 | 1 ] ]
[ -EncryptionLevel [ 0 | 1 | 2 | 3 | 4 ] ]
[ -ExtendedEventConfigFile configuration_path_and_file_name ]
[ -HistoryVerboseLevel [ 0 | 1 | 2 ] ]
[ -KeepAliveMessageInterval keep_alive_message_interval_seconds ]
[ -LoginTimeOut login_time_out_seconds ]
[ -LogScanThreshold scan_threshold ]
[ -MaxCmdsInTran number_of_commands ]
[ -MessageInterval message_interval ]
[ -MultiSubnetFailover [ 0 | 1 ] ]
[ -Output output_path_and_file_name ]
[ -OutputVerboseLevel [ 0 | 1 | 2 | 3 | 4 ] ]
[ -PacketSize packet_size ]
[ -PollingInterval polling_interval ]
[ -ProfileName profile_name ]
[ -PublisherFailoverPartner server_name[ \instance_name ] ]
[ -PublisherSecurityMode [ 0 | 1 ] ]
[ -PublisherLogin publisher_login ]
[ -PublisherPassword publisher_password ]
[ -QueryTimeOut query_time_out_seconds ]
[ -ReadBatchSize number_of_transactions ]
[ -ReadBatchThreshold read_batch_threshold ]
[ -RecoverFromDataErrors ]

Tartışmalar

-?

Kullanım bilgilerini görüntüler.

-Yayıncı server_name [ \instance_name ]

Yayımcının adı. Bu sunucudaki varsayılan SQL Server örneği için belirtin <server_name> . Bu sunucudaki adlandırılmış bir SQL Server örneği için belirtin <server_name>\<instance_name> .

-PublisherDB publisher_database

Publisher veritabanının adı.

-Devamlı

Aracının çoğaltılan işlemleri sürekli yoklamaya çalışıp çalışmayacağını belirtir. Belirtildiyse, bekleyen işlem olmasa bile aracı kaynaktan çoğaltılan işlemleri yoklama aralıklarıyla yoklar.

- TanımDosyası def_path_and_file_name

Aracı tanım dosyasının yolu. Aracı tanım dosyası, aracı için komut satırı bağımsız değişkenleri içerir. Dosyanın içeriği yürütülebilir dosya olarak ayrıştırılır. Rastgele karakterler içeren bağımsız değişken değerlerini belirtmek için çift tırnak işareti (") kullanın.

- Dağıtıcı server_name [ \instance_name ]

Dağıtımcı adı. Bu sunucudaki varsayılan SQL Server örneği için belirtin <server_name> . Bu sunucudaki adlandırılmış bir SQL Server örneği için belirtin <server_name>\<instance_name> .

-DağıtıcıGiriş distributor_login

Dağıtımcı oturum açma adı.

-DağıtıcıŞifre distributor_password

Dağıtımcı parolası.

-DağıtımGüvenlik Modu [ 0 | 1 ]

Dağıtımcının güvenlik modunu belirtir. değeri 0 SQL Server Kimlik Doğrulama Modu'nu (varsayılan) ve değeri de Windows Kimlik Doğrulama Modu'nu 1 gösterir.

-Şifreleme Seviyesi [ 0 | 1 | 2 | 3 | 4 ]

Daha önce Güvenli Yuva Katmanı (SSL) olarak bilinen Aktarım Katmanı Güvenliği (TLS), bağlantı kurarken Günlük Okuyucu Aracısı tarafından kullanılan şifreleme düzeyi.

EncryptionLevel değeri Açıklama
0 TLS'nin kullanılmadığını belirtir.
1 TLS 1.2'nin kullanıldığını belirtir, ancak aracı TLS sunucu sertifikasının güvenilen bir veren tarafından imzalandığını doğrulamaz.
2 TLS 1.2'nin kullanıldığını ve sertifikanın doğrulandığını belirtir.
3 Azure SQL Yönetilen Örneği veya SQL Server 2025 ve sonraki sürümlerinden Azure SQL Yönetilen Örneği'ne yapılan bağlantılar için TLS 1.3'ün kullanıldığını ve sertifikanın doğrulandığını belirtir. SQL Server'a (desteklenen herhangi bir sürüm) yönelik bağlantılar için TLS 1.3 seçeneğiyle 3zorlanmaz.
4 Azure SQL Yönetilen Örneği veya SQL Server 2025 ve sonraki sürümlerinden Azure SQL Yönetilen Örneği'ne yapılan bağlantılar için TLS 1.3'ün kullanıldığını ve sertifikanın doğrulandığını belirtir. Azure SQL Yönetilen Örneği veya SQL Server 2025 ve sonraki sürümlerinden SQL Server'a (desteklenen herhangi bir sürüm) yapılan bağlantılar için TLS 1.3 kullanılır ve sertifika doğrulanır. ile bağlantı alan SQL Server konaklarına EncryptionLevel sertifikanın yüklenmesini 4gerektirir.

GEÇERLI bir TLS/SSL sertifikası, SQL Server'ın tam etki alanı adıyla tanımlanır. aracının olarak ayarlandığında -EncryptionLevel2başarıyla bağlanması için yerel SQL Server'da bir diğer ad oluşturun. 'Diğer Ad' parametresi sunucu adı, 'Server' parametresi ise SQL Server'ın tam adı olarak ayarlanmalıdır.

Daha fazla bilgi için bkz . Çoğaltma Güvenlik Ayarlarını Görüntüleme ve Değiştirme.

-ExtendedEventConfigFile configuration_path_and_file_name

Genişletilmiş olaylar XML yapılandırma dosyasının yolunu ve dosya adını belirtir. Genişletilmiş olaylar yapılandırma dosyası, oturumları yapılandırmanıza ve izleme için olayları etkinleştirmenize olanak tanır. Yalnızca iç kullanım.

-HistoryVerboseLevel [ 0 | 1 | 2 ]

Günlük okuyucu işlemi sırasında günlüğe kaydedilen geçmiş miktarını belirtir. öğesini seçerek 1geçmiş günlüğünün performans etkisini en aza indirebilirsiniz.

HistoryVerboseLevel değeri Açıklama
0 Yok.
1 (varsayılan) Her zaman aynı durumdaki önceki bir geçmiş iletisini güncelleştirin (başlangıç, ilerleme, başarı vb.). Aynı durumda önceki bir kayıt yoksa, yeni bir kayıt ekleyin.
2 Kayıt boşta iletiler veya uzun süre çalışan iş iletileri gibi durumlar için değilse yeni geçmiş kayıtları ekleyin ve bu durumda önceki kayıtları güncelleştirin.

-KeepAliveMessageInterval keep_alive_message_interval_seconds

Geçmiş iş parçacığının var olan bağlantılardan herhangi birinin sunucudan yanıt bekleyip beklemediğini denetlemesinden önceki saniye sayısı. Bu değer, uzun süre çalışan bir toplu işlemi yürütürken onay aracısının Günlük Okuyucu Aracısı'nı şüpheli olarak işaretlemesini önlemek için azaltılabilir. Varsayılan değer 300 saniyedir.

- LoginTimeOut login_time_out_seconds

Oturum açma zaman aşımına uğramadan önceki saniye sayısı. Varsayılan değer 15 saniyedir.

-LogScanThreshold scan_threshold

Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.

-MaxCmdsInTran number_of_commands

Günlük Okuyucusu dağıtım veritabanına komut yazarken bir işlemde gruplandırılmış en fazla deyim sayısını belirtir. Bu parametrenin kullanılması, Günlük Okuyucu Aracısı ve Dağıtım Aracısı'nın Publisher'daki büyük işlemleri (birçok komut içeren) Aboneye uygulandığında birkaç küçük işleme bölmesine olanak tanır. Bu parametrenin belirtilmesi Dağıtımcıdaki çekişmeyi azaltabilir ve Yayımcı ile Abone arasındaki gecikme süresini azaltabilir. Özgün işlem daha küçük birimlerde uygulandığından Abone, özgün işlem bitmeden önce büyük bir mantıksal Yayımcı işleminin satırlarına erişebilir ve katı işlem bölünmezliğini bozabilir. Varsayılan değer, Publisher'ın işlem sınırlarını koruyan değeridir 0.

BU parametre SQL Server dışı yayınlar için yoksayılır. Daha fazla bilgi için bkz. İşlem Kümesi İşini Yapılandırma.

MaxCmdsInTran her zaman açık olacak şekilde tasarlanmamıştır. Birinin yanlışlıkla tek bir işlemde çok sayıda DML işlemi gerçekleştirdiği durumlarda çalışır. Bu, tüm işlem dağıtım veritabanında olana, kilit tutulana vb. kadar komutların dağıtımında gecikmeye neden olur. Düzenli olarak bu duruma düşerseniz uygulamalarınızı gözden geçirin ve işlem boyutunu küçültmenin yollarını bulun.

Uyarı

Büyük bir işlem çoğaltılırken parametre eklenir ve kaldırılırsa MaxCmdsInTran birincil anahtar hataları oluşabilir. Büyük işlemlerdeki birincil anahtar hatalarını çözmek için, işlem dağıtım veritabanına çoğaltılana kadar parametresini geri ekleyin MaxCmdsInTran .

MaxCmdsInTran Hem Değişiklik Veri Yakalaması (CDC) hem de çoğaltma etkinleştirilmiş bir veritabanında parametresinin kullanılması desteklenmez ve CDC değişiklik tablolarında veri kaybına neden olabilir.

-MessageInterval message_interval

Geçmiş günlüğü için kullanılan zaman aralığı. Son geçmiş olayı günlüğe kaydedildikten sonra değere MessageInterval ulaşıldığında bir geçmiş olayı günlüğe kaydedilir.

Kaynakta çoğaltılmış işlem yoksa aracı, Dağıtımcıya işlem yapılmadığını bildiren bir ileti bildirir. Bu seçenek, aracının başka bir işlem olmayan ileti raporlamadan önce ne kadar bekleyeceğini belirtir. Aracılar daha önce çoğaltılan işlemleri işledikten sonra kaynakta kullanılabilir işlem olmadığını algıladığında her zaman işlem yapılmadığını bildirir. Varsayılan değer 60 saniyedir.

-MultiSubnetFailover [ 0 | 1 ]

için geçerlidir: SQL Server 2019 (15.x) ve sonraki sürümler.

MultiSubnetFailover özelliğinin etkinleştirilip etkinleştirilmediğini belirtir. Uygulamanız farklı alt ağlardaki Bir Always On kullanılabilirlik grubuna (AG) bağlanıyorsa, MultiSubnetFailover'ı 1 (true) olarak ayarlamak ( şu anda) etkin sunucuya daha hızlı algılama ve bağlantı sağlar.

AG üzerinde işlem yayını yapılandırdığınızda, Günlük Okuyucu Aracısı dinleyicinin meta verileri doğrulaması için dinamik bir bağlı sunucu oluşturur. SQL Server 2022 (16.x) CU 10 ve sonraki sürümlerinde dinamik bağlı sunucunun yapılandırmasında bir değişiklik vardır. Daha fazla bilgi için bkz. KB5031778.

-Çıkış output_path_and_file_name

Aracı çıkış dosyasının yolu. Dosya adı sağlanmadıysa, çıkış konsola gönderilir. Belirtilen dosya adı varsa, çıktı dosyaya eklenir.

-OutputVerboseLevel [ 0 | 1 | 2 | 3 | 4 ]

Çıkışın ayrıntılı olup olmayacağını belirtir.

Değer Açıklama
0 Yalnızca hata iletileri yazdırılır.
1 Tüm aracı ilerleme raporu iletileri yazdırılır.
2 (varsayılan) Tüm hata iletileri ve aracı ilerleme raporu iletileri yazdırılır.
3 Çoğaltılan her komutun ilk 100 baytı yazdırılır.
4 Çoğaltılan tüm komutlar yazdırılır.

Hata ayıklama sırasında 2-4 değerleri yararlıdır.

-Paket Boyutu packet_size

Bayt cinsinden paket boyutu. Varsayılan değer 4096 'dır (bayt).

-Anket Aralığı polling_interval

Çoğaltılan işlemler için günlüğün ne sıklıkta saniyeler içinde sorgulandığı. Varsayılan değer 5 saniyedir.

-ProfilAdı profile_name

Aracı parametreleri için kullanılacak aracı profilini belirtir. ise ProfileNameNULLaracı profili devre dışı bırakılır. Belirtilmezse ProfileName , aracı türü için varsayılan profil kullanılır. Bilgi için bkz . Çoğaltma Aracısı Profilleri.

-YayıncıFailoverPartner server_name [ \instance_name ]

Yayın veritabanıyla veritabanı yansıtma oturumuna katılan SQL Server'ın yük devretme iş ortağı örneğini belirtir. Daha fazla bilgi için bkz. Veritabanı Yansıtma ve Çoğaltma (SQL Server).

-YayıncıGüvenlik Modu [ 0 | 1 ]

Publisher'ın güvenlik modunu belirtir. değeri SQL Server Kimlik Doğrulaması'nın 0 (varsayılan) ve değeri ise Windows Kimlik Doğrulama Modu'nu 1 gösterir.

-YayıncıGiriş publisher_login

Publisher oturum açma adı.

-YayıncıŞifre publisher_password

Yayımcı parolası.

-QueryTimeOut query_time_out_seconds

Sorgu zaman aşımına uğramadan önceki saniye sayısı. Varsayılan değer 1.800 saniyedir.

-ReadBatchSize number_of_transactions

Varsayılan değer 500 ve en fazla 10000 olan işlem döngüsü başına yayımlama veritabanının işlem günlüğünden okunan işlem sayısı üst sınırı. Aracı, tüm işlemler günlükten okunana kadar işlemleri toplu olarak okumaya devam eder. Bu parametre Oracle Publishers için desteklenmez.

-ReadBatchThreshold number_of_commands

Dağıtım Aracısı tarafından Aboneye verilmeden önce işlem günlüğünden okunacak çoğaltma komutlarının sayısı. Varsayılan değer 0'dır. Bu parametre belirtilmezse, Günlük Okuyucu Aracısı günlüğün sonuna veya içinde -ReadBatchSize belirtilen sayıya (işlem sayısı) okur.

-RecoverFromDataErrors

Sql Server Publisher dışındaki bir yayımcıdan yayımlanan sütun verilerinde hatalarla karşılaştığında Günlük Okuyucu Aracısı'nın çalışmaya devam ettiğini belirtir. Varsayılan olarak, bu tür hatalar Günlük Okuyucu Aracısı'nın başarısız olmasına neden olur. kullandığınızda -RecoverFromDataErrors, hatalı sütun verileri null olmayan veya uygun bir değer olarak NULL çoğaltılır ve uyarı iletileri MSlogreader_history tablosuna kaydedilir. Bu parametre yalnızca Oracle Publishers için desteklenir.

Açıklamalar

SQL Server Agent'ı bir etki alanı kullanıcı hesabı (varsayılan) yerine yerel bir sistem hesabı altında çalışacak şekilde yüklediyseniz, hizmet yalnızca yerel bilgisayara erişebilir. SQL Server Aracısı altında çalışan Günlük Okuyucu Aracısı, SQL Server'da oturum açtığında Windows Kimlik Doğrulama Modu'nu kullanacak şekilde yapılandırılmışsa, Günlük Okuyucu Aracısı başarısız olur. Varsayılan ayar SQL Server Kimlik Doğrulaması'dır. Güvenlik hesaplarını değiştirme hakkında bilgi için bkz . Çoğaltma Güvenlik Ayarlarını Görüntüleme ve Değiştirme.

Günlük Okuyucu Aracısı'nı başlatmak için komut isteminden komutunu yürütür logread.exe . Daha fazla bilgi için bkz . Çoğaltma Aracısı Yürütülebilir Dosyaları Kavramları.