Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Azure SQL Database
Bezserwerowa warstwa obliczeniowa dla pojedynczych baz danych w usłudze Azure SQL Database, która automatycznie skaluje moc obliczeniową na podstawie zapotrzebowania na obciążenie i nalicza opłaty za użycie mocy obliczeniowej 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 oraz warstwie usługi Hiperskala.
Uwaga
Automatyczne wstrzymywanie i automatyczne wznawianie są obecnie obsługiwane tylko w warstwie usługi Ogólnego przeznaczenia.
Omówienie
Zakres skalowania automatycznego obliczeń i opóźnienie automatycznego wstrzymywania są ważnymi parametrami dla bezserwerowej warstwy obliczeniowej. Konfiguracja tych parametrów wpływa na wydajność bazy danych oraz koszty przetwarzania.
Diagram wskazujący, kiedy nie będą naliczane opłaty za obliczenia w rozliczeniach bezserwerowych wskutek nieaktywności.
Konfiguracja wydajności
- Minimalne rdzenie wirtualne i maksymalne rdzenie wirtualne są konfigurowalnymi parametrami, które definiują zakres mocy obliczeniowej dostępnej dla bazy danych. Limity pamięci i wejścia/wyjścia są proporcjonalne do określonego zakresu rdzeni wirtualnych.
- Opóźnienie automatycznego wstrzymania jest konfigurowalnym parametrem, który określa okres, przez jaki baza danych musi pozostać nieaktywna, zanim zostanie automatycznie wstrzymana. Baza danych jest automatycznie wznawiana po następnym logowaniu lub innym działaniu. Alternatywnie można wyłączyć automatyczne wstrzymanie.
Koszt
Koszt bezserwerowej bazy danych to suma kosztów obliczeniowych i kosztów magazynu. Koszt magazynowania jest określany w taki sam sposób, jak w aprowizowanej warstwie obliczeniowej.
- Jeśli użycie zasobów obliczeniowych mieści się między minimalnym i maksymalnym skonfigurowanym limitem, koszt obliczeniowy jest oparty na rdzeniach wirtualnych i używanej pamięci.
- Jeśli użycie zasobów obliczeniowych jest niższe od skonfigurowanych minimalnych limitów, koszt obliczeniowy jest oparty na minimalnych rdzeniach wirtualnych i minimalnej skonfigurowanej pamięci.
- Po wstrzymaniu bazy danych koszt obliczeniowy wynosi zero i są naliczane tylko koszty magazynowania.
Aby uzyskać więcej szczegółów kosztów, sprawdź 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. Z kolei przydzielona warstwa obliczeniowa jest zoptymalizowana pod kątem cena-wydajność dla pojedynczych baz danych lub wielu baz danych w elastycznych pulach z wyższym średnim użyciem, które nie mogą sobie pozwolić na opóźnienia w rozgrzewce 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 których ustalanie rozmiaru zasobów obliczeniowych jest trudne lub nie jest możliwe do oszacowania przed wdrożeniem w usłudze Azure SQL Database.
Scenariusze odpowiednie do zapewnienia 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 dotyczących wydajności wynikających z częstszego przycinania pamięci lub opóźnień we wznawianiu działania po wstrzymaniu.
- 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 podsumowanie różnic między warstwą obliczeniową bezserwerową a aprowizowaną warstwą obliczeniową:
Bezserwerowe usługi obliczeniowe | Zarezerwowane zasoby obliczeniowe | |
---|---|---|
Wzorzec użycia bazy danych | Sporadyczne, nieprzewidywalne użycie z niższym średnim użyciem obliczeniowym w czasie. | Bardziej regularne wzorce użycia z wyższym średnim wykorzystaniem zasobów obliczeniowych w czasie lub wieloma bazami danych korzystającymi z elastycznych pul. |
Nakład pracy związany z zarządzaniem wydajnością | Obniż | Wyższa |
Skalowanie zasobów obliczeniowych | Automatyczne | Podręcznik |
Czas odpowiedzi obliczeń | Niższa po nieaktywnych okresach | Natychmiastowe |
Stopień szczegółowości rozliczeń | Na sekundę | Za 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ługiwane |
---|---|---|
Model zakupów | Rdzeń wirtualny | DTU |
Warstwa usług | Ogólne przeznaczenie Hiperskala |
Krytyczne dla działania firmy |
Sprzęt | Seria Standardowa (Gen5) | Wszystkie inne sprzęty |
Skalowanie automatyczne
Dostosowywanie reaktywności
Bezserwerowe bazy danych są uruchamiane na maszynie z wystarczającą pojemnością, aby zaspokoić zapotrzebowanie na zasoby bez przerwy dla dowolnej żądanej ilości zasobów obliczeniowych, w ramach limitów 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, równoważenie obciążenia może potrwać do kilku minut przed udostępnieniem 4 rdzeni wirtualnych. 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 odzyskiwana częściej niż w przypadku baz danych z zarezerwowaną mocą obliczeniową. To zachowanie jest ważne, aby kontrolować koszty w środowisku bezserwerowym i może wpływać na wydajność.
Odzyskiwanie pamięci podręcznej
W przeciwieństwie do zapewnionych baz danych obliczeniowych, pamięć z pamięci podręcznej SQL jest odzyskiwana z bezserwerowej bazy danych, gdy wykorzystanie CPU lub aktywnej pamięci podręcznej jest niskie.
- Wykorzystanie aktywnej pamięci podręcznej jest uznawane za niskie, gdy łączny rozmiar ostatnio używanych wpisów pamięci podręcznej spadnie poniżej progu przez pewien czas.
- Gdy zostanie uruchomione odzyskiwanie pamięci podręcznej, zamierzony rozmiar pamięci podręcznej jest stopniowo zmniejszany do ułamka poprzedniego rozmiaru, a odzyskiwanie trwa tylko wtedy, gdy użycie pozostaje niskie.
- W przypadku odzyskiwania pamięci podręcznej zasady wybierania wpisów do wykluczenia są takie same jak zasady wyboru w przypadku skonfigurowanych baz danych obliczeniowych, gdy wykorzystanie pamięci jest wysokie.
- Rozmiar pamięci podręcznej nigdy nie jest zmniejszany poniżej minimalnego limitu pamięci określonego przez minimalną liczbę rdzeni wirtualnych.
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 wcześniejszej aktywności użytkownika. Na przykład operacje usuwania i zadania związane z czyszczeniem magazynu zapytań generują rekordy widma oznaczone do usunięcia, ale nie są fizycznie usuwane, dopóki nie zostanie uruchomiony proces usuwania. Proces oczyszczania duchów może obejmować wczytywanie stron danych do pamięci podręcznej.
Wypełnianie pamięci podręcznej
Pamięć podręczna SQL rośnie, gdy dane są pobierane z dysku, w taki sam sposób i z tą samą szybkością jak dla baz danych z rezerwowaniem zasobów. 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ą dyskową
W warstwie usługi Hyperscale, zarówno dla bezserwerowych, jak i aprowizowanych warstw obliczeniowych, każda replika obliczeniowa korzysta z pamięci podręcznej RBPEX (Resilient Buffer Pool Extension), która przechowuje strony danych na lokalnym dysku SSD, aby zwiększyć wydajność operacji we/wy. Jednak w bezserwerowej warstwie obliczeniowej dla warstwy 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ększej 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 w środowisku bezserwerowym, zobacz limity zasobów w warstwie Hyperscale dla bezserwerowego.
Automatyczne wstrzymywanie i automatyczne wznawianie
Obecnie bezserwerowe automatyczne wstrzymanie i automatyczne wznawianie są obsługiwane tylko w warstwie Ogólnego przeznaczenia.
Automatyczne wstrzymywanie
Automatyczne wstrzymywanie jest wyzwalane, jeśli wszystkie następujące warunki są spełnione podczas opóźnienia automatycznego wstrzymywania:
- Liczba sesji = 0
- CPU = 0 dla obciążenia użytkownika w puli zasobów użytkownika
Dostępna jest opcja wyłączania automatycznego wstrzymowania w razie potrzeby.
Poniższe funkcje nie obsługują automatycznego wstrzymania, ale obsługują skalowanie automatyczne. Jeśli są używane dowolne z następujących funkcji, automatyczne wstrzymanie musi być wyłączone, a baza danych pozostaje w trybie online niezależnie od czasu braku aktywności bazy danych:
- pl-PL: Replikacja geograficzna (aktywna replikacja geograficzna i grupy przełączania awaryjnego).
- Długoterminowe przechowywanie kopii zapasowych (LTR).
- Baza danych synchronizacji używana w usłudze SQL Data Sync. W przeciwieństwie do baz danych synchronizacji, bazy danych centralne i składowe obsługują automatyczne wstrzymywanie.
- DNS alias utworzony dla serwera logicznego zawierającego bazę danych bezserwerową.
- Elastyczne Zadania, baza danych bezserwerowa z włączoną funkcją automatycznego wstrzymywania nie jest obsługiwana jako Baza Danych Zadań. Bezserwerowe bazy danych objęte zadaniami elastycznymi obsługują automatyczne wstrzymanie. Połączenia związane z pracą wznawiają działanie bazy danych.
Automatyczne wstrzymanie jest tymczasowo blokowane podczas wdrażania niektórych aktualizacji usługi, które wymagają, aby baza danych była dostępna online. W takich przypadkach automatyczne wstrzymanie staje się ponownie dozwolone po zakończeniu aktualizacji usługi.
Rozwiązywanie problemów z automatycznym zatrzymywaniem
Jeśli automatyczne wstrzymywanie jest włączone, a funkcje blokujące automatyczne wstrzymywanie nie są używane, ale baza danych nie jest automatycznie wstrzymywana po okresie opóźnienia, to 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'
);
Napiwek
Po uruchomieniu zapytania upewnij się, że odłącz się od bazy danych. W przeciwnym razie otwarta sesja używana przez zapytanie uniemożliwia automatyczne wstrzymywanie.
- Jeśli zestaw wyników nie jest pusty, oznacza to, że są sesje uniemożliwiające 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ć działanie w okresie opóźnienia, możesz użyć usługi Inspekcja dla usług Azure SQL Database i Azure Synapse Analytics i zbadać dane inspekcji dla odpowiedniego okresu.
Ważne
Obecność otwartych sesji, z lub bez współbieżnego wykorzystania CPU w użytkownikowej puli zasobów, to najczęstszy powód, dla którego bezserwerowa baza danych nie auto-pauzuje się zgodnie z oczekiwaniami.
Automatyczne wznawianie
Automatyczne wznawianie jest wyzwalane, jeśli którykolwiek z następujących warunków jest spełniony w dowolnym momencie:
Funkcja | 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. |
Odnajdywanie 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 |
Przejrzyste szyfrowanie danych | Wyświetlanie stanu lub statusu przezroczystego szyfrowania danych |
Ocena luk w zabezpieczeniach | Skanowanie inicjowane ręcznie i okresowe skanowania, jeśli jest włączone |
Zapytywanie składnicy danych dotyczących 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 serwera centralnego i członkowskimi, które działają 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, minimalnej liczby rdzeni wirtualnych lub opóźnienia automatycznego wstrzymywania. |
SQL Server Management Studio (SSMS) | W przypadku korzystania z programu SSMS w wersjach starszych niż 18.1 i otwierania nowego okna zapytania dla dowolnej bazy danych na serwerze zostanie wznowiona każda automatycznie wstrzymana baza 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 tych operacji wyzwalają automatyczne wznawianie. Automatyczne wznawianie jest również wyzwalane podczas wdrażania niektórych aktualizacji usługi, które wymagają obecności bazy danych online.
Łączność
Jeśli baza danych bezserwerowa jest wstrzymana, pierwsza próba połączenia wznawia bazę danych i zwraca błąd informujący, że baza danych jest niedostępna z kodem błędu 40613. Po wznowieniu bazy danych spróbuj ponownie zalogować się, aby nawiązać łączność. Klienci bazy danych zgodni z zaleceniami dotyczącymi logiki ponownego nawiązywania połączenia nie powinni wymagać modyfikacji. Aby uzyskać opcje logiki ponawiania prób połączenia i zalecenia, zobacz:
- Logika ponawiania prób połączenia w SqlClient
- Logika ponawiania prób połączenia w usłudze SQL Database przy użyciu platformy Entity Framework Core
- Logika ponawiania prób połączenia w bazie danych SQL przy użyciu programu Entity Framework 6
- Logika ponawiania prób połączenia w usłudze SQL Database przy użyciu ADO.NET
Opóźnienie
Czas opóźnienia dla automatycznego wznawiania bezserwerowej bazy danych wynosi zazwyczaj około 1 minuty, natomiast dla automatycznego wstrzymania zazwyczaj od 1 do 10 minut po wygaśnięciu okresu opóźnienia.
Zarządzane przez klienta przezroczyste szyfrowanie danych (BYOK)
Usuwanie lub odwoływanie klucza
W przypadku korzystania z przez klienta zarządzanej funkcji transparentnego szyfrowania danych (BYOK) i automatycznego wstrzymania bezserwerowej bazy danych, gdy następuje usunięcie lub odwołanie 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 online w momencie usunięcia lub odwołania klucza, to baza danych stanie się również niedostępna w ciągu około 10 minut w ten sam sposób, jak to ma miejsce w przypadku aprowizowanych baz danych obliczeniowych.
Rotacja kluczy
W przypadku korzystania z zarządzanego przez klienta przezroczystego szyfrowania danych (BYOK), a automatyczne wstrzymanie bezserwerowe jest włączone, baza danych jest automatycznie wznawiana za każdym razem, gdy klucze są obracane. Baza danych zostanie automatycznie wstrzymana po spełnieniu warunków automatycznego wstrzymywania.
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 utworzenie 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 maksymalną liczbę rdzeni wirtualnych. 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 tych parametrów.
Parametr Opcje wartości Domyślna wartość Minimalna liczba wirtualnych rdzeni Zależy od maksymalnej liczby skonfigurowanych rdzeni wirtualnych — zobacz limity zasobów. 0,5 vCores Opóźnienie automatycznego wstrzymywania Minimum: 15 minut
Maksimum: 10 080 minut (siedem dni)
Przyrosty: 1 minuta
Wyłącz automatyczne wstrzymanie: -160 min
W poniższych przykładach utworzono nową bazę danych w bezserwerowej warstwie obliczeniowej.
Korzystanie z witryny Azure Portal
Zobacz Szybki start tworzenia pojedynczej bazy danych w usłudze Azure SQL Database przy użyciu Portalu Azure.
Użyj PowerShell
- Ogólne przeznaczenie
- Hiperskala
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
Azure CLI
- Ogólne przeznaczenie
- Hiperskala
Utwórz nową bazę danych ogólnego przeznaczenia bezserwerową 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 tworzenia nowej bezserwerowej bazy danych przy użyciu języka T-SQL wartości domyślne są stosowane dla minimalnych rdzeni wirtualnych i opóźnienia automatycznego wstrzymania. Ich wartości można później zmienić z witryny Azure Portal lub za pośrednictwem interfejsu API, w tym programu PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu REST.
Aby uzyskać szczegółowe informacje, zobacz CREATE DATABASE.
- Ogólne przeznaczenie
- Hiperskala
Utwórz nową bazę danych bezserwerowej ogólnego przeznaczenia 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 lub warstwami usług
Bazę danych można przenosić między aprowizowaną warstwą obliczeniową i bezserwerową warstwą obliczeniową.
Bazę danych bezserwerową można również przenieść z warstwy usługi Ogólnego przeznaczenia do warstwy usługi Hiperskala. Aby uzyskać więcej informacji, zobacz Konwertowanie istniejącej bazy danych na Hiperskalę.
Podczas przenoszenia bazy danych między warstwami obliczeniowymi, określ parametr modelu obliczeniowego jako lub Serverless
, kiedy używasz PowerShell lub Azure CLI, albo jako Provisioned
, kiedy używasz T-SQL. Przejrzyj limity zasobów, aby zidentyfikować odpowiedni cel usługi.
W poniższych przykładach przeniesiono istniejącą bazę danych z aprowizowanego środowiska obliczeniowego do bezserwerowego.
Użyj PowerShell
- Ogólne przeznaczenie
- Hiperskala
Przenieś aprowizowaną bazę danych ogólnego przeznaczenia zasobów obliczeniowych do warstwy obliczeniowej bezserwerowej 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
Azure CLI
- Ogólne przeznaczenie
- Hiperskala
Przenieś aprowizowaną bazę danych ogólnego przeznaczenia obliczeniowej do warstwy obliczeniowej bezserwerowej 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 przenoszenia bazy danych między warstwami obliczeniowymi przy użyciu języka T-SQL wartości domyślne są stosowane dla minimalnych rdzeni wirtualnych i opóźnienia automatycznego wstrzymania. Ich wartości można następnie zmienić z witryny Azure Portal lub za pośrednictwem interfejsu API, w tym programu PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu REST. Aby uzyskać więcej informacji, zobacz sekcję ALTER DATABASE.
- Ogólne przeznaczenie
- Hiperskala
Przenieś aprowizowaną bazę danych ogólnego przeznaczenia obliczeniowej 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
Użyj PowerShell
Użyj Set-AzSqlDatabase, aby zmodyfikować maksymalną lub minimalną liczbę rdzeni wirtualnych oraz opóźnienie automatycznego wstrzymania. Użyj argumentów MaxVcore
, 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.
Azure CLI
Użyj az sql db update, aby zmodyfikować maksymalną lub minimalną liczbę vCores oraz opóźnienie automatycznego wstrzymania. Użyj argumentów capacity
, 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.
Monitor
Używane i rozliczane zasoby
Zasoby bezserwerowej bazy danych obejmują pakiet aplikacyjny, wystąpienia SQL i zasoby puli użytkowników.
Pakiet aplikacji
Pakiet aplikacji to zewnętrzna granica 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 zawierają zakres wszystkich zasobów użytkownika i systemu używanych przez bazę danych w usłudze SQL Database. Wystąpienie SQL zazwyczaj dominuje w zakresie ogólnego wykorzystania zasobów przez pakiet 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 określa zakresy procesora CPU i operacji we/wy dla obciążenia użytkownika generowanego przez zapytania DDL (CREATE i ALTER) oraz DML (INSERT, UPDATE, DELETE i MERGE oraz SELECT). Te zapytania zazwyczaj stanowią najbardziej znaczną część wykorzystania w pakiecie aplikacji.
Metryki
Poniższa tabela zawiera metryki monitorowania użycia zasobów pakietu aplikacji i puli zasobów użytkownika bezserwerowej bazy danych, w tym wszystkich replik geograficznych:
Encja | Metryczne | opis | Jednostki |
---|---|---|---|
Pakiet aplikacji | procent użycia CPU aplikacji | Procent rdzeni wirtualnych używanych przez aplikację względem maksymalnej liczby rdzeni wirtualnych dozwolonych dla aplikacji. W przypadku bezserwerowej Hiperskali ta metryka jest udostępniana dla wszystkich replik podstawowych, nazwanych replik i replik geograficznych. | Procent |
Pakiet aplikacji | rozliczana moc obliczeniowa aplikacji | Ilość zasobów obliczeniowych rozliczanych za aplikację w okresie raportowania. Kwota zapłacona w tym okresie jest wynikiem tej metryki i ceny za jednostkę rdzenia wirtualnego. Wartości tej metryki są określane przez agregowanie maksymalnego użycia CPU oraz używanej pamięci każdą sekundę. Jeśli użyta ilość zasobów jest mniejsza niż minimalna ilość przydzielona zgodnie z minimalną liczbą rdzeni wirtualnych i minimalną ilością pamięci, do opłacenia zostanie naliczona minimalna ilość zasobów przydzielonych. Aby porównać procesor CPU z pamięcią dla celów rozliczeniowych, pamięć jest normalizowana do jednostek rdzeni wirtualnych poprzez przeskalowanie ilości pamięci (w GB) na 3 GB na rdzeń wirtualny. W przypadku bezserwerowej warstwy Hiperskala ta metryka jest uwidoczniona dla repliki podstawowej i wszystkich nazwanych replik. |
Sekundy rdzeni wirtualnych |
Pakiet aplikacji | aplikacja_procesor_rozliczane_HA_repliki | Dotyczy tylko bezserwerowego hiperskalowania. Suma rozliczonych obliczeń we wszystkich aplikacjach dla replik HA 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 określonej nazwanej repliki. Przed obliczeniem tej sumy w replikach HA ilość zasobów obliczeniowych rozliczana dla pojedynczej repliki HA jest określana w taki sam sposób jak w przypadku repliki podstawowej lub nazwanej repliki. W przypadku bezserwerowej Hiperskali ta metryka jest udostępniana dla wszystkich replik podstawowych, nazwanych replik i replik geograficznych. Kwota zapłacona w okresie raportowania jest produktem tej metryki i ceny jednostkowej rdzeni wirtualnych (vCore). | Sekundy vCore |
Pakiet aplikacji | procent_pamięci_aplikacji | Procent pamięci używanej przez aplikację względem maksymalnej ilości pamięci dozwolonej dla aplikacji. W przypadku bezserwerowej Hiperskali ta metryka jest udostępniana dla wszystkich replik podstawowych, nazwanych replik i replik geograficznych. | Procent |
Pula zasobów użytkownika | procent_procesora | 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 | procent_IO_danych | Procent operacji we/wy na sekundę danych używanych przez obciążenie użytkownika w stosunku do maksymalnej liczby operacji we/wy na sekundę dozwolonych dla obciążenia użytkownika. | Procent |
Pula zasobów użytkownika | procent_dziennika_IO | 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 | procent pracowników | Procent pracowników używanych przez obciążenie użytkownika względem maksymalnej liczby pracowników dozwolonych dla obciążenia użytkownika. | Procent |
Pula zasobów użytkownika | procent sesji | 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 przypadku bezserwerowej bazy danych z włączonym automatycznym wstrzymywaniem, status, który zgłasza, obejmuje następujące wartości:
Stan | opis |
---|---|
Online | Baza danych jest w trybie online. |
Wstrzymywanie | Baza danych przechodzi z trybu online na wstrzymanie. |
Wstrzymana | Baza danych jest wstrzymana. |
Wznawianie | Baza danych przechodzi z wstrzymania do trybu online. |
Korzystanie z witryny Azure Portal
W witrynie Azure Portal stan bazy danych jest wyświetlany na stronie przeglądu bazy danych i na stronie przeglądu jej serwera. Ponadto na portalu Azure można wyświetlić historię wstrzymywania i wznawiania zdarzeń bezserwerowej bazy danych w dzienniku aktywności.
Użyj PowerShell
Wyświetl bieżący stan bazy danych, korzystając z następującego przykładu programu PowerShell:
Get-AzSqlDatabase -ResourceGroupName $resourcegroupname -ServerName $servername -DatabaseName $databasename `
| Select -ExpandProperty "Status"
Azure CLI
Wyświetl bieżący stan bazy danych przy użyciu następującego przykładu interfejsu 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 warstwa obliczeniowa bezserwerowa.
Rozliczenia
Ilość zasobów obliczeniowych rozliczanych za bezserwerową bazę danych jest maksymalną ilością używanego procesora CPU i pamięci używanej w każdej sekundzie. Jeśli ilość używanego procesora CPU i pamięci jest mniejsza niż minimalna ilość aprowizowana dla każdego zasobu, zostanie naliczona aprowizowana kwota. Aby porównać procesor CPU z pamięcią na potrzeby rozliczeń, pamięć jest znormalizowana do jednostek rdzeni wirtualnych przez ponowne skalowanie liczby GB o 3 GB na rdzeń wirtualny.
- Zasób rozliczany: procesor i pamięć
- Kwota naliczana: cena jednostkowa rdzeni wirtualnych * maksymalna (minimalna liczba rdzeni wirtualnych, używane rdzenie wirtualne, minimalna pamięć GB * 1/3, używana pamięć GB * 1/3)
- Częstotliwość rozliczeń: na sekundę
Cena jednostkowa rdzenia wirtualnego jest to koszt rdzenia wirtualnego na sekundę.
Odwiedź stronę cenową usługi Azure SQL Database, aby poznać konkretne ceny jednostkowe w danym regionie.
Ilość zasobów obliczeniowych rozliczanych w trybie bezserwerowym dla bazy danych ogólnego przeznaczenia, podstawowej lub nazwanej repliki w warstwie Hiperskala, jest ujawniana przez następującą metrykę:
- Metryka: app_cpu_billed (sekundy wirtualnych rdzeni)
- Definicja: maksymalna (minimalna liczba rdzeni wirtualnych, używane rdzenie wirtualne, minimalna pamięć GB * 1/3, używana pamięć GB * 1/3)
- Częstotliwość raportowania: co minutę na podstawie pomiarów co sekundę zagregowanych w ciągu 1 minuty.
Liczba zasobów obliczeniowych naliczonych w architekturze serwerless dla replik HA (wysoka dostępność) w warstwie Hiperskala, należących do repliki podstawowej lub dowolnej nazwanej repliki, zostaje uwidoczniona w poniższej metryce.
- Metryka: app_cpu_billed_HA_replicas (sekundy vCore)
- Definicja: Maksymalna suma (minimalna liczba rdzeni wirtualnych, używanych rdzeni wirtualnych, minimalna ilość pamięci GB * 1/3, używana pamięć GB * 1/3) dla dowolnej repliki wysokiej dostępności należącej do ich zasobu nadrzędnego.
“Nadrzędny zasób i punkt końcowy” metryki: Podstawowa replika i każda nazwana replika oddzielnie uwidaczniają tę metrykę, która mierzy obliczoną wartość rozliczaną za wszystkie skojarzone repliki o wysokiej dostępności. - Częstotliwość raportowania: co minutę na podstawie pomiarów co sekundę zagregowanych w ciągu 1 minuty.
Minimalny rachunek obliczeniowy
Jeśli bezserwerowa baza danych jest wstrzymana, rachunek obliczeniowy wynosi zero. Jeśli baza danych bezserwerowa nie jest wstrzymana, minimalny rachunek za obliczenia nie jest mniejszy niż maksymalna liczba rdzeni wirtualnych (minimalna liczba rdzeni wirtualnych, minimalna ilość pamięci GB * 1/3).
Przykłady:
- Załóżmy, że baza danych bezserwerowa w warstwie Ogólnego Przeznaczenia nie jest wstrzymana i jest skonfigurowana z maksymalnie 8 vCore'ami i minimalnie 1 vCore'em, co odpowiada minimalnej pamięci 3,0 GB. Następnie minimalna opłata za przetwarzanie jest oparta na wartości maksymalnej (1 rdzeń wirtualny, 3,0 GB * 1 rdzeń wirtualny / 3 GB), co daje 1 rdzeń wirtualny.
- Załóżmy, że bezserwerowa baza danych w warstwie do ogólnego użytku nie jest wstrzymana i jest skonfigurowana z maksymalnie 4 wirtualnymi rdzeniami oraz minimalnie 0,5 wirtualnego rdzenia, co odpowiada minimalnej pamięci 2,1 GB. Następnie minimalny rachunek za obliczenia jest obliczany na podstawie maksymalnej wartości (0,5 rdzeni wirtualnych, 2,1 GB * 1 rdzeń wirtualny / 3 GB) = 0,7 rdzeni wirtualnych.
- Załóżmy, że bezserwerowa baza danych w warstwie Hiperskala ma replikę podstawową z jedną repliką HA i replikę nazwową bez replik HA. Załóżmy, że każda replika jest skonfigurowana z maksymalnie 8 rdzeniami wirtualnymi i minimum 1 rdzeniem wirtualnym, co odpowiada 3 GB minimalnej pamięci. Minimalny koszt obliczeń dla repliki podstawowej, repliki wysokiej dostępności i nazwanej repliki jest oparty na maksymalnej (1 vCore, 3 GB * 1 vCore / 3 GB) = 1 vCore.
Kalkulator cen usługi Azure SQL Database dla trybu bezserwerowego można użyć do określenia minimalnej konfigurowalnej ilości pamięci na podstawie skonfigurowanej liczby maksymalnych i minimalnych rdzeni wirtualnych. Zgodnie z regułą, jeśli minimalna skonfigurowana liczba rdzeni wirtualnych jest większa niż 0,5 rdzeni wirtualnych, minimalny rachunek za obliczenia jest niezależny od minimalnej skonfigurowanej pamięci i tylko na podstawie liczby skonfigurowanych minimalnych rdzeni wirtualnych.
Przykłady scenariuszy
- Ogólne przeznaczenie
- Hiperskala
Rozważmy bezserwerową bazę danych na poziomie ogólnego przeznaczenia skonfigurowaną z co najmniej 1 rdzeniem wirtualnym i 4 maksymalnymi rdzeniami wirtualnymi. Ta konfiguracja odpowiada około 3 GB minimalnej pamięci i maksymalnej pamięci 12 GB. Załóżmy, że opóźnienie automatycznego wstrzymania jest ustawione na 6 godzin, a obciążenie bazy danych jest aktywne w ciągu pierwszych 2 godzin okresu 24-godzinnego, a w pozostałym czasie 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 aprowizowanej mocy 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 za obliczenia w tym przykładzie jest obliczany w następujący sposób:
Przedział czasu | Liczba rdzeni wirtualnych używanych na sekundę | GB jest zużywane każda sekunda | Rozliczany wymiar obliczeniowy | Rozliczane sekundy rdzeni wirtualnych w przedziale czasowym |
---|---|---|---|---|
0:00-1:00 | 4 | 9 | Używane rdzenie wirtualne | 4 vCores * 3 600 sekund = 14 400 vCore sekund |
1:00-2:00 | 1 | 12 | Użycie pamięci | 12 GB * 1/3 * 3600 sekund = 14 400 sekund wirtualnych rdzeni |
2:00-8:00 | 0 | 0 | Minimalna przydzielona pamięć | 3 GB * 1/3 * 21 600 sekund = 21 600 vCore sekund |
8:00-24:00 | 0 | 0 | Nie są naliczane opłaty za zasoby obliczeniowe podczas wstrzymania | 0 sekund vCore |
Łączna liczba sekund rdzeni wirtualnych rozliczonych w ciągu 24 godzin | 50 400 sekund vCore |
Załóżmy, że cena jednostkowa obliczeń wynosi $0.000145/vCore/second. Następnie opłata za obliczenia za ten 24-godzinny okres jest iloczynem ceny jednostkowej za obliczenia i naliczonych sekund rdzeni wirtualnych: $0.000145/vCore/sekunda * 50 400 sekund rdzeni wirtualnych ~ $7.31.
Korzyści hybrydowe platformy Azure oraz rezerwacje
Korzyści użycia hybrydowego platformy Azure (AHB) i rabaty na rezerwacje platformy Azure nie mają zastosowania do bezserwerowej warstwy obliczeniowej.
Dostępne regiony
Aby uzyskać dostępność regionalną, zobacz dostępność bezserwerowa według regionu dla usługi Azure SQL Database.
Powiązana zawartość
- Aby rozpocząć, zobacz Szybki Start: Tworzenie pojedynczej bazy danych - Azure SQL Database.
- Aby zapoznać się z opcjami warstwy usług bezserwerowych, zobacz Ogólnego przeznaczenia i Hiperskala.