Aracılığıyla paylaş


Sunucu yapılandırması: maksimum ucs send boxcars

Şunlar için geçerlidir: SQL Server 2025 (17.x) Önizlemesi

Birincil çoğaltıcıdan ikincil çoğaltıcıya mesaj göndermek için kullanılabilecek maksimum UCS vagonu sayısını kontrol etmek için sunucu yapılandırma seçeneğini kullanın. Bu seçenek, bir AlwaysOn kullanılabilirlik grubundaki çoğaltmalar arasındaki veri akışını geniş alan ağı (WAN) üzerinden denetlemek için kullanışlıdır.

Uyarı

max ucs send boxcars Sunucu yapılandırma seçeneği SQL Server 2025 (17.x) Önizleme sürümünden itibaren kullanılabilir.

Genel Bakış

Evrensel İletişim Hizmeti (UCS) protokolü, birincil ve ikincil çoğaltmalar arasında günlük blokları göndermek için SQL Server Always On kullanılabilirlik grupları tarafından kullanılır. UCS, değişikliğin ikincil çoğaltmada sağlamlaştırıldığına dair bir onayın birincil çoğaltmaya ulaşma süresini ölçerek, ikincil çoğaltmanın birincil çoğaltmanın gerisinde kalıp kalmadığını belirler.

UCS uç noktalar arasında iletişim kurarken, ikincil çoğaltmanın birincil çoğaltmadaki değişiklikleri uygulamaya ayak uyduramayacaını algıladığında akış denetimine girer. Bu süreç, gecikmenin büyük bir kısmı ikincil replikadaki işlemlerden kaynaklandığı için ağ gecikmesinin etkili olmadığı hızlı yerel ağlarda iyi çalışır. Ancak UCS, coğrafi çoğaltma gibi önemli bir ağ gecikmesiyle geniş alan ağı (WAN) üzerinden iletişim kurarsa, artan ağ gecikmesi ikincil çoğaltmanın geri kalmasına neden olabilir. Bu senaryoda akış denetimi verimsizdir.

Bu ağ gecikmesi senaryosını ele almak için UCS'nin akış denetimi girmeyi ertelemesi gerekir. Bu, birincil kopyadan ikincil kopyaya ileti göndermek için kullanılabilecek UCS vagonlarının sayısı sınırını değiştirerek elde edilir. UCS paketleri, bir ağ üzerinden daha verimli iletim sağlamak için bir kutucukta birlikte gruplandırılır. UCS yük vagonlarının maksimum sayısını artırdığınızda, aynı anda daha fazla paket aktarılabilir ve bu da akış denetimine girişin ertelenmesini sağlar.

UCS vagonlarını Windows kayıt defteriyle geçersiz kılma

SQL Server 2022 (16.x) ile birlikte, SQL Server'ın başlatma sırasında okuduğu bir kayıt değeri oluşturarak UCS boxcar'larının sayısını kontrol edebilirsiniz.

  • Kayıt defteri anahtarı: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL16.<instance_name>\MSSQLServer\ServiceBroker
  • Değer adı: MaxPendingSend
  • Değer türü: REG_SZ

Önemli

SQL Server türü denetlediğinden ve beklenen türde değilse değeri yoksaydığından, değeri REG_SZ olarak ve REG_DWORD olarak değil oluşturmanız gerekir.

Bu mekanizmanın birkaç dezavantajı vardır:

  • Veritabanı yöneticileri, SQL Server örneğiyle aynı makinede veya uzaktan kayıt defterine erişemeyebilir.

  • Veritabanı yöneticileri ve sistem yöneticileri genellikle farklı sorumluluk kümelerine ve dolayısıyla farklı izin kümelerine sahip iki ayrı roldir.

sp_configure ile UCS vagonlarını geçersiz kılma

SQL Server 2025 (17.x) Önizleme sürümünden başlayarak, UCS vagonlarının sayısını max ucs send boxcars sunucu yapılandırma seçeneğiyle denetleyebilirsiniz ve aşağıdaki hususları dikkate almanız gerekir:

  • Bu ayar gelişmiş sp_configure bir seçenektir.

  • En düşük değer 256 (varsayılan) ve en büyük değer ise şeklindedir 2048. Ancak 0 değerini, varsayılan değere sıfırlamak için kullanabilirsiniz.

  • Bu yapılandırma seçeneği kayıt defteri ayarından önceliklidir.

  • Bu ayar, SQL Server örneği yeniden başlatıldıktan sonra geçerlilik kazanır.

USE master;
GO

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

EXEC sp_configure `max ucs send boxcars`, 1234;
RECONFIGURE;
GO

Öncelik sırası

Aşağıdaki tabloda, kullandığınız geçersiz kılma mekanizmasına bağlı olarak öncelik örnekleri gösterilmektedir.

Kural sp_configure değer Kayıt defteri değeri Geçerli değer
max ucs send boxcars varsayılan olmayan değerler (256'ya eşit değildir) kayıt defteri değerlerinden önceliklidir. 1024 2048 1024
Varsayılan değeri 256 olarak ayarlanırsa max ucs send boxcars , kayıt defteri değeri etkinleşir. 256 2048 2048
olarak ayarlanırsa max ucs send boxcars0, kayıt defteri değerinden öncelikli olan varsayılan değeri kullanır. Bu şekilde, veritabanı yöneticileri kayıt defterini düzenleme iznine sahip değilse varsayılan değeri uygulamaya devam edebilir. 0 2048 256

Açıklamalar

RECONFIGURE sunucu yapılandırma seçeneğini ayarladıktan sonra yeni yapılandırmayı uygulamak için max ucs send boxcars çalıştırmanız gerekir. Ayar yalnızca SQL Server örneği yeniden başlatıldıktan sonra etkinleşir.

UCS vagonlarının sayısı için varsayılan olmayan bir değer etkin olduğunda, SQL Server bilgi iletisini hata günlüğüne kaydeder. Bilgi iletisi geçerli değeri ve geçersiz kılma kaynağını içerir: sp_configure veya registry.

2024-10-08 13:38:26.11 Server      UCS transport default sending capacity is overridden with the value of 1234. Override source: sp_configure. This is an informational message only. No user action is required.

İletinin iç hata kodu şeklindedir 33338. Varsayılan değer ayarlanırsa ileti günlüğe kaydedilmez.