Automatyczna bezzmienność kopii zapasowej dla Azure SQL Database oraz Azure SQL Managed Instance

Azure SQL Database i Azure SQL Managed Instance chronią automatyczne kopie zapasowe przywracania do punktu w czasie (PITR) dzięki niezmienności. niezmienne kopie zapasowe nie mogą być modyfikowane ani usuwane w okresie niezmienności, co pomaga chronić punkty odzyskiwania przed przypadkowym usunięciem, złośliwą aktywnością i przejętymi poświadczeniami administratora.

Istnieją dwa poziomy ochrony:

  • Domyślna niezmienność [Ogólnie dostępna]: Usługa automatycznie chroni do siedmiu ostatnich dni kopii zapasowych PITR. Nie jest wymagana żadna konfiguracja, a domyślna ochrona jest dostępna bez dodatkowych kosztów.
  • Zablokowana niezmienność zgodna z retencją PITR [Podgląd]: Możesz opcjonalnie powiązać blokadę niezmienności ze skonfigurowanym w bazie danych okresem retencji kopii zapasowych PITR. Ta funkcja rozszerza niezmienność na cały skonfigurowany okres retencji, w tym okresy retencyjne dłuższe niż siedem dni.

Note

Aby zapoznać się z przepisami prawnymi dotyczącymi funkcji Azure będących w fazie beta, wersji podglądowej lub w inny sposób jeszcze nieudostępnionych ogólnie, zobacz dodatkowe warunki użytkowania. Azure SQL Database udostępnia wersje zapoznawcze umożliwiające ocenę i udostępnianie opinii zespołowi produktu na temat funkcji, zanim staną się ogólnie dostępne.

Obie funkcje są zintegrowane z zarządzaną usługą backup. Nie musisz tworzyć konta pamięci ani zarządzać politykami niezmienności Azure Storage.

Ważna

Po zablokowaniu niezmienność jest trwała. Po włączeniu blokady nie możesz jej wyłączyć ani skrócić skonfigurowanego okresu retencji PITR. Możesz wydłużyć okres przechowywania tylko w granicach gwarantowanych przez twoją bazę danych.

Blokada nie zapobiega usuwaniu bazy danych. Jeśli usuniesz bazę danych, niezmienność nadal chroni jej zachowane kopie zapasowe przez odpowiedni skonfigurowany okres. Niezmienność kopii zapasowej to nie blokada usuwania zasobów.

Porównaj opcje ochrony

Retencja PITR określa, jak długo przechowywane są kopie zapasowe dla przywracania do punktu w czasie. Niezmienialność decyduje, jak długo te kopie zapasowe są chronione przed modyfikacją lub usunięciem. Opcjonalny zamek dopasowuje te dwa zabezpieczenia.

Charakterystyka Domyślna niezmienność Zablokowana niezmienność zgodna z retencją PITR
Włączenie Automatycznie; nie jest wymagana żadna konfiguracja Opcjonalnie; włącz dla tej bazy danych
Okres niezmienności Do maksymalnie ostatnich siedmiu dni kopii zapasowych PITR Skonfigurowany okres przechowywania kopii zapasowej PITR
Zatrzymanie przez okres dłuższy niż siedem dni Samo skonfigurowanie dłuższego okresu retencji PITR nie rozszerza domyślnej niezmienności na cały okres retencji Niezmienność obejmuje cały skonfigurowany okres retencji PITR
Zmiany w retencji PITR Obowiązują istniejące reguły konfiguracji retencji Retencję można tylko zwiększać, a nie zmniejszać
Wyłącz opcjonalną blokadę Nie dotyczy Nie jest dozwolone po włączeniu blokady
Usuwanie bazy danych Nie zapobiega usuwaniu bazy danych Nie zapobiega usuwaniu bazy danych; zachowane kopie zapasowe pozostają chronione przez okres niezmienności

Ten artykuł opisuje niezmienialność kopii zapasowych PITR, które wykorzystują krótkoterminową politykę retencyjną. Blokada niezmienności PITR nie konfiguruje retencji długoterminowej (LTR). Informacje o niezmienności kopii zapasowych LTR w Azure SQL Database znajdziesz w artykule Niezmienność kopii zapasowych przechowywanych długoterminowo.

Domyślna bezzmienność kopii zapasowej PITR

W przypadku obsługiwanych baz danych usługa Azure SQL automatycznie stosuje ochronę niezmienności do kopii zapasowych PITR z ostatnich siedmiu dni. Nie musisz włączać ustawienia, konfigurować polityki ani blokować retencji, aby otrzymać tę ochronę.

Domyślna niezmienność nie zmienia skonfigurowanego okresu retencji PITR ani nie tworzy dodatkowej historii przywracania. Na przykład samo skonfigurowanie 35 dni retencji PITR nie czyni wszystkich 35 dni niezmiennymi. Bez opcjonalnej blokady domyślna niezmienność zapewnia ochronę dla ostatnich siedmiu dni.

Istniejące procesy tworzenia kopii zapasowych i przywracania nadal działają. Aby rozszerzyć niezmienność na pełny skonfigurowany okres retencji, włącz opcjonalną blokadę.

Zablokuj niezmienność na okres retencji PITR

Włącz niezmienność blokady na skonfigurowany okres retencji kopii zapasowych PITR, gdy potrzebujesz, aby niezmienność odpowiadała skonfigurowanemu okresowi retencji PITR. Ta opcja jest szczególnie przydatna, gdy Twój okres retencji trwa dłużej niż siedem dni.

Na przykład, jeśli skonfigurujesz 35 dni retencji PITR i włączysz blokadę, niezmienność pokrywa się z 35-dniowym okresem retencyjnym, a nie tylko z domyślnym okresem do siedmiu dni.

Po włączeniu zamka:

  • Blokada pozostaje włączona na stałe.
  • Nie da się zmniejszyć retencji PITR, nawet przez portal, Azure CLI czy PowerShell.
  • Możesz zwiększyć retencję PITR do maksymalnego poziomu obsługiwanego dla Twojej bazy danych. Blokada obejmuje wtedy dłuższy okres retencji i nie da się później skrócić tego okresu.
  • Wciąż możesz usunąć bazę danych. Usunięcie tego nie usuwa ochrony przed niezmiennością z zachowanych kopii zapasowych.

Na przykład po zablokowaniu 14-dniowego okresu retencji PITR możesz go wydłużyć do 35 dni. Nie możesz go skrócić do siedmiu dni ani ustawić z powrotem na 14 dni po zwiększeniu do 35 dni.

Note

Zwiększenie retencji PITR nie odtwarza kopii zapasowych, które już wygasły, ani nie zapewnia od razu starszych punktów przywracania. Dostępna historia przywracania rośnie z czasem, gdy usługa dłużej przechowuje kopie zapasowe.

Plan przed włączeniem blokady

Zanim włączysz blokadę niezmienności:

  • Wybierz okres przechowywania PITR, który spełnia Twoje wymagania dotyczące odzyskiwania, zarządzania i przechowywania danych.
  • Upewnij się, że możesz przechowywać kopie zapasowe przez ten okres bez konieczności skracania go później.
  • Przeanalizuj odpowiednie koszty przechowywania kopii zapasowych. Domyślna niezmienność jest dostępna bez dodatkowych opłat; okres przechowywania kopii zapasowych i magazynowanie nadal podlegają odpowiednim cenom usług.
  • Potwierdź, że Twoja warstwa usługi oraz, w przypadku SQL Managed Instance, polityka aktualizacji obsługują niezmienność kopii zapasowych. Zobacz Ograniczenia.
  • Użyj konta z uprawnieniami, aby zaktualizować politykę krótkoterminowego przechowywania kopii zapasowych bazy danych.

Poniższe przykłady ustawiają retencję PITR na 35 dni i trwale włączają blokadę. Zastąpić przykładowe nazwy zasobów i wybrać wspierany okres retencji przed uruchomieniem polecenia. Aby zablokować aktualny okres przechowywania bez jego wydłużania, podaj zamiast tego istniejącą wartość okresu przechowywania bazy danych.

Włącz niezmienność z blokadą

Wybierz portal Azure, Azure CLI lub Azure PowerShell. To ustawienie dotyczy polityki retencji kopii zapasowych PITR wybranej bazy danych.

Warning

Zapisanie konfiguracji portalu lub uruchomienie polecenia włączania trwale blokuje niezmienność na skonfigurowany okres retencji PITR. Nie ma żadnej operacji odblokowania. Nie włączaj tego ustawienia jako tymczasowego testu w bazie danych, której retencję możesz potrzebować ograniczyć.

Azure Portal

Azure SQL Database

  1. W portalu Azure otwórz logiczny serwer SQL, który zawiera bazę danych.
  2. Wybierz Kopie zapasowe, a następnie Zasady przechowywania.
  3. Wybierz bazę danych, której retencję kopii PITR chcesz zablokować.
  4. Wybierz Konfiguruj zasady.
  5. W sekcji Przywracanie w czasie ustaw liczbę dni na zachowanie kopii PITR, na przykład 35.
  6. Wybierz Zablokuj niezmienność na skonfigurowany okres przechowywania kopii zapasowej PITR.
  7. Zapoznaj się z ostrzeżeniem, że po zablokowaniu dozwolone są tylko przedłużenia retencji PITR.
  8. Zastosuj zmiany i potwierdź trwałą blokadę, jeśli o to poproszono.

Azure SQL Managed Instance

  1. W portalu Azure otwórz zarządzaną instancję, która zawiera bazę danych.
  2. Wybierz Kopie zapasowe, a następnie Zasady przechowywania.
  3. Wybierz bazę danych, której retencję kopii PITR chcesz zablokować.
  4. Wybierz Konfiguruj zasady.
  5. W sekcji Przywracanie w czasie ustaw okres przechowywania kopii zapasowej PITR, na przykład 35 dni.
  6. Wybierz Zablokuj niezmienność na skonfigurowany okres przechowywania kopii zapasowej PITR.
  7. Sprawdź ostrzeżenie, że ustawienie jest trwałe i można tylko zwiększyć retencję.
  8. Zastosuj zmiany i potwierdź trwałą blokadę, jeśli o to poproszono.

Azure CLI

Użyj wersji Azure CLI, która obsługuje --lock-immutability. Zaloguj się i wybierz subskrypcję zawierającą Twoją bazę danych przed uruchomieniem tych poleceń. Przykłady wykorzystują polecenia jednoliniowe, dzięki czemu nie są wymagane znaki kontynuacji linii specyficzne dla powłoki.

Azure SQL Database

Ustaw retencję PITR na 35 dni i włącz blokadę:

az sql db str-policy set --resource-group "myResourceGroup" --server "mySqlServer" --name "myDatabase" --retention-days 35 --lock-immutability true

Azure SQL Managed Instance

Ustaw retencję PITR na 35 dni i włącz blokadę:

az sql midb short-term-retention-policy set --resource-group "myResourceGroup" --mi "myManagedInstance" --name "myDatabase" --retention-days 35 --lock-immutability true

Ta wartość true umożliwia trwałą blokadę. Chociaż parametr akceptuje wartość logiczną, określenie false nie jest operacją odblokowania i nie może cofnąć włączonej blokady.

Azure PowerShell

Użyj wersji modułu Az.Sql , która obsługuje -LockImmutability. Połącz się z Azure i wybierz subskrypcję, która zawiera twoją bazę danych, zanim wykonasz te polecenia.

Azure SQL Database

Ustaw retencję PITR na 35 dni i włącz blokadę:

Set-AzSqlDatabaseBackupShortTermRetentionPolicy `
    -ResourceGroupName "myResourceGroup" `
    -ServerName "mySqlServer" `
    -DatabaseName "myDatabase" `
    -RetentionDays 35 `
    -LockImmutability $true

Azure SQL Managed Instance

Ustaw retencję PITR na 35 dni i włącz blokadę:

Set-AzSqlInstanceDatabaseBackupShortTermRetentionPolicy `
    -ResourceGroupName "myResourceGroup" `
    -InstanceName "myManagedInstance" `
    -DatabaseName "myDatabase" `
    -RetentionDays 35 `
    -LockImmutability $true

Ta wartość $true umożliwia trwałą blokadę. Podanie $false nie może cofnąć włączonej blokady.

Sprawdzanie konfiguracji

Po wprowadzeniu zmiany otwórz Backups>Zasady przechowywania w portalu Azure, wybierz bazę danych i sprawdź skonfigurowany okres przechowywania PITR oraz blokadę niezmienności w Configure policies.

Możesz także pobrać zasady krótkoterminowej retencji, aby sprawdzić skonfigurowaną retencję:

Service Azure CLI Azure PowerShell
Azure SQL Database az sql db str-policy show --resource-group "myResourceGroup" --server "mySqlServer" --name "myDatabase" Get-AzSqlDatabaseBackupShortTermRetentionPolicy -ResourceGroupName "myResourceGroup" -ServerName "mySqlServer" -DatabaseName "myDatabase"
Azure SQL Managed Instance az sql midb short-term-retention-policy show --resource-group "myResourceGroup" --mi "myManagedInstance" --name "myDatabase" Get-AzSqlInstanceDatabaseBackupShortTermRetentionPolicy -ResourceGroupName "myResourceGroup" -InstanceName "myManagedInstance" -DatabaseName "myDatabase"

Zwiększ retencję po zablokowaniu

Aby wydłużyć okres retencji, użyj tego samego workflow portalu lub odpowiedniego polecenia zasad retencji z większą obsługiwaną wartością retencji. Utrzymuj niezmienność. Blokada pozostaje stała i nie możesz później obniżyć retencji do poprzedniej wartości.

Na przykład, jeśli zablokowałeś retencję na 14 dni, możesz ją zwiększyć do 35 dni, korzystając z przykładów dotyczących okresu 35 dni opisanych w tym artykule. Po zablokowaniu retencji na 35 dniach nie możesz jej skrócić do 14 dni.

Usuwanie bazy danych i ochrona kopii zapasowej

Zablokowana niezmienność chroni kopie zapasowe; nie zapobiega usuwaniu bazy danych ani nie działa jako ochrona przed usuwaniem dla nadrzędnego serwera logicznego lub zarządzanej instancji.

Jeśli usuniesz bazę danych z włączoną zablokowaną funkcją niezmienności, jej zachowane kopie zapasowe nadal podlegają zasadzie niezmienności przez odpowiednio skonfigurowany okres. Usunięcie bazy danych nie odblokowuje tych kopii zapasowych ani nie skraca okresu ochrony. Zamek nie przechowuje kopii zapasowych na czas nieokreślony; nadal podlegają one wygaśnięciu zgodnie z obowiązującą polityką przechowywania.

Na przykład usunięcie bazy danych z zablokowaną 35-dniową polityką retencji PITR nie usuwa ochrony z zachowanych kopii zapasowych. Nie rozpoczyna się też nowy 35-dniowy okres przechowywania dla każdej kopii zapasowej.

Ochrona kopii zapasowych i odzyskiwanie zasobów to osobne kwestie. Przestrzegaj wymagań dotyczących odzyskiwania specyficznych dla usługi podczas przywracania usuniętej bazy danych. W przypadku logicznych serwerów Azure SQL rozważ także soft delete retention (preview), który pozwala przywrócić usunięty serwer w okresie retencji.

Procedury odzyskiwania opisano tutaj:

Rozważania dotyczące zgodności i zarządzania

Niezmienność kopii zapasowych może wspierać programy odporności i zarządzania poprzez ochronę punktów odzyskiwania przed modyfikacją lub usunięciem. Powiązanie niezmienności z retencją PITR może pomóc, gdy Twoje wymagania dotyczące ochrony przekraczają domyślny okres do siedmiu dni.

Bezzmianowość kopii zapasowej Azure SQL wykorzystuje możliwości niezmiennej pamięci Azure Storage do egzekwowania ochrony. Możliwości niezmiennej pamięci Azure Storage są weryfikowane w scenariuszach obejmujących następujące wymagania:

  • Reguła SEC 17a-4(f)
  • Zasada CFTC 1.31(d)
  • Wymagania dotyczące przechowywania dokumentów według FINRA

Ważna

Wymogi dotyczące zgodności różnią się w zależności od przepisów, jurysdykcji i wdrożeń. Oceń swoje konkretne obowiązki prawne i regulacyjne wraz z zespołami ds. zgodności i prawa. Samo blokowanie niezmienności PITR nie zapewnia zgodności z konkretnym przepisem.

Limitations

  • Automatyczna bezzmienność kopii zapasowej nie jest obecnie dostępna dla poziomu usług Hyperscale Azure SQL Database. W związku z tym, jeśli baza danych zostanie przeniesiona z poziomu usług nie-Hyperscale do poziomu usług Hyperscale, kopie zapasowe tracą ochronę niezmienności.
  • W Azure SQL Managed Instance automatyczna niezmienność kopii zapasowych jest dostępna tylko dla instancji skonfigurowanych z zasadą Always-up-to-date lub SQL Server 2025polityką aktualizacji, a nie z SQL Server 2022 polityką aktualizacji.
  • Blokada nie zwiększa maksymalnej retencji PITR obsługiwanej przez Twój poziom usług. Wybierz obsługiwaną wartość retencji; 35 dni nie jest obsługiwane na każdym poziomie.
  • Włączonej blokady nie można wyłączyć, a okres przechowywania zablokowanego PITR nie może zostać skrócony.
  • Zamek chroni kopie zapasowe PITR. Nie konfiguruje retencji długoterminowej ani nie zapobiega usuwaniu zasobów.
  • W środowiskach Azure SQL Managed Instance z dużą liczbą operacji zarządzania bazami danych (CRUD) (około 5 000 miesięcznie) automatyczna bezzmienność kopii zapasowych może nie być stosowana do kopii zapasowych niektórych baz danych.