Ćwiczenie — odzyskiwanie danych przez przywrócenie bazy danych Azure SQL Database

Ukończone

Próbne operacje przywracania są kluczowym składnikiem wszelkich strategii odzyskiwania po awarii.

Warto poznać procedurę przywracania kopii zapasowej bazy danych do określonego punktu w czasie na wypadek, gdyby okazało się to konieczne. Chcesz również zbadać, jak długo trwa operacja przywracania, kluczową częścią obliczenia sprzeciwu czasu odzyskiwania (RTO). Możesz zaplanować ten czas we wskazówkach dla organizacji.

Przywróconą bazę danych można traktować jako zamiennik oryginalnej bazy danych lub użyć jej jako źródła danych w celu zaktualizowania oryginalnej bazy danych. Chociaż możesz zastąpić bazę danych w wystąpieniu programu SQL Server lub usłudze Azure SQL Managed Instance, nie można zastąpić bazy danych Azure SQL Database przywracaniem.

Wykonajmy przywracanie z automatycznych kopii zapasowych usługi Azure SQL Database.

Potwierdzanie, że kopie zapasowe są aktywne

Napiwek

Utworzenie pierwszej pomyślnej kopii zapasowej może potrwać do 15 minut.

Przyjrzyjmy się kopiom zapasowym, które są wykonywane przez usługę Azure SQL, automatycznie.

  1. W usłudze Azure Cloud Shell uruchom następujące polecenie programu PowerShell, aby ustawić zmienną na wartość wystąpienia programu SQL Server:

    $sqlserver=Get-AzSqlServer
    
  2. Wyświetl dostępne punkty przywracania na podstawie kopii zapasowych za pomocą Get-AzSqlDatabaseRestorePoint polecenia cmdlet programu PowerShell:

    Get-AzSqlDatabaseRestorePoint `
        -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
        -DatabaseName sql-erp-db `
        -ServerName $sqlserver.ServerName
    

    Powinny zostać wyświetlone dane wyjściowe podobne do poniższego kodu. Jeśli polecenie nie zwróci żadnej wartości, kopia zapasowa nie została jeszcze uruchomiona. Uruchom ponownie to polecenie po kilku minutach.

    ResourceGroupName        : <rgn>[sandbox resource group name]</rgn>
    ServerName               : erpserver-53903
    DatabaseName             : sql-erp-db
    Location                 : East US
    RestorePointType         : CONTINUOUS
    RestorePointCreationDate :
    EarliestRestoreDate      : 9/24/19 4:21:21 PM
    RestorePointLabel        :
    

    Jeśli element RestorePointType ma wartość CONTINUOUS, oznacza to, że kopie zapasowe są wykonywane automatycznie. Element EarliestRestoreDate wskazuje sygnaturę czasową pierwszej kopii zapasowej. Jeśli kopie zapasowe są tworzone, możemy kontynuować ćwiczenie.

Usuwanie tabeli z bazy danych

Zacznijmy od symulacji omyłkowej modyfikacji bazy danych.

  1. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Wszystkie zasoby, wybierz pozycję erpserver-NNNN, wybierz pozycję Bazy danych SQL, a następnie wybierz bazę danych sql-erp-db.

  2. Użyjemy edytora zapytań języka T-SQL wbudowanego w witrynę Azure Portal. Wybierz pozycję Edytor zapytań (wersja zapoznawcza), a następnie zaloguj się przy użyciu użytkownika dbadmin i hasła określonego dla tego konta. Następujące polecenia języka T-SQL będą również działać w programie SQL Server Management Studio lub rozszerzeniu mssql dla programu Visual Studio Code lub innych narzędziach zapytań T-SQL.

  3. Upuśćmy utworzoną wcześniej tabelę Person . W nowym oknie zapytania uruchom to polecenie. Zanotuj godzinę zegara.

    DROP TABLE Person
    
  4. Aby sprawdzić tabele w bazie danych, wybierz pozycję Nowe zapytanie. Następnie w oknie Zapytanie 2 uruchom to polecenie, aby wyświetlić listę wszystkich tabel w bazie danych:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables AS t
    ORDER BY schema_name, table_name;
    

    Powinien zostać wyświetlony komunikat Brak zwróconych wyników , ponieważ usunęliśmy tabelę Person .

    Zrzut ekranu przedstawiający brak wyników zwracanych po wykonaniu zapytania o tabele w bazie danych.

Tworzenie przywracania do punktu w czasie

Tabela Person została błędnie usunięta. Teraz przywróćmy bazę danych do jej poprzedniego stanu.

  1. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Wszystkie zasoby, a następnie wybierz bazę danych sql-erp-db.

  2. W górnej części strony Przegląd wybierz pozycję Przywróć.

  3. Ukończ kartę Podstawowe na stronie Przywracanie bazy danych przy użyciu tych wartości, a następnie wybierz pozycję Przejrzyj i utwórz. W tym miejscu podaj nową nazwę bazy danych dla przywróconej wersji bazy danych.

    Ustawienie Wartość
    Wybierz źródło Punkt w czasie
    Nazwa bazy danych sql-erp-db-restored
    Punkt przywracania Wybierz godzinę przed usunięciem Person tabeli, być może 10 minut temu.
    Serwer erpserver-xxxxx
    Chcesz użyć elastycznej puli SQL? Nie.
    Obliczenia i magazyn Domyślna wartość
    Nadmiarowość magazynu kopii zapasowych Lokalnie nadmiarowy magazyn kopii zapasowych

    Zrzut ekranu przedstawiający stronę przywracania bazy danych z wybranym przyciskiem Przeglądanie i tworzenie.

  4. Wybierz pozycję Utwórz. Przywracanie bazy danych trwa kilka minut.

Wyświetlanie przywróconej bazy danych

Przywrócona baza danych zawiera tabelę Person .

  1. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Wszystkie zasoby, a następnie wybierz sql-erp-db-restored bazę danych.

  2. Wybierz pozycję Edytor zapytań (wersja zapoznawcza), a następnie zaloguj się przy użyciu użytkownika dbadmin i hasła określonego dla tego konta.

  3. Aby sprawdzić tabele w bazie danych, w oknie Zapytanie 1 uruchom następujące polecenie:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables AS t
    ORDER BY schema_name, table_name;
    

    Baza danych została przywrócona do stanu, w tym do Person tabeli.

    Zrzut ekranu przedstawiający wyniki po wykonaniu zapytania o tabele w bazie danych.

  4. Upewnij się, że dane są w tabeli, uruchamiając następujące polecenie:

    SELECT * FROM Person;
    

    Powinny zostać wyświetlone dane wprowadzone wcześniej.

    Zrzut ekranu przedstawiający potwierdzone wyniki po wykonaniu zapytania dotyczącego tabel w bazie danych.

Wiesz już, jak przywrócić bazę danych, jeśli coś niezamierzonego stanie się z danymi. Znasz już proces przywracania. Teraz możesz zapewnić organizację, że prawidłowo zdefiniowano procedury tworzenia i przywracania kopii zapasowych.