Aracılığıyla paylaş


sys.dm_hs_database_log_rate (Transact-SQL)

Şunlar için geçerlidir:Azure SQL Veritabanı

sys.dm_hs_database_log_rate Dinamik yönetim işlevi (DMF), Azure SQL Veritabanı Hiper Ölçeği'nde günlük oluşturma hızı hakkında bilgi döndürür.

Sonuç kümesindeki her satır, hiper ölçek veritabanında günlük oluşturma hızını denetleen (azaltan) bir bileşeni temsil eder. Hiper Ölçek katmanı mimarisinde veritabanı performansını kararlı ve dengeli tutmak için günlük oluşturma hızını düşürebilen birden çok bileşen vardır.

İkincil işlem çoğaltmaları veya sayfa sunucuları gibi belirli bileşen türleri, genel veritabanı sistem durumu ve kararlılığını sağlamak için birincil işlem çoğaltması üzerindeki günlük oluşturma hızını geçici olarak azaltabilir.

Günlük oluşturma hızı herhangi bir bileşen tarafından azaltılmazsa, birincil işlem çoğaltma bileşeni için veritabanı için izin verilen en yüksek günlük oluşturma hızını gösteren bir satır döndürülür.

Bu dinamik yönetim işlevi yalnızca oturum birincil çoğaltmaya bağlandığında satırları döndürür.

Sözdizimi

sys.dm_hs_database_log_rate ( 
{ database_id | NULL }                                     
)                             

Arguments

veritabanı_kimlik

database_id , veritabanı kimliğini temsil eden ve varsayılan değeri olmayan bir tamsayıdır . Geçerli girişler bir veritabanı kimliği veya NULL'dır.

database_id sağlandığında, sys.dm_hs_database_log_rate ilgili veritabanı için bir satır döndürür.

Sağlanmadığında veya sağlandığında NULL , tek bir veritabanı için geçerli veritabanı için bir satır döndürür. Elastik havuzdaki bir veritabanı için, çağıranın yeterli izinlere sahip olduğu havuzdaki tüm veritabanlarının satırlarını döndürür.

Yerleşik işlev DB_ID belirtilebilir.

Döndürülen Tablo

Sütun adı Veri türü Description
database_id Int NOT NULL Veritabanının tanımlayıcısı. Değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir.
replica_id uniqueidentifier NOT NULL içindeki sütuna sys.dm_database_replica_stateskarşılık gelen bir işlem çoğaltmasının replica_id tanımlayıcısı. NULL bir Hiper Ölçek sayfa sunucusuna karşılık geldiğinde component_id .

Bu değer, çoğaltmaya DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') bağlanıldığında işlev çağrısı tarafından döndürülür.
file_id Int SIFIR Günlük oluşturma hızını sınırlayan sayfa sunucusuna karşılık gelen veritabanı dosyasının kimliği. Yalnızca rol sayfa sunucusu ise doldurulur, aksi takdirde döndürür NULL. Bu değer içindeki sys.database_filessütuna file_id karşılık gelir.
current_max_log_rate bigint NOT NULL Birincil işlem çoğaltmasında günlük oluşturma hızı için bayt/sn cinsinden geçerli en yüksek günlük hızı sınırı. Hiçbir bileşen günlük oluşturma hızını düşürmezse, hiper ölçek veritabanı için günlük oluşturma hızı sınırını bildirir.
component_id uniqueidentifier NOT NULL Sayfa sunucusu veya işlem çoğaltması gibi hiper ölçek bileşeninin benzersiz tanımlayıcısı.
role smallint NOT NULL Günlük oluşturmayı azaltabilen tüm mevcut bileşen rolleri.

Unknown = 0
Storage = 1
Primary = 2
Replica = 4
LocalDestage = 5
Destage = 6
GeoReplica = 10
StorageCheckpoint = 12
MigrationTarget = 14
Günlük oluşturma hızı sınırlı olduğunda, birincil işlem çoğaltması üzerinde her role karşılık gelen aşağıdaki bekleme türleri gözlemlenebilir:
1 - RBIO_RG_STORAGE
4 - RBIO_RG_REPLICA
5 - RBIO_RG_LOCALDESTAGE
6 - RBIO_RG_DESTAGE
10 - RBIO_RG_GEOREPLICA
12 - RBIO_RG_STORAGE_CHECKPOINT
14 - RBIO_RG_MIGRATION_TARGET
Daha fazla bilgi için bkz . Günlük hızı azaltma beklemeleri
role_desc nvarchar(60) NOT NULL Unknown = Bileşen rolü bilinmiyor
Storage = Sayfa sunucuları
Primary = Birincil işlem çoğaltması
Replica = Yüksek kullanılabilirlik (HA) çoğaltması veya adlandırılmış çoğaltma gibi ikincil işlem çoğaltması.
LocalDestage = Günlük hizmeti
Destage = Uzun süreli günlük depolama
GeoReplica = Coğrafi ikincil çoğaltma
StorageCheckpoint = Sayfa sunucusundaki denetim noktası
MigrationTarget = Hiper Ölçek'ten Hiper Ölçek olmayan bir veritabanına ters geçiş sırasında hedef veritabanı.
catchup_rate bigint NOT NULL Bayt/sn cinsinden Yakalama Hızı. Günlük hızı azaltılmadığında sıfır döndürür.
catchup_bytes bigint NOT NULL Bir bileşenin birincil işlem çoğaltmasını yakalamak için uygulaması gereken işlem günlüğü bayt cinsinden miktarı. Bileşen yakalandığında döndürür 0 .
last_reported_time datetime Hiper Ölçek günlük hizmetinin değerleri son bildirişi.

Açıklamalar

Dinamik sys.dm_hs_database_log_rate yönetim işlevi yalnızca Azure SQL Veritabanı Hiper Ölçek katmanı için geçerlidir.

Azure SQL Veritabanı'nın Hiper Ölçek hizmet katmanında günlük hizmeti, dağıtılmış bileşenlerin işlem günlüğünü uygulama konusunda çok geri kalmasını sağlamaz. Bu, genel sistem durumunu ve kararlılığını korumak için gereklidir. Bileşenler gerideyse ve bunların yakalama hızı geçerli günlük oluşturma hızından düşükse, günlük hizmeti birincil günlük oluşturma hızını azaltır. sys.dm_hs_database_log_rate() DMF, hangi bileşenin günlük hızında azalmaya neden olduğunu, ne ölçüde ve günlük hızını azaltmanın ne kadar sürebileceğini anlamak için kullanılabilir.

Günlük hızını azaltma hakkında daha fazla bağlam için bkz. Hiper Ölçek'te performans tanılamaları.

Permissions

Bu dinamik yönetim işlevi , VERITABANı PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.

Örnekler

A. Belirli bir veritabanında günlük hızının azaltılmasına neden olan bileşeni döndürme

Aşağıdaki örnek, günlük hızının azaltılmasına neden olan bileşen için bir satır döndürür. Günlük oluşturma hızı herhangi bir bileşen tarafından azaltılmazsa, birincil işlem için veritabanı için izin verilen en yüksek günlük oluşturma hızını gösteren bir satır döndürülür.

SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(DB_ID(N'Contosodb'));                   

B. Günlük hızının azaltılmasına neden olan bileşenleri döndürme

Elastik havuzdaki bir veritabanına bağlanıldığında, aşağıdaki örnek yeterli izinlere sahip olduğunuz havuzdaki her veritabanı için günlük hızının azaltılmasına neden olan bileşen için bir satır döndürür. Tek bir veritabanına bağlandığında, veritabanının satırını döndürür.

SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes 
FROM sys.dm_hs_database_log_rate(NULL);