Bezserwerowa warstwa obliczeniowa dla bazy danych Azure SQL
Dotyczy: baza danych Azure SQL
Bezserwerowa jest warstwą obliczeniową dla pojedynczych baz danych w usłudze Azure SQL Database, która automatycznie skaluje obliczenia na podstawie zapotrzebowania na obciążenie i nalicza opłaty za ilość zasobów obliczeniowych używanych na sekundę. Ponadto warstwa bezserwerowych usług obliczeniowych automatycznie wstrzymuje bazy danych w okresach nieaktywności, gdy są naliczane opłaty tylko za magazyn, oraz automatycznie wznawia bazy danych po ponownym pojawieniu się aktywności. Warstwa obliczeniowa bezserwerowa jest dostępna w warstwie usługi Ogólnego przeznaczenia i obecnie dostępna w wersji zapoznawczej w warstwie usługi Hiperskala.
Uwaga
- Bezserwerowa w warstwie usługi Hiperskala jest obecnie dostępna w wersji zapoznawczej.
- Automatyczne wstrzymanie i automatyczne wznawianie jest obecnie obsługiwane tylko w warstwie usługi Ogólnego przeznaczenia.
Omówienie
Warstwa obliczeniowa bezserwerowa dla pojedynczych baz danych w usłudze Azure SQL Database jest sparametryzowana przez zakres skalowania automatycznego obliczeń i opóźnienie automatycznego wstrzymywania. Konfiguracja tych parametrów kształtuje środowisko wydajności bazy danych i koszt obliczeniowy.
Konfiguracja wydajności
- Minimalne rdzenie wirtualne i maksymalne rdzenie wirtualne to konfigurowalne parametry definiujące zakres pojemności obliczeniowej dostępnej dla bazy danych. Limity pamięci i operacji we/wy są proporcjonalne do określonego zakresu rdzeni wirtualnych.
- Opóźnienie automatycznego wstrzymywania jest konfigurowalnym parametrem, który definiuje czas, przez który baza danych musi być nieaktywna, zanim zostanie automatycznie wstrzymana. Baza danych jest automatycznie wznawiana po wystąpieniu następnego logowania lub innego działania. Alternatywnie można wyłączyć automatyczne wstrzymanie.
Koszty
- Koszt bezserwerowej bazy danych to suma kosztów obliczeniowych i kosztów magazynowania.
- Jeśli użycie zasobów obliczeniowych mieści się między skonfigurowanymi limitami minimalnymi i maksymalnymi, koszt obliczeniowy jest oparty na rdzeniach wirtualnych i używanej pamięci.
- Gdy użycie zasobów obliczeniowych jest niższe niż minimalne skonfigurowane limity, koszt obliczeniowy jest oparty na minimalnych rdzeniach wirtualnych i minimalnej skonfigurowanej pamięci.
- Po wstrzymaniu bazy danych koszt obliczeniowy wynosi zero i naliczane są tylko koszty magazynowania.
- Koszt magazynu jest określany w taki sam sposób, jak w aprowizowanej warstwie obliczeniowej.
Aby uzyskać więcej szczegółów kosztów, zobacz Rozliczenia.
Scenariusze
Opcja bezserwerowa jest zoptymalizowana pod kątem stosunku ceny do wydajności i jest przeznaczona dla pojedynczych baz danych wykorzystywanych sporadycznie i mających nieprzewidywalne wzorce użycia zezwalające na niewielkie opóźnienia wynikające z konieczności przygotowania do obliczeń po okresach bezczynności. Natomiast aprowizowana warstwa obliczeniowa jest zoptymalizowana pod kątem wydajności cenowej dla pojedynczych baz danych lub wielu baz danych w elastycznych pulach z wyższym średnim użyciem, które nie może pozwolić sobie na opóźnienie rozgrzewki obliczeniowej.
Scenariusze odpowiednie dla obliczeń bezserwerowych
- Pojedyncze bazy danych wykorzystywane sporadycznie i mające nieprzewidywalne wzorce użycia przeplatane okresami braku aktywności i niższym średnim wykorzystaniem obliczeń w czasie.
- Pojedyncze bazy danych w aprowizowanej warstwie obliczeniowej, które są często przeskalowywane, a ich klienci preferują delegowanie ponownego skalowania obliczeń do usługi.
- Nowe pojedyncze bazy danych bez historii użycia, w przypadku których trudno jest ustalić rozmiar obliczeniowy lub nie można go oszacować przed wdrożeniem w usłudze SQL Database.
Scenariusze odpowiednie do aprowizowania zasobów obliczeniowych
- Pojedyncze bazy danych z bardziej regularnymi, przewidywalnymi wzorcami użycia i wyższym średnim wykorzystaniem zasobów obliczeniowych w czasie.
- Bazy danych, które nie mogą tolerować kompromisów wydajności wynikających z częstszego przycinania pamięci lub opóźnień wznawiania stanu wstrzymania.
- Wiele baz danych z sporadycznymi, nieprzewidywalnymi wzorcami użycia, które można skonsolidować w elastyczne pule w celu uzyskania lepszej optymalizacji wydajności cen.
Porównanie warstw obliczeniowych
W poniższej tabeli przedstawiono różnice między warstwą obliczeniową bezserwerową a aprowizowaną warstwą obliczeniową:
Bezserwerowe usługi obliczeniowe | Aprowizowania zasobów obliczeniowych | |
---|---|---|
Wzorzec użycia bazy danych | Sporadyczne, nieprzewidywalne użycie z niższym średnim wykorzystaniem zasobów obliczeniowych w czasie. | Bardziej regularne wzorce użycia z wyższym średnim użyciem zasobów obliczeniowych w czasie lub wieloma bazami danych korzystającymi z elastycznych pul. |
Nakład pracy związane z zarządzaniem wydajnością | Niższa | Wyższa |
Skalowanie zasobów obliczeniowych | Automatyczny | Ręcznie |
Czas odpowiedzi obliczeń | Niższe po nieaktywnych okresach | Natychmiastowe |
Stopień szczegółowości rozliczeń | Sekundę | Godzinę |
Model zakupów i warstwa usług
W poniższej tabeli opisano obsługę bezserwerową opartą na modelu zakupów, warstwach usług i sprzęcie::
Kategoria | Obsługiwane | Nieobsługiwany |
---|---|---|
Model zakupów | Rdzenie wirtualne | Jednostki DTU |
Warstwa usług | Ogólnego przeznaczenia Hiperskala (w wersji zapoznawczej) |
Krytyczne dla działania firmy |
Sprzęt | Seria Standardowa (Gen5) | Wszystkie inne sprzęty |
Skalowanie automatyczne
Skalowanie czasu odpowiedzi
Ogólnie rzecz biorąc, bezserwerowe bazy danych są uruchamiane na maszynie z wystarczającą pojemnością, aby zaspokoić zapotrzebowanie na zasoby bez zakłóceń dla dowolnej ilości zasobów obliczeniowych żądanych w granicach ustawionych przez maksymalną wartość rdzeni wirtualnych. Czasami równoważenie obciążenia odbywa się automatycznie, jeśli maszyna nie może zaspokoić zapotrzebowania na zasoby w ciągu kilku minut. Jeśli na przykład zapotrzebowanie na zasoby wynosi 4 rdzenie wirtualne, ale dostępne są tylko 2 rdzenie wirtualne, może to potrwać do kilku minut, zanim zostaną udostępnione 4 rdzenie wirtualne. Baza danych pozostaje w trybie online podczas równoważenia obciążenia z wyjątkiem krótkiego okresu na końcu operacji, gdy połączenia zostaną porzucone.
Zarządzanie pamięcią
W warstwach usług Ogólnego przeznaczenia i Hiperskala pamięć dla baz danych bezserwerowych jest odzyskiwane częściej niż w przypadku aprowizowanych baz danych obliczeniowych. To zachowanie jest ważne, aby kontrolować koszty bezserwerowe i może mieć wpływ na wydajność.
Odzyskiwanie pamięci podręcznej
W przeciwieństwie do aprowizowanych baz danych obliczeniowych pamięć z pamięci podręcznej SQL jest odzyskiwane z bezserwerowej bazy danych, gdy użycie procesora CPU lub aktywnej pamięci podręcznej jest niskie.
- Wykorzystanie aktywnej pamięci podręcznej jest uznawane za niskie, gdy całkowity rozmiar ostatnio używanych wpisów pamięci podręcznej spadnie poniżej progu przez pewien czas.
- Po wyzwoleniu odzyskiwania pamięci podręcznej docelowy rozmiar pamięci podręcznej jest zmniejszany przyrostowo do ułamka poprzedniego rozmiaru i odzyskiwanie będzie kontynuowane tylko wtedy, gdy użycie pozostanie niskie.
- W przypadku odzyskiwania pamięci podręcznej zasady wybierania wpisów pamięci podręcznej do eksmisji są takie same, jak w przypadku aprowizowanych baz danych obliczeniowych, gdy wysokie wykorzystanie pamięci jest wysokie.
- Rozmiar pamięci podręcznej nigdy nie jest zmniejszany poniżej minimalnego limitu pamięci zdefiniowanego przez minimalną liczbę rdzeni wirtualnych, które można skonfigurować.
W bazach danych obliczeniowych bezserwerowych i aprowizowanych można eksmitować wpisy pamięci podręcznej, jeśli jest używana cała dostępna pamięć.
Gdy wykorzystanie procesora CPU jest niskie, wykorzystanie aktywnej pamięci podręcznej może pozostać wysokie w zależności od wzorca użycia i zapobiec odzyskianiu pamięci. Ponadto mogą wystąpić inne opóźnienia po zatrzymaniu aktywności użytkownika przed odzyskaniem pamięci z powodu okresowych procesów w tle odpowiadających na wcześniejsze działanie użytkownika. Na przykład operacje usuwania i zadania oczyszczania magazynu zapytań generują rekordy duchów oznaczone do usunięcia, ale nie są fizycznie usuwane do momentu uruchomienia procesu oczyszczania duchów. Czyszczenie duchów może obejmować odczytywanie dodatkowych stron danych w pamięci podręcznej.
Nawodnienie pamięci podręcznej
Pamięć podręczna SQL zwiększa się w miarę pobierania danych z dysku w taki sam sposób i z taką samą szybkością jak w przypadku aprowizowanych baz danych. Gdy baza danych jest zajęta, pamięć podręczna może rosnąć bez ograniczeń, gdy jest dostępna pamięć.
Zarządzanie pamięcią podręczną dysku
W warstwie usługi Hiperskala dla warstw obliczeniowych bezserwerowych i aprowizowanych każda replika obliczeniowa używa pamięci podręcznej RBPEX (Resilient Buffer Pool Extension), która przechowuje strony danych na lokalnym dysku SSD w celu zwiększenia wydajności operacji we/wy. Jednak w warstwie obliczeniowej bezserwerowej dla hiperskala pamięć podręczna RBPEX dla każdej repliki obliczeniowej automatycznie rośnie i zmniejsza się w odpowiedzi na rosnące i malejące zapotrzebowanie na obciążenie. Maksymalny rozmiar pamięci podręcznej RBPEX może wzrosnąć do trzech razy więcej niż maksymalna ilość pamięci skonfigurowanej dla bazy danych. Aby uzyskać szczegółowe informacje na temat maksymalnej ilości pamięci i limitów automatycznego skalowania RBPEX bezserwerowego, zobacz bezserwerowe limity zasobów w warstwie Hiperskala.
Automatyczne wstrzymanie i automatyczne wznawianie
Obecnie automatyczne wstrzymanie bezserwerowe i automatyczne wznawianie są obsługiwane tylko w warstwie Ogólnego przeznaczenia.
Automatyczne wstrzymanie
Automatyczne wstrzymywanie jest wyzwalane, jeśli wszystkie następujące warunki są spełnione przez czas trwania opóźnienia automatycznego wstrzymywania:
- Liczba sesji = 0
- Procesor CPU = 0 dla obciążenia użytkownika uruchomionego w puli zasobów użytkownika
W razie potrzeby dostępna jest opcja wyłączania automatycznego wstrzymowania.
Poniższe funkcje nie obsługują automatycznego wstrzymowania, ale obsługują skalowanie automatyczne. Jeśli są używane jakiekolwiek z następujących funkcji, automatyczne wstrzymanie musi zostać wyłączone, a baza danych pozostanie w trybie online niezależnie od czasu braku aktywności bazy danych:
- Replikacja geograficzna (aktywna replikacja geograficzna i grupy automatycznego trybu failover).
- Długoterminowe przechowywanie kopii zapasowych (LTR).
- Baza danych synchronizacji używana w SQL Data Sync. W przeciwieństwie do baz danych synchronizacji, bazy danych piasty i składowych obsługują automatyczne wstrzymanie.
- Alias DNS utworzony dla serwera logicznego zawierającego bezserwerową bazę danych.
- Zadania elastyczne (wersja zapoznawcza), automatycznie wstrzymana bezserwerowa baza danych nie jest obsługiwana jako baza danych zadań. Bezserwerowe bazy danych objęte elastycznymi zadaniami obsługują automatyczne wstrzymanie i będą wznawiane przez połączenia zadań.
Automatyczne wstrzymanie jest tymczasowo blokowane podczas wdrażania niektórych aktualizacji usługi, które wymagają, aby baza danych została w trybie online. W takich przypadkach automatyczne wstrzymanie staje się dozwolone ponownie po zakończeniu aktualizacji usługi.
Rozwiązywanie problemów z automatycznym wstrzymywaniem
Jeśli automatyczne wstrzymywanie jest włączone, ale baza danych nie wstrzymuje się automatycznie po upływie okresu opóźnienia, a funkcje wymienione powyżej nie są używane, sesje aplikacji lub użytkowników mogą uniemożliwiać automatyczne wstrzymywanie. Aby sprawdzić, czy z bazą danych są aktualnie połączone jakiekolwiek sesje aplikacji lub użytkownika, połącz się z bazą danych przy użyciu dowolnego narzędzia klienckiego i wykonaj następujące zapytanie:
SELECT session_id,
host_name,
program_name,
client_interface_name,
login_name,
status,
login_time,
last_request_start_time,
last_request_end_time
FROM sys.dm_exec_sessions AS s
INNER JOIN sys.dm_resource_governor_workload_groups AS wg
ON s.group_id = wg.group_id
WHERE s.session_id <> @@SPID
AND
(
(
wg.name like 'UserPrimaryGroup.DB%'
AND
TRY_CAST(RIGHT(wg.name, LEN(wg.name) - LEN('UserPrimaryGroup.DB') - 2) AS int) = DB_ID()
)
OR
wg.name = 'DACGroup'
);
Porada
Po uruchomieniu zapytania upewnij się, że odłącz się od bazy danych. W przeciwnym razie otwarta sesja używana przez zapytanie uniemożliwi automatyczne wstrzymywanie.
Jeśli zestaw wyników nie jest pusty, istnieją sesje, które uniemożliwiają automatyczne wstrzymanie.
Jeśli zestaw wyników jest pusty, nadal jest możliwe, że w pewnym momencie w trakcie okresu opóźnienia automatycznego wstrzymania sesje były otwarte (być może przez krótki czas). Aby sprawdzić, czy taka aktywność miała miejsce w trakcie okresu opóźnienia, można użyć inspekcji usługi Azure SQL i zbadać dane inspekcji dotyczące odpowiedniego okresu.
Otwarte sesje, ze współbieżnym wykorzystaniem procesora CPU w puli zasobów użytkownika lub bez niego, to najczęstsza przyczyna braku zgodnego z oczekiwaniami automatycznego wstrzymania bezserwerowej bazy danych.
Automatyczne wznawianie
Automatyczne wznawianie jest wyzwalane, jeśli którykolwiek z następujących warunków jest spełniony w dowolnym momencie:
Cecha | Wyzwalacz automatycznego wznawiania |
---|---|
Uwierzytelnianie i autoryzacja | Zaloguj się |
Wykrywanie zagrożeń | Włączanie/wyłączanie ustawień wykrywania zagrożeń na poziomie bazy danych lub serwera. Modyfikowanie ustawień wykrywania zagrożeń na poziomie bazy danych lub serwera. |
Odnajdowanie i klasyfikacja danych | Dodawanie, modyfikowanie, usuwanie lub wyświetlanie etykiet poufności |
Inspekcja | Wyświetlanie rekordów inspekcji. Aktualizowanie lub wyświetlanie zasad inspekcji. |
Maskowanie danych | Dodawanie, modyfikowanie, usuwanie lub wyświetlanie reguł maskowania danych |
Transparent Data Encryption | Wyświetlanie stanu lub stanu przezroczystego szyfrowania danych |
Ocena luk w zabezpieczeniach | Skanowanie ad hoc i okresowe skanowania w przypadku włączenia |
Wykonywanie zapytań dotyczących magazynu danych (wydajności) | Modyfikowanie lub wyświetlanie ustawień magazynu zapytań |
Zalecenia dotyczące wydajności | Wyświetlanie lub stosowanie zaleceń dotyczących wydajności |
Automatyczne dostrajanie | Stosowanie i weryfikacja zaleceń dotyczących automatycznego dostrajania, takich jak automatyczne indeksowanie |
Kopiowanie bazy danych | Utwórz bazę danych jako kopię. Eksportuj do pliku BACPAC. |
Synchronizacja danych SQL | Synchronizacja między bazami danych piasty i składowych, które są uruchamiane zgodnie z konfigurowalnym harmonogramem lub są wykonywane ręcznie |
Modyfikowanie niektórych metadanych bazy danych | Dodawanie nowych tagów bazy danych. Zmiana maksymalnej liczby rdzeni wirtualnych, minimalnych rdzeni wirtualnych lub opóźnienia automatycznego wstrzymywania. |
SQL Server Management Studio (SSMS) | Użycie programu SSMS w wersjach starszych niż 18.1 i otwarcie nowego okna zapytania dla dowolnej bazy danych na serwerze spowoduje wznowienie automatycznej wstrzymanej bazy danych na tym samym serwerze. To zachowanie nie występuje w przypadku korzystania z programu SSMS w wersji 18.1 lub nowszej. |
Monitorowanie, zarządzanie lub inne rozwiązania wykonujące dowolne z wymienionych powyżej operacji spowoduje wyzwolenie automatycznego wznawiania.
Automatyczne wznawianie jest również wyzwalane podczas wdrażania niektórych aktualizacji usługi, które wymagają, aby baza danych był w trybie online.
Łączność
Jeśli bezserwerowa baza danych jest wstrzymana, pierwsze logowanie spowoduje wznowienie bazy danych i zwrócenie błędu o kodzie 40613 wskazującego, że baza danych jest niedostępna. Po wznowieniu bazy danych należy ponowić próbę zalogowania, aby nawiązać połączenie. Modyfikowanie klientów baz danych z logiką ponawiania połączenia nie powinno być konieczne. Aby uzyskać opcje logiki ponawiania połączeń wbudowane w sterownik SqlClient, zobacz konfigurowanie logiki ponawiania prób w programie SqlClient.
Opóźnienie
Opóźnienie automatycznego wznawiania i automatycznego wstrzymywania bezserwerowej bazy danych jest zwykle uporządkowane w kolejności od 1 minuty do automatycznego wznawiania i 1–10 minut po wygaśnięciu okresu opóźnienia do automatycznego wstrzymania.
Zarządzane przez klienta szyfrowanie Transparent Data Encryption (BYOK)
Usuwanie lub odwoływanie kluczy
W przypadku korzystania z funkcji Transparent Data Encryption (BYOK) zarządzanego przez klienta, a bezserwerowa baza danych jest automatycznie wstrzymana po usunięciu lub odwołaniu klucza, baza danych pozostaje w stanie automatycznego wstrzymania. W takim przypadku po następnym wznowieniu bazy danych baza danych stanie się niedostępna w ciągu około 10 minut. Gdy baza danych stanie się niedostępna, proces odzyskiwania jest taki sam jak w przypadku aprowizowanych baz danych obliczeniowych. Jeśli bezserwerowa baza danych jest w trybie online w przypadku usunięcia lub odwołania klucza, baza danych stanie się również niedostępna w ciągu około 10 minut w taki sam sposób, jak w przypadku aprowizowania baz danych obliczeniowych.
Wymiana kluczy
Jeśli korzystasz z funkcji Transparent Data Encryption (BYOK) zarządzanego przez klienta , a bezserwerowa baza danych jest automatycznie wstrzymana, automatyczna rotacja kluczy zostanie odroczona do momentu automatycznego wznowienia bazy danych.
Tworzenie nowej bezserwerowej bazy danych
Utworzenie nowej bazy danych lub przeniesienie istniejącej bazy danych do bezserwerowej warstwy obliczeniowej jest zgodne z tym samym wzorcem co tworzenie nowej bazy danych w aprowizowanej warstwie obliczeniowej i obejmuje następujące dwa kroki:
Określ cel usługi. Cel usługi określa warstwę usługi, konfigurację sprzętu i maksymalne rdzenie wirtualne. Aby uzyskać informacje o opcjach celu usługi, zobacz Limity zasobów bezserwerowych
Opcjonalnie określ minimalną liczbę rdzeni wirtualnych i opóźnienie automatycznego wstrzymywania, aby zmienić ich wartości domyślne. W poniższej tabeli przedstawiono dostępne wartości dla tych parametrów.
Parametr Opcje wartości Wartość domyślna Minimalna liczba rdzeni wirtualnych Zależy od maksymalnej liczby skonfigurowanych rdzeni wirtualnych — zobacz limity zasobów. 0,5 rdzeni wirtualnych Opóźnienie autopauzu Minimum: 60 minut (1 godzina)
Maksymalna: 10080 minut (7 dni)
Przyrosty: 10 minut
Wyłącz automatyczne zapisywanie: -160 minut
W poniższych przykładach utworzono nową bazę danych w warstwie obliczeniowej bezserwerowej.
Korzystanie z witryny Azure Portal
Korzystanie z programu PowerShell
Utwórz nową bezserwerową bazę danych Ogólnego przeznaczenia przy użyciu następującego przykładu programu PowerShell:
New-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName `
-Edition GeneralPurpose -ComputeModel Serverless -ComputeGeneration Gen5 `
-MinVcore 0.5 -MaxVcore 2 -AutoPauseDelayInMinutes 720
Interfejs wiersza polecenia platformy Azure
Utwórz nową bezserwerową bazę danych Ogólnego przeznaczenia przy użyciu następującego przykładu interfejsu wiersza polecenia platformy Azure:
az sql db create -g $resourceGroupName -s $serverName -n $databaseName `
-e GeneralPurpose --compute-model Serverless -f Gen5 `
--min-capacity 0.5 -c 2 --auto-pause-delay 720
Korzystanie z języka Transact-SQL (T-SQL)
W przypadku korzystania z języka T-SQL wartości domyślne są stosowane dla minimalnych rdzeni wirtualnych i opóźnienia automatycznego użycia. Później można je zmienić z poziomu portalu lub za pomocą innych interfejsów API zarządzania (powerShell, interfejsu wiersza polecenia platformy Azure, interfejsu API REST).
Aby uzyskać szczegółowe informacje, zobacz CREATE DATABASE (TWORZENIE BAZY DANYCH).
Utwórz nową bazę danych Ogólnego przeznaczenia bezserwerową przy użyciu następującego przykładu języka T-SQL:
CREATE DATABASE testdb
( EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_S_Gen5_1' ) ;
Przenoszenie bazy danych między warstwami obliczeniowymi
Istnieje możliwość przeniesienia bazy danych z aprowizowanej warstwy obliczeniowej do warstwy obliczeniowej bezserwerowej i z powrotem.
Uwaga
Istnieje również możliwość uaktualnienia bazy danych w warstwie Ogólnego przeznaczenia do warstwy Hiperskala. Aby dowiedzieć się więcej, zobacz Zarządzanie bazami danych w warstwie Hiperskala .
Podczas przenoszenia bazy danych między warstwami obliczeniowymi podaj parametr modelu obliczeniowego jako lub Serverless
Provisioned
podczas korzystania z programu PowerShell i interfejsu wiersza polecenia platformy Azure oraz rozmiar obliczeniowy dla SERVICE_OBJECTIVE podczas korzystania z języka T-SQL. Przejrzyj limity zasobów , aby zidentyfikować odpowiedni rozmiar obliczeniowy.
W przykładach w tej sekcji pokazano, jak przenieść aprowizowaną bazę danych do bezserwerowej. Zmodyfikuj cel usługi zgodnie z potrzebami, ponieważ w tych przykładach ustawiono maksymalną liczbę rdzeni wirtualnych na 4.
Korzystanie z programu PowerShell
Przenieś aprowizowaną bazę danych obliczeniowych Ogólnego przeznaczenia do bezserwerowej warstwy obliczeniowej przy użyciu następującego przykładu programu PowerShell:
Set-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName `
-Edition GeneralPurpose -ComputeModel Serverless -ComputeGeneration Gen5 `
-MinVcore 1 -MaxVcore 4 -AutoPauseDelayInMinutes 1440
Interfejs wiersza polecenia platformy Azure
Przenieś aprowizowaną bazę danych obliczeniowych Ogólnego przeznaczenia do bezserwerowej warstwy obliczeniowej przy użyciu następującego przykładu interfejsu wiersza polecenia platformy Azure:
az sql db update -g $resourceGroupName -s $serverName -n $databaseName `
--edition GeneralPurpose --compute-model Serverless --family Gen5 `
--min-capacity 1 --capacity 4 --auto-pause-delay 1440
Korzystanie z języka Transact-SQL (T-SQL)
W przypadku korzystania z języka T-SQL wartości domyślne są stosowane dla minimalnych rdzeni wirtualnych i opóźnienia automatycznego wstrzymywania. Później można je zmienić z poziomu portalu lub za pomocą innych interfejsów API zarządzania (powerShell, interfejsu wiersza polecenia platformy Azure, interfejsu API REST). Aby uzyskać szczegółowe informacje, zobacz ALTER DATABASE.
Przenieś aprowizowaną bazę danych obliczeniowych Ogólnego przeznaczenia do bezserwerowej warstwy obliczeniowej przy użyciu następującego przykładu języka T-SQL:
ALTER DATABASE testdb
MODIFY ( SERVICE_OBJECTIVE = 'GP_S_Gen5_1') ;
Modyfikowanie konfiguracji bezserwerowej
Korzystanie z programu PowerShell
Użyj polecenia Set-AzSqlDatabase , aby zmodyfikować maksymalną lub minimalną liczbę rdzeni wirtualnych oraz opóźnienie autopauzu. MaxVcore
Użyj argumentów , MinVcore
i AutoPauseDelayInMinutes
. Automatyczne wstrzymywanie bezserwerowe nie jest obecnie obsługiwane w warstwie Hiperskala, więc argument opóźnienia automatycznego wstrzymania ma zastosowanie tylko do warstwy Ogólnego przeznaczenia.
Interfejs wiersza polecenia platformy Azure
Użyj polecenia az sql db update , aby zmodyfikować maksymalną lub minimalną liczbę rdzeni wirtualnych oraz opóźnienie autopause. capacity
Użyj argumentów , min-capacity
i auto-pause-delay
. Automatyczne wstrzymywanie bezserwerowe nie jest obecnie obsługiwane w warstwie Hiperskala, więc argument opóźnienia automatycznego wstrzymania ma zastosowanie tylko do warstwy Ogólnego przeznaczenia.
Monitorowanie
Używane i rozliczane zasoby
Zasoby bezserwerowej bazy danych są hermetyzowane przez jednostki pakietu aplikacji, wystąpienia SQL i puli zasobów użytkownika.
Pakiet aplikacji
Pakiet aplikacji jest zewnętrzną granicą zarządzania zasobami dla bazy danych, niezależnie od tego, czy baza danych znajduje się w warstwie obliczeniowej bezserwerowej, czy aprowizowanej. Pakiet aplikacji zawiera wystąpienie SQL i usługi zewnętrzne, takie jak Wyszukiwanie pełnotekstowe, które łącznie mają zakres wszystkich zasobów użytkownika i systemu używanych przez bazę danych w SQL Database. Wystąpienie SQL zazwyczaj dominuje w ogólnym wykorzystaniu zasobów w pakiecie aplikacji.
Pula zasobów użytkownika
Pula zasobów użytkownika to wewnętrzna granica zarządzania zasobami dla bazy danych, niezależnie od tego, czy baza danych znajduje się w warstwie obliczeniowej bezserwerowej, czy aprowizowanej. Pula zasobów użytkownika zakresy procesora CPU i we/wy dla obciążenia użytkownika generowanego przez zapytania DDL, takie jak CREATE i ALTER, zapytania DML, takie jak INSERT, UPDATE, DELETE i MERGE, i SELECT zapytania. Te zapytania zazwyczaj reprezentują najbardziej znaczną część wykorzystania w pakiecie aplikacji.
Metryki
Metryki monitorowania użycia zasobów pakietu aplikacji i puli zasobów użytkownika bezserwerowej bazy danych oraz wszystkich replik geograficznych są wymienione w poniższej tabeli:
Jednostka | Metric | Opis | Lekcji |
---|---|---|---|
Pakiet aplikacji | app_cpu_percent | Procent rdzeni wirtualnych używanych przez aplikację względem maksymalnej liczby rdzeni wirtualnych dozwolonych dla aplikacji. W przypadku bezserwerowej warstwy Hiperskala ta metryka jest uwidoczniona dla wszystkich replik podstawowych, nazwanych replik i replik geograficznych. | Procent |
Pakiet aplikacji | app_cpu_billed | Kwota zasobów obliczeniowych rozliczana za aplikację w okresie raportowania. Kwota zapłacona w tym okresie to produkt tej metryki i cena jednostkowa rdzeni wirtualnych. Wartości tej metryki są określane przez agregowanie w czasie maksymalnej ilości używanego procesora CPU i używanej pamięci w każdej sekundzie. Jeśli użyta kwota jest mniejsza niż minimalna ilość aprowizowana zgodnie z wartością minimalną liczby rdzeni wirtualnych i minimalną ilością pamięci, zostanie naliczona minimalna kwota aprowizowana. Aby porównać użycie procesora CPU i pamięci na potrzeby rozliczeń, pamięć jest normalizowana do jednostek rdzeni wirtualnych przez ponowne skalowanie ilości pamięci (w GB) do wartości 3 GB na rdzeń wirtualny. W przypadku bezserwerowej hiperskala ta metryka jest uwidoczniona dla repliki podstawowej i wszystkich nazwanych replik. |
Sekundy rdzeni wirtualnych |
Pakiet aplikacji | app_cpu_billed_HA_replicas | Dotyczy tylko bezserwerowej hiperskala. Suma obliczeń rozliczanych we wszystkich aplikacjach dla replik wysokiej dostępności w okresie raportowania. Ta suma jest ograniczona do replik wysokiej dostępności należących do repliki podstawowej lub replik wysokiej dostępności należących do danej nazwanej repliki. Przed obliczeniem tej sumy między replikami wysokiej dostępności ilość zasobów obliczeniowych rozliczanych dla pojedynczej repliki wysokiej dostępności jest określana w taki sam sposób jak w przypadku repliki podstawowej lub nazwanej repliki. W przypadku bezserwerowej warstwy Hiperskala ta metryka jest uwidoczniona dla wszystkich replik podstawowych, nazwanych replik i replik geograficznych. Kwota zapłacona w okresie raportowania to produkt tej metryki i cena jednostkowa rdzeni wirtualnych. | Sekundy rdzeni wirtualnych |
Pakiet aplikacji | app_memory_percent | Procent pamięci używanej przez aplikację względem maksymalnej ilości pamięci dozwolonej dla aplikacji. W przypadku bezserwerowej warstwy Hiperskala ta metryka jest uwidoczniona dla wszystkich replik podstawowych, nazwanych replik i replik geograficznych. | Procent |
Pula zasobów użytkownika | cpu_percent | Procent rdzeni wirtualnych używanych przez obciążenie użytkownika względem maksymalnej liczby rdzeni wirtualnych dozwolonych dla obciążenia użytkownika. | Procent |
Pula zasobów użytkownika | data_IO_percent | Procent liczby operacji we/wy na sekundę danych używanych przez obciążenie użytkownika względem maksymalnej liczby operacji we/wy na sekundę danych dozwolonych dla obciążenia użytkownika. | Procent |
Pula zasobów użytkownika | log_IO_percent | Procent mb/s dziennika używanych przez obciążenie użytkownika względem maksymalnej liczby mb/s dziennika dozwolonych dla obciążenia użytkownika. | Procent |
Pula zasobów użytkownika | workers_percent | Procent procesów roboczych używanych przez obciążenie użytkownika względem maksymalnej liczby procesów roboczych dozwolonych dla obciążenia użytkownika. | Procent |
Pula zasobów użytkownika | sessions_percent | Procent sesji używanych przez obciążenie użytkownika względem maksymalnej liczby sesji dozwolonych dla obciążenia użytkownika. | Procent |
Wstrzymywanie i wznawianie stanu
W Azure Portal stan bazy danych jest wyświetlany w okienku przeglądu serwera zawierającego listę baz danych, które zawiera. Stan bazy danych jest również wyświetlany w okienku przeglądu bazy danych.
Za pomocą następujących poleceń wykonaj zapytanie dotyczące wstrzymania i wznowienia stanu bazy danych:
Korzystanie z programu PowerShell
Get-AzSqlDatabase -ResourceGroupName $resourcegroupname -ServerName $servername -DatabaseName $databasename `
| Select -ExpandProperty "Status"
Interfejs wiersza polecenia platformy Azure
az sql db show --name $databasename --resource-group $resourcegroupname --server $servername --query 'status' -o json
Limity zasobów
Aby uzyskać informacje o limitach zasobów, zobacz warstwę obliczeniową bezserwerową.
Rozliczenia
Ilość zasobów obliczeniowych rozliczanych dla bezserwerowej bazy danych jest maksymalną ilością używanego procesora CPU i używanej pamięci w każdej sekundzie. Jeśli ilość używanego procesora CPU i pamięci jest mniejsza niż minimalna ilość aprowizowana dla każdego zasobu, aprowizowana kwota jest naliczana. Aby porównać procesor CPU z pamięcią do celów rozliczeniowych, pamięć jest znormalizowana do jednostek rdzeni wirtualnych przez skalowanie liczby GB o 3 GB na rdzeń wirtualny.
- Zasób rozliczany: procesor i pamięć
- Kwota rozliczana: cena jednostkowa rdzeni wirtualnych * maksymalna (minimalna liczba rdzeni wirtualnych, używane rdzenie wirtualne, minimalna ilość pamięci GB * 1/3, używana pamięć GB * 1/3)
- Częstotliwość rozliczeń: na sekundę
Cena jednostkowa rdzenia wirtualnego to koszt na rdzeń wirtualny na sekundę. W przypadku hiperskala cena jednostkowa rdzeni wirtualnych repliki wysokiej dostępności lub nazwanej repliki jest niższa niż w przypadku repliki podstawowej.
Zobacz stronę cennika usługi Azure SQL Database, aby poznać konkretne ceny jednostkowe w danym regionie.
Ilość zasobów obliczeniowych rozliczanych bezserwerowych dla bazy danych Ogólnego przeznaczenia lub podstawowej lub nazwanej repliki w warstwie Hiperskala jest uwidoczniona przez następującą metrykę:
- Metryka: app_cpu_billed (sekundy rdzeni wirtualnych)
- Definicja: maksymalna (minimalna liczba rdzeni wirtualnych, używane rdzenie wirtualne, minimalna pamięć GB * 1/3, używana pamięć GB * 1/3)
- Częstotliwość raportowania: na minutę na podstawie pomiarów na sekundę zagregowanych przez 1 minutę.
Ilość zasobów obliczeniowych rozliczanych bezserwerowych dla replik wysokiej dostępności hiperskala należących do repliki podstawowej lub dowolnej nazwanej repliki jest uwidoczniona przez następującą metryki:
- Metryka: app_cpu_billed_HA_replicas (sekundy rdzeni wirtualnych)
- Definicja: Suma maksymalnej wartości (minimalna liczba rdzeni wirtualnych, używane rdzenie wirtualne, minimalna ilość pamięci GB * 1/3, używana pamięć GB * 1/3) dla wszystkich replik wysokiej dostępności należących do zasobu nadrzędnego.
- Nadrzędny zasób i punkt końcowy metryki: replika podstawowa i dowolna nazwana replika osobno uwidacznia tę metryki, która mierzy obliczanie rozliczane dla wszystkich skojarzonych replik wysokiej dostępności.
- Częstotliwość raportowania: na minutę na podstawie pomiarów na sekundę zagregowanych przez 1 minutę.
Minimalny rachunek za obliczenia
Jeśli baza danych bezserwerowa jest wstrzymana, rachunek obliczeniowy wynosi zero. Jeśli baza danych bezserwerowa nie zostanie wstrzymana, minimalna opłata za obliczenia nie jest mniejsza niż maksymalna liczba rdzeni wirtualnych na podstawie maksymalnej (minimalna liczba rdzeni wirtualnych, minimalna ilość pamięci GB * 1/3).
Przykłady:
- Załóżmy, że bezserwerowa baza danych w warstwie Ogólnego przeznaczenia nie jest wstrzymana i skonfigurowana z maksymalną 8 rdzeniami wirtualnymi i 1 minutą rdzeni wirtualnych odpowiadającą 3,0 GB pamięci minimalnej. Następnie minimalny rachunek za obliczenia jest oparty na maksymalnej (1 rdzeniach wirtualnych, 3,0 GB * 1 rdzeni wirtualnych / 3 GB) = 1 rdzeń wirtualny.
- Załóżmy, że bezserwerowa baza danych w warstwie Ogólnego przeznaczenia nie jest wstrzymana i skonfigurowana z 4 maksymalnymi rdzeniami wirtualnymi i 0,5 minutowymi rdzeniami wirtualnymi odpowiadającymi 2,1 GB pamięci minimalnej. Następnie minimalny rachunek za obliczenia jest oparty na maksymalnej (0,5 rdzeni wirtualnych, 2,1 GB * 1 rdzeni wirtualnych / 3 GB) = 0,7 rdzeni wirtualnych.
- Załóżmy, że bezserwerowa baza danych w warstwie Hiperskala ma replikę podstawową z jedną repliką wysokiej dostępności i repliką o nazwie bez replik wysokiej dostępności. Załóżmy, że każda replika jest skonfigurowana z maksymalną 8 rdzeniami wirtualnymi i 1 minutą rdzeni wirtualnych odpowiadającą 3 GB pamięci min. Następnie minimalny rachunek obliczeniowy dla repliki podstawowej, repliki wysokiej dostępności i nazwanej repliki są oparte na maksymalnej (1 rdzeniach wirtualnych, 3 GB * 1 rdzeni wirtualnych / 3 GB) = 1 rdzeń wirtualny.
Kalkulator cen usługi Azure SQL Database dla bezserwerowych może służyć do określenia minimalnej konfigurowalnej pamięci na podstawie liczby skonfigurowanych maksymalnej i minimalnej liczby rdzeni wirtualnych. Zgodnie z regułą, jeśli minimalna skonfigurowana liczba rdzeni wirtualnych jest większa niż 0,5 rdzeni wirtualnych, minimalny rachunek obliczeniowy jest niezależny od minimalnej skonfigurowanej pamięci i oparty tylko na liczbie min rdzeni wirtualnych skonfigurowanych.
Przykłady scenariuszy
Rozważmy bezserwerową bazę danych w warstwie Ogólnego przeznaczenia skonfigurowaną z 1 minutami rdzeni wirtualnych i 4 maksymalnymi rdzeniami wirtualnymi. Ta konfiguracja odpowiada około 3 GB pamięci minimalnej i maksymalnej pamięci 12 GB. Załóżmy, że opóźnienie automatycznego wstrzymywania jest ustawione na 6 godzin, a obciążenie bazy danych jest aktywne w ciągu pierwszych 24 godzin w okresie 24-godzinnym i w inny sposób nieaktywne.
W takim przypadku baza danych jest rozliczana za zasoby obliczeniowe i magazyn w ciągu pierwszych 8 godzin. Mimo że baza danych jest nieaktywna po drugiej godzinie, nadal jest rozliczana za obliczenia w ciągu kolejnych 6 godzin na podstawie minimalnej aprowizacji obliczeniowej, gdy baza danych jest w trybie online. Opłaty za magazyn są naliczane tylko w pozostałej części okresu 24-godzinnego, gdy baza danych jest wstrzymana.
Dokładniej, rachunek obliczeniowy w tym przykładzie jest obliczany w następujący sposób:
Interwał czasu | Rdzenie wirtualne używały każdej sekundy | Każdą sekundę użyto GB | Rozliczany wymiar obliczeniowy | Rozliczane sekundy rdzeni wirtualnych w interwale czasu |
---|---|---|---|---|
0:00-1:00 | 4 | 9 | Używane rdzenie wirtualne | 4 rdzenie wirtualne * 3600 sekund = 14400 sekund wirtualnych |
1:00-2:00 | 1 | 12 | Użycie pamięci | 12 GB * 1/3 * 3600 sekund = 14400 sekund rdzeni wirtualnych |
2:00-8:00 | 0 | 0 | Minimalna aprowizowana pamięć | 3 GB * 1/3 * 21600 sekund = 21600 sekund wirtualnych |
8:00-24:00 | 0 | 0 | Nie są naliczane opłaty za zasoby obliczeniowe podczas wstrzymania | 0 sekund wirtualnych |
Łączna liczba sekund rdzeni wirtualnych rozliczanych w ciągu 24 godzin | 50400 sekund wirtualnych |
Załóżmy, że cena jednostkowa obliczeń wynosi 0,000145 USD/rdzeń wirtualny/sekundę. Następnie obliczanie rozliczane za ten 24-godzinny okres jest produktem ceny jednostki obliczeniowej i sekund wirtualnych rozliczanych: 0,000145 USD/rdzenia wirtualnego/sekundy * 50400 sekund wirtualnych ~ 7,31 USD.
Korzyść użycia hybrydowego platformy Azure i pojemność zarezerwowana
Korzyść użycia hybrydowego platformy Azure (AHB) i rabaty na pojemność zarezerwowaną nie mają zastosowania do warstwy obliczeniowej bezserwerowej.
Dostępne regiony
Bezserwerowa warstwa obliczeniowa z obsługą maksymalnie 40 rdzeni wirtualnych jest dostępna na całym świecie z wyjątkiem następujących regionów: Chiny Wschodnie, Chiny Północne, Niemcy Środkowe, Niemcy Północno-Wschodnie i US Gov Central (Iowa).
Regiony obsługujące maksymalnie 80 rdzeni wirtualnych
Obecnie maksymalna liczba rdzeni wirtualnych w trybie bezserwerowym jest obsługiwana w następujących regionach, w których zaplanowano więcej regionów: Australia Wschodnia, Australia Wschodnia, Kanada Środkowa, Środkowe stany USA, Azja Wschodnia, Wschodnie stany USA 2, Francja Środkowa, Francja Południowa, Indie Środkowe, Japonia Wschodnia, Japonia Zachodnia, Północno-środkowe stany USA, Europa Północna, Norwegia Wschodnia, Katar Środkowy, Republika Południowej Afryki, Południowo-środkowe stany USA, Szwajcaria Północna, Południowe Zjednoczone Królestwo, Zachodnie Zjednoczone Królestwo, Europa Zachodnia, Zachodnie stany USA, Zachodnie stany USA 2 i Zachodnie stany USA 3.
Regiony obsługujące strefy dostępności dla maksymalnie 80 rdzeni wirtualnych
Obecnie maksymalna liczba rdzeni wirtualnych w wersji bezserwerowej z obsługą strefy dostępności jest ograniczona do następujących regionów z zaplanowanymi większą liczbą regionów: Wschodnie stany USA, Europa Zachodnia, Zachodnie stany USA 2 i Zachodnie stany USA 3.
Następne kroki
- Aby rozpocząć pracę, zobacz Szybki start: tworzenie pojedynczej bazy danych w usłudze Azure SQL Database przy użyciu Azure Portal.
- Aby uzyskać informacje o opcjach warstw usług bezserwerowych, zobacz Ogólnego przeznaczenia i Hiperskala (wersja zapoznawcza).