Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:azure SQL Database
Funkcja sys.dm_hs_database_log_rate dynamicznego zarządzania (DMF) zwraca informacje o współczynniku generowania dzienników w hiperskala usługi Azure SQL Database.
Każdy wiersz w zestawie wyników reprezentuje składnik, który kontroluje (zmniejsza) szybkość generowania dzienników w bazie danych Hiperskala. Istnieje wiele składników w architekturze warstwy Hiperskala , które mogą zmniejszyć szybkość generowania dzienników, aby zapewnić stabilną i zrównoważoną wydajność bazy danych.
Niektóre typy składników, takich jak pomocnicze repliki obliczeniowe lub serwery stron, mogą tymczasowo zmniejszyć częstotliwość generowania dzienników w podstawowej replice obliczeniowej, aby zapewnić ogólną kondycję i stabilność bazy danych.
Jeśli szybkość generowania dziennika nie zostanie zmniejszona przez żaden składnik, wiersz zostanie zwrócony dla podstawowego składnika repliki obliczeniowej, pokazujący maksymalną dozwoloną szybkość generowania dzienników dla bazy danych.
Ta funkcja dynamicznego zarządzania zwraca wiersze tylko wtedy, gdy sesja jest połączona z repliką podstawową.
Składnia
sys.dm_hs_database_log_rate (
{ database_id | NULL }
)
Arguments
id_bazy_danych
database_id jest liczbą całkowitą reprezentującą identyfikator bazy danych bez wartości domyślnej. Prawidłowe dane wejściowe to identyfikator bazy danych lub NULL.
Po podaniu sys.dm_hs_database_log_rate elementu database_id zwraca wiersz dla tej konkretnej bazy danych.
Jeśli nie podano wartości lub NULL gdy jest podana, dla pojedynczej bazy danych zwraca wiersz dla bieżącej bazy danych. W przypadku bazy danych w elastycznej puli zwraca wiersze dla wszystkich baz danych w puli, w której obiekt wywołujący ma wystarczające uprawnienia.
Można określić wbudowaną funkcję DB_ID .
Zwracana tabela
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
database_id |
Int NOT NULL | Identyfikator bazy danych. Wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego. |
replica_id |
uniqueidentifier NOT NULL | Identyfikator repliki obliczeniowej odpowiadającej kolumnie replica_id w sys.dm_database_replica_statespliku .
NULL gdy component_id odpowiada serwerowi strony w warstwie Hiperskala.Ta wartość jest zwracana przez DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') wywołanie funkcji po nawiązaniu połączenia z repliką. |
file_id |
Int ZERO | Identyfikator pliku bazy danych w bazie danych, który odpowiada serwerowi strony ograniczającemu szybkość generowania dziennika. Zostanie wypełniony tylko wtedy, gdy rola jest serwerem strony, w przeciwnym razie zwraca wartość NULL. Ta wartość odpowiada kolumnie w pliku file_idsys.database_files. |
current_max_log_rate |
bigint NOT NULL | Bieżący maksymalny limit szybkości rejestrowania dla szybkości generowania dziennika w podstawowej repliki obliczeniowej w bajtach/s. Jeśli żaden składnik nie zmniejsza szybkości generowania dzienników, raportuje limit szybkości generowania dzienników dla bazy danych w warstwie Hiperskala. |
component_id |
uniqueidentifier NOT NULL | Unikatowy identyfikator składnika hiperskala, takiego jak serwer strony lub replika obliczeniowa. |
role |
smallint NOT NULL | Wszystkie istniejące role składników, które mogą zmniejszyć generowanie dziennika.Unknown = 0Storage = 1Primary = 2Replica = 4LocalDestage = 5Destage = 6 GeoReplica = 10StorageCheckpoint = 12MigrationTarget = 14Jeśli szybkość generowania dziennika jest ograniczona, w podstawowej repliki obliczeniowej mogą być obserwowane następujące typy oczekiwania odpowiadające każdej roli: 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 Aby uzyskać więcej informacji, zobacz Oczekiwanie na ograniczanie szybkości dzienników |
role_desc |
nvarchar(60) NOT NULL |
Unknown = Rola składnika nie jest znanaStorage = Serwery stronPrimary = podstawowa replika obliczeniowaReplica = pomocnicza replika obliczeniowa, taka jak replika wysokiej dostępności (HA) lub nazwana replika.LocalDestage = Usługa rejestrowaniaDestage = Długoterminowy magazyn dziennikówGeoReplica = Replika pomocnicza geograficznaStorageCheckpoint = punkt kontrolny na serwerze stronyMigrationTarget = docelowa baza danych podczas odwrotnej migracji z warstwy Hiperskala do bazy danych innej niż Hiperskala. |
catchup_rate |
bigint NOT NULL | Współczynnik zaległości w bajtach/s. Zwraca zero, gdy szybkość rejestrowania nie jest zmniejszana. |
catchup_bytes |
bigint NOT NULL | Ilość dziennika transakcji w bajtach, które składnik musi zastosować, aby nadrobić zaległości w podstawowej repliki obliczeniowej. Zwraca wartość 0 , gdy składnik zostanie złapany. |
last_reported_time |
data/godzina | Ostatni raz usługa dziennika Hiperskala zgłosiła wartości. |
Uwagi
Funkcja sys.dm_hs_database_log_rate dynamicznego zarządzania ma zastosowanie tylko do warstwy Hiperskala usługi Azure SQL Database.
W warstwie usługi Hiperskala usługi Azure SQL Database usługa dziennika zapewnia, że składniki rozproszone nie są daleko w tyle w przypadku stosowania dziennika transakcji. Jest to wymagane do utrzymania ogólnej kondycji i stabilności systemu. Gdy składniki znajdują się w tyle, a ich współczynnik zaległości jest mniejszy niż bieżąca szybkość generowania dziennika, usługa dziennika zmniejsza szybkość generowania dzienników w warstwie podstawowej. DMF sys.dm_hs_database_log_rate() może służyć do zrozumienia, który składnik powoduje zmniejszenie szybkości rejestrowania i w jakim zakresie oraz jak długo może trwać redukcja szybkości rejestrowania.
Aby uzyskać więcej informacji na temat redukcji szybkości rejestrowania, zobacz Diagnostyka wydajności w warstwie Hiperskala.
Permissions
Ta funkcja dynamicznego zarządzania wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI BAZY DANYCH .
Przykłady
A. Zwróć składnik powodujący zmniejszenie szybkości rejestrowania w określonej bazie danych
Poniższy przykład zwraca wiersz składnika powodujący zmniejszenie szybkości rejestrowania. Jeśli szybkość generowania dzienników nie zostanie zmniejszona przez żaden składnik, wiersz zostanie zwrócony dla podstawowego obliczeniowego, pokazujący maksymalną dozwoloną szybkość generowania dzienników dla bazy danych.
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. Zwracanie składników powodujących zmniejszenie szybkości rejestrowania
Po nawiązaniu połączenia z bazą danych w elastycznej puli poniższy przykład zwraca wiersz dla składnika powodującego zmniejszenie szybkości rejestrowania dla każdej bazy danych w puli, w której masz wystarczające uprawnienia. Po nawiązaniu połączenia z pojedynczą bazą danych zwraca wiersz dla bazy danych.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(NULL);