Automatyczne tworzenie kopii zapasowych SQL Server maszyn wirtualnych z 2014 r. (Resource Manager)

DOTYCZY: SQL Server na maszynie wirtualnej platformy Azure

Automatyczne tworzenie kopii zapasowej automatycznie konfiguruje zarządzaną kopię zapasową do Microsoft Azure dla wszystkich istniejących i nowych baz danych na maszynie wirtualnej platformy Azure z systemem SQL Server 2014 Standard lub Enterprise. Umożliwia to skonfigurowanie regularnych kopii zapasowych bazy danych, które korzystają z trwałej usługi Azure Blob Storage. Automatyczne tworzenie kopii zapasowej zależy SQL Server agenta infrastruktury jako usługi (IaaS).

Uwaga

Platforma Azure ma dwa różne modele wdrażania, których można użyć do tworzenia zasobów i pracy z nimi: Azure Resource Manager i klasyczne. W tym artykule opisano sposób korzystania z Menedżer zasobówgo modelu wdrażania. Zalecamy model wdrażania Menedżer zasobów dla nowych wdrożeń zamiast klasycznego modelu wdrażania.

Wymagania wstępne

Aby użyć zautomatyzowanej kopii zapasowej, należy wziąć pod uwagę następujące wymagania wstępne:

System operacyjny:

  • Windows Server 2012 i większe

SQL Server wersja/wydanie:

  • SQL Server Standardowa 2014
  • SQL Server 2014 Enterprise

Uwaga

Aby uzyskać SQL 2016 i więcej, zobacz Automated Backup for SQL Server 2016.

Konfiguracja bazy danych:

  • Docelowe bazy danych użytkowników muszą używać modelu odzyskiwania pełnego. Systemowe bazy danych nie muszą używać modelu odzyskiwania pełnego. Jeśli jednak wymagane jest wykonywanie kopii zapasowych dzienników dla modelu lub bazy danych MSDB, należy użyć modelu odzyskiwania pełnego. Aby uzyskać więcej informacji o wpływie pełnego modelu odzyskiwania na kopie zapasowe, zobacz Backup under the full recovery model (Tworzenie kopii zapasowej w ramach modelu odzyskiwania pełnego).
  • Maszyna SQL Server wirtualna została zarejestrowana w rozszerzeniu agenta IaaS usługi SQL w trybie pełnego zarządzania.
  • Automatyczne tworzenie kopii zapasowej opiera się na pełnym SQL Server agenta IaaS. W związku z tym automatyczne kopie zapasowe są obsługiwane tylko w docelowych bazach danych z wystąpienia domyślnego lub w jednym nazwanych wystąpieniach. Jeśli nie ma wystąpienia domyślnego i wielu nazwanych wystąpień, rozszerzenie IaaS SQL zakończy się niepowodzeniem i automatyczne tworzenie kopii zapasowej nie będzie działać.

Ustawienia

W poniższej tabeli opisano opcje, które można skonfigurować dla automatycznego tworzenia kopii zapasowych. Rzeczywiste kroki konfiguracji różnią się w zależności od tego, czy używasz poleceń Azure Portal azure Windows PowerShell polecenia.

Ustawienie Zakres (wartość domyślna) Opis
Automatyczne usługa Backup Włączanie/wyłączanie (wyłączone) Włącza lub wyłącza automatyczne tworzenie kopii zapasowej dla maszyny wirtualnej platformy Azure z systemem SQL Server 2014 Standard lub Enterprise.
Okres przechowywania 1–30 dni (30 dni) Liczba dni przechowywania kopii zapasowej.
Konto magazynu Konto magazynu Azure Konto usługi Azure Storage do przechowywania plików automatycznych kopii zapasowych w magazynie obiektów blob. W tej lokalizacji jest tworzony kontener do przechowywania wszystkich plików kopii zapasowej. Konwencja nazewnictwa plików kopii zapasowych obejmuje datę, czas i nazwę komputera.
Szyfrowanie Włączanie/wyłączanie (wyłączone) Włącza lub wyłącza szyfrowanie. Po włączeniu szyfrowania certyfikaty używane do przywracania kopii zapasowej znajdują się na określonym koncie magazynu w tym samym kontenerze przy użyciu tej automaticbackup samej konwencji nazewnictwa. Jeśli hasło zmieni się, zostanie wygenerowany nowy certyfikat z tym hasłem, ale stary certyfikat pozostanie w celu przywrócenia poprzednich kopii zapasowych.
Password (Hasło) Tekst hasła Hasło dla kluczy szyfrowania. Jest to wymagane tylko wtedy, gdy szyfrowanie jest włączone. Aby przywrócić zaszyfrowaną kopię zapasową, musisz mieć poprawne hasło i powiązany certyfikat, które były używane w momencie tworzenia kopii zapasowej.

Konfigurowanie nowych maszyn wirtualnych

Użyj tej Azure Portal, aby skonfigurować automatyczne tworzenie kopii zapasowej podczas tworzenia nowej maszyny wirtualnej SQL Server 2014 w modelu Resource Manager wdrażania.

Na karcie ustawień SQL Server przewiń w dół do opcji Automatyczne tworzenie kopii zapasowej i wybierz pozycję Włącz. Poniższy zrzut Azure Portal przedstawia SQL automatyczne tworzenie kopii zapasowych.

SQL Konfiguracja automatycznej kopii zapasowej w Azure Portal

Konfigurowanie istniejących maszyn wirtualnych

W przypadku SQL Server wirtualnych można włączać i wyłączać automatyczne kopie zapasowe, zmieniać okres przechowywania, określać konto magazynu i włączać szyfrowanie z poziomu Azure Portal.

Przejdź do zasobu SQL maszyn wirtualnych dla maszyny wirtualnej z SQL Server 2014, a następnie wybierz pozycję Kopie zapasowe.

SQL Automatyczne tworzenie kopii zapasowych dla istniejących maszyn wirtualnych

Po zakończeniu wybierz przycisk Zastosuj w dolnej części strony Kopie zapasowe, aby zapisać zmiany.

W przypadku włączenia automatycznego tworzenia kopii zapasowej po raz pierwszy platforma Azure SQL Server agenta IaaS w tle. W tym czasie w Azure Portal może nie być wyświetlane, że automatyczna kopia zapasowa jest skonfigurowana. Poczekaj kilka minut na zainstalowanie i skonfigurowanie agenta. Po tym czasie Azure Portal zostaną odzwierciedlone nowe ustawienia.

Uwaga

Możesz również skonfigurować automatyczne tworzenie kopii zapasowych przy użyciu szablonu. Aby uzyskać więcej informacji, zobacz Szablon szybkiego startu platformy Azure dla usługi Automated Backup.

Konfigurowanie przy użyciu programu PowerShell

Aby skonfigurować automatyczne tworzenie kopii zapasowych, można użyć programu PowerShell. Przed rozpoczęciem należy:

Uwaga

W tym artykule jest używany moduł Azure Az programu PowerShell, który jest zalecanym modułem programu PowerShell do interakcji z platformą Azure. Aby rozpocząć pracę z modułem Azure PowerShell, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Weryfikowanie bieżących ustawień

Jeśli włączono automatyczne tworzenie kopii zapasowych podczas aprowizowania, możesz sprawdzić bieżącą konfigurację przy użyciu programu PowerShell. Uruchom polecenie Get-AzVMSqlServerExtension i sprawdź właściwość AutoBackupSettings:

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

Powinny zostać dane wyjściowe podobne do następujących:

Enable                      : False
EnableEncryption            : False
RetentionPeriod             : -1
StorageUrl                  : NOTSET
StorageAccessKey            : 
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : 
FullBackupFrequency         : 
FullBackupStartTime         : 
FullBackupWindowHours       : 
LogBackupFrequency          : 

Jeśli dane wyjściowe pokazują, że dla ustawienia Włącz ustawiono wartość Fałsz, należy włączyć automatyczne tworzenie kopii zapasowych. Dobra wiadomość jest taka, że włączasz i konfigurujesz automatyczne kopie zapasowe w taki sam sposób. Zobacz następną sekcję, aby uzyskać te informacje.

Uwaga

Jeśli sprawdzisz ustawienia natychmiast po w wprowadzeniem zmiany, możliwe, że wrócisz do starych wartości konfiguracji. Zaczekaj kilka minut i ponownie sprawdź ustawienia, aby upewnić się, że zmiany zostały zastosowane.

Konfigurowanie automatycznej kopii zapasowej

Za pomocą programu PowerShell można włączyć automatyczne tworzenie kopii zapasowej, a także w dowolnym momencie zmodyfikować jego konfigurację i zachowanie.

Najpierw wybierz lub utwórz konto magazynu dla plików kopii zapasowej. Poniższy skrypt wybiera konto magazynu lub tworzy je, jeśli nie istnieje.

$storage_accountname = "yourstorageaccount"
$storage_resourcegroupname = $resourcegroupname

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $storage_resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

Uwaga

Automatyczne tworzenie kopii zapasowych nie obsługuje przechowywania kopii zapasowych w magazynie w warstwie Premium, ale może tworzyć kopie zapasowe z dysków maszyn wirtualnych, które używają Premium Storage.

Następnie użyj polecenia New-AzVMSqlServerAutoBackupConfig, aby włączyć i skonfigurować ustawienia automatycznego tworzenia kopii zapasowych do przechowywania kopii zapasowych na koncie usługi Azure Storage. W tym przykładzie kopie zapasowe są przechowywane przez 10 dni. Drugie polecenie, Set-AzVMSqlServerExtension, aktualizuje określoną maszynę wirtualną platformy Azure przy użyciu tych ustawień.

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Instalowanie i konfigurowanie agenta IaaS może potrwać SQL Server kilka minut.

Uwaga

Istnieją inne ustawienia dla polecenie New-AzVMSqlServerAutoBackupConfig, które mają zastosowanie tylko do programu SQL Server 2016 i zautomatyzowanej kopii zapasowej w wersji 2. SQL Server 2014 nie obsługuje następujących ustawień: BackupSystemDbs, BackupScheduleType, FullBackupFrequency, FullBackupStartHour, FullBackupWindowInHours i LogBackupFrequencyInMinutes. Jeśli spróbujesz skonfigurować te ustawienia na maszynie wirtualnej SQL Server 2014, nie wystąpi błąd, ale ustawienia nie zostaną zastosowane. Jeśli chcesz użyć tych ustawień na maszynie wirtualnej z programem SQL Server 2016, zobacz Automated Backup v2 for SQL Server 2016 Azure virtual machines (Automatycznetworzenie kopii zapasowej w wersji 2 dla maszyn wirtualnych platformy Azure w wersji 2016).

Aby włączyć szyfrowanie, zmodyfikuj poprzedni skrypt, aby przekazać parametr EnableEncryption wraz z hasłem (ciągiem bezpiecznym) dla parametru CertificatePassword. Poniższy skrypt włącza ustawienia automatycznego tworzenia kopii zapasowej w poprzednim przykładzie i dodaje szyfrowanie.

$password = "P@ssw0rd"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -EnableEncryption -CertificatePassword $encryptionpassword `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Aby potwierdzić, że ustawienia zostały zastosowane, sprawdź konfigurację zautomatyzowanej kopii zapasowej.

Wyłączanie automatycznego tworzenia kopii zapasowej

Aby wyłączyć automatyczne tworzenie kopii zapasowych, uruchom ten sam skrypt bez parametru -Enable polecenia New-AzVMSqlServerAutoBackupConfig. Brak parametru -Enable sygnalizuje polecenie wyłączenia funkcji. Podobnie jak w przypadku instalacji wyłączenie automatycznej kopii zapasowej może potrwać kilka minut.

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Przykładowy skrypt

Poniższy skrypt zawiera zestaw zmiennych, które można dostosować w celu włączenia i skonfigurowania automatycznej kopii zapasowej dla maszyny wirtualnej. W Twoim przypadku może być konieczne dostosowanie skryptu do swoich wymagań. Na przykład należy wprowadzić zmiany, jeśli chcesz wyłączyć tworzenie kopii zapasowej systemowych baz danych lub włączyć szyfrowanie.

$vmname = "yourvmname"
$resourcegroupname = "vmresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "storageaccountname"
$storage_resourcegroupname = $resourcegroupname
$retentionperiod = 10

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region

# Creates/use a storage account to store the backups

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $storage_resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Configure Automated Backup settings

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays $retentionperiod -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

# Apply the Automated Backup settings to the VM

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Monitorowanie

Aby monitorować automatyczne kopie zapasowe SQL Server 2014 r., dostępne są dwie główne opcje. Ponieważ funkcja automatycznej kopii zapasowej używa SQL Server kopii zapasowej zarządzanej, te same techniki monitorowania mają zastosowanie do obu tych funkcji.

Najpierw możesz sondć stan, wywołując msdb.smart_admin.sp_get_backup_diagnostics. Możesz też za pomocą zapytania msdb.smart_admin.fn_get_health_status funkcji zwracanej w tabeli.

Uwaga

Schemat zarządzanej kopii zapasowej w programie SQL Server 2014 msdb.smart_admin. W SQL Server 2016 r. ta zmiana msdb.managed_backup , a tematy referencyjne używają tego nowszego schematu. Jednak w SQL Server 2014 r. należy nadal używać schematu smart_admin wszystkich zarządzanych obiektów kopii zapasowej.

Innym rozwiązaniem jest skorzystanie z wbudowanej funkcji Poczta bazy danych powiadomień.

  1. Wywołaj msdb.smart_admin.sp_set_parameter, aby przypisać adres e-mail do parametru SSMBackup2WANotificationEmailIds.
  2. Włącz usługę SendGrid, aby wysyłać wiadomości e-mail z maszyny wirtualnej platformy Azure.
  3. Użyj serwera SMTP i nazwy użytkownika, aby skonfigurować Poczta bazy danych. Możesz skonfigurować Poczta bazy danych w SQL Server Management Studio lub za pomocą poleceń SQL Transact-SQL. Aby uzyskać więcej informacji, zobacz Poczta bazy danych.
  4. Skonfiguruj SQL Server agentów do używania Poczta bazy danych.
  5. Sprawdź, czy port SMTP jest dozwolony zarówno za pośrednictwem lokalnej zapory maszyny wirtualnej, jak i sieciowej grupy zabezpieczeń maszyny wirtualnej.

Następne kroki

Automatyczne tworzenie kopii zapasowej konfiguruje zarządzaną kopię zapasową na maszyn wirtualnych platformy Azure. Dlatego ważne jest, aby zapoznać się z dokumentacją dotyczącą zarządzanej kopii zapasowej w SQL Server 2014 r.

Dodatkowe wskazówki dotyczące tworzenia kopii zapasowych i przywracania dla maszyn wirtualnych platformy Azure SQL Server można znaleźć w następującym artykule: Backup and restore for SQL Server on Azure virtual machines (Tworzeniekopii zapasowych i przywracanie danych na maszynach wirtualnych platformy Azure).

Aby uzyskać informacje o innych dostępnych zadaniach automatyzacji, zobacz SQL Server IaaS Agent Extension (Rozszerzenie agenta IaaS).

Aby uzyskać więcej informacji na temat uruchamiania SQL Server na maszynach wirtualnych platformy Azure, zobacz SQL Server na maszynachwirtualnych platformy Azure — omówienie.