Informacje o kopii zapasowej programu SQL Server na maszynach wirtualnych platformy Azure
Usługa Azure Backup oferuje oparte na strumieniu, wyspecjalizowane rozwiązanie do tworzenia kopii zapasowych programu SQL Server działającego na maszynach wirtualnych platformy Azure. To rozwiązanie jest zgodne z korzyściami usługi Azure Backup w zakresie tworzenia kopii zapasowych bez infrastruktury, długoterminowego przechowywania i centralnego zarządzania. Ponadto zapewnia następujące korzyści w szczególności dla programu SQL Server:
- Kopie zapasowe obsługujące obciążenie, które obsługują wszystkie typy kopii zapasowych — pełne, różnicowe i dzienniki
- 15-minutowy cel punktu odzyskiwania (cel punktu odzyskiwania) z częstymi kopiami zapasowymi dziennika
- Odzyskiwanie do punktu w czasie do sekundy
- Tworzenie kopii zapasowej i przywracanie poszczególnych poziomów bazy danych
Aby wyświetlić scenariusze tworzenia kopii zapasowych i przywracania obsługiwanych obecnie, zobacz macierz obsługi.
Proces tworzenia kopii zapasowej
To rozwiązanie wykorzystuje natywne interfejsy API SQL do tworzenia kopii zapasowych baz danych SQL.
Po określeniu maszyny wirtualnej programu SQL Server, która ma być chroniona i wysyłana do niej zapytania dotyczące baz danych, usługa Azure Backup zainstaluje rozszerzenie kopii zapasowej obciążenia na maszynie wirtualnej według rozszerzenia nazwy
AzureBackupWindowsWorkload
.To rozszerzenie składa się z koordynatora i wtyczki SQL. Koordynator jest odpowiedzialny za wyzwalanie przepływów pracy dla różnych operacji, takich jak konfigurowanie kopii zapasowych, tworzenia kopii zapasowych i przywracania, wtyczka jest odpowiedzialna za rzeczywisty przepływ danych.
Aby móc odnajdywać bazy danych na tej maszynie wirtualnej, usługa Azure Backup tworzy konto
NT SERVICE\AzureWLBackupPluginSvc
. To konto jest używane do tworzenia kopii zapasowych i przywracania oraz wymaga uprawnień administratora systemu SQL. KontoNT SERVICE\AzureWLBackupPluginSvc
jest kontem usługi wirtualnej i nie wymaga zarządzania hasłami. Usługa Azure Backup używaNT AUTHORITY\SYSTEM
konta do odnajdywania/zapytania bazy danych, więc to konto musi być publicznym identyfikatorem logowania w usłudze SQL. Jeśli nie utworzono maszyny wirtualnej programu SQL Server z witryny Azure Marketplace, może wystąpić błąd UserErrorSQLNoSysadminMembership. W takim przypadku wykonaj te instrukcje.Po wyzwoleniu konfiguracji ochrony w wybranych bazach danych usługa tworzenia kopii zapasowych konfiguruje koordynatora z harmonogramami tworzenia kopii zapasowych i innymi szczegółami zasad, które rozszerzenie buforuje lokalnie na maszynie wirtualnej.
W zaplanowanym czasie koordynator komunikuje się z wtyczką i uruchamia przesyłanie strumieniowe danych kopii zapasowej z serwera SQL przy użyciu karty VDI.
Wtyczka wysyła dane bezpośrednio do magazynu usługi Recovery Services, eliminując w ten sposób potrzebę lokalizacji przejściowej. Dane są szyfrowane i przechowywane przez usługę Azure Backup na kontach magazynu.
Po zakończeniu transferu danych koordynator potwierdza zatwierdzenie z usługą tworzenia kopii zapasowych.
Przed rozpoczęciem
Przed rozpoczęciem sprawdź następujące wymagania:
- Upewnij się, że masz wystąpienie programu SQL Server uruchomione na platformie Azure. Możesz szybko utworzyć wystąpienie programu SQL Server w witrynie Marketplace.
- Zapoznaj się z zagadnieniami dotyczącymi funkcji i obsługą scenariuszy.
- Przejrzyj często zadawane pytania dotyczące tego scenariusza.
Ustawianie uprawnień maszyny wirtualnej
Po uruchomieniu odnajdywania w programie SQL Server usługa Azure Backup wykonuje następujące czynności:
- Dodaje rozszerzenie AzureBackupWindowsWorkload.
- Tworzy konto NT SERVICE\AzureWLBackupPluginSvc w celu odnajdywania baz danych na maszynie wirtualnej. To konto jest używane na potrzeby tworzenia kopii zapasowej i przywracania oraz wymaga uprawnień administratora systemu SQL.
- Odnajduje bazy danych uruchomione na maszynie wirtualnej, usługa Azure Backup używa konta NT AUTHORITY\SYSTEM. To konto musi być publicznym logowaniem w usłudze SQL.
Jeśli nie utworzono maszyny wirtualnej z programem SQL Server w witrynie Azure Marketplace lub jeśli korzystasz z programu SQL 2008 lub 2008 R2, może zostać wyświetlony błąd UserErrorSQLNoSysadminMembership .
Aby nadać uprawnienia w przypadku programu SQL 2008 i 2008 R2 działającego w systemie Windows 2008 R2, zapoznaj się z tym artykułem.
W przypadku wszystkich innych wersji popraw uprawnienia, wykonując następujące czynności:
Zaloguj się do programu SQL Server Management Studio (SSMS), używając konta z uprawnieniami administratora systemu SQL Server. Jeśli nie potrzebujesz specjalnych uprawnień, uwierzytelnianie systemu Windows powinno działać.
W programie SQL Server otwórz folder Security/Logins.
Kliknij prawym przyciskiem myszy folder Logins, a następnie wybierz pozycję Nowa nazwa logowania. W oknie Nazwa logowania — nowa wybierz pozycję Wyszukaj.
Konto usługi wirtualnej systemu Windows NT SERVICE\AzureWLBackupPluginSvc zostało utworzone podczas rejestracji maszyny wirtualnej i fazy odnajdywania SQL. Wprowadź nazwę konta, jak pokazano w polu Wprowadź nazwę obiektu do wybrania. Wybierz pozycję Sprawdź nazwy w celu rozpoznania nazwy. Wybierz przycisk OK.
W obszarze Role serwera sprawdź, czy wybrano rolę sysadmin. Wybierz przycisk OK. Wymagane uprawnienia powinny teraz istnieć.
Skojarz bazę danych z magazynem usługi Recovery Services. W witrynie Azure Portal na liście Serwery chronione kliknij prawym przyciskiem myszy serwer znajdujący się w stanie >błędu Odnajdowanie baz danych.
Sprawdź postęp w obszarze Powiadomienia. Po znalezieniu wybranych baz danych zostanie wyświetlony komunikat o powodzeniu.
Uwaga
Jeśli program SQL Server ma zainstalowane wiele wystąpień programu SQL Server, musisz dodać uprawnienia administratora systemu dla konta NT Service\AzureWLBackupPluginSvc do wszystkich wystąpień SQL.
Przyznawanie uprawnień administratora systemu SQL dla programów SQL 2008 i SQL 2008 R2
Dodaj identyfikatory logowania NT AUTHORITY\SYSTEM i NT Service\AzureWLBackupPluginSvc do wystąpienia programu SQL Server:
Przejdź do wystąpienia programu SQL Server w Eksploratorze obiektów.
Przejdź do obszaru Zabezpieczenia —> identyfikatory logowania
Kliknij prawym przyciskiem myszy identyfikatory logowania i wybierz pozycję Nowe logowanie...
Przejdź do karty Ogólne i wprowadź NT AUTHORITY\SYSTEM jako nazwę logowania.
Przejdź do pozycji Role serwera i wybierz role publiczne i sysadmin .
Przejdź do pozycji Stan. Udziel uprawnienia do nawiązywania połączenia z aparatem bazy danych i zaloguj się jako włączone.
Wybierz przycisk OK.
Powtórz tę samą sekwencję kroków (1–7 powyżej), aby dodać nazwę logowania NT Service\AzureWLBackupPluginSvc do wystąpienia programu SQL Server. Jeśli logowanie już istnieje, upewnij się, że ma rolę serwera sysadmin i w obszarze Stan ma uprawnienie Przyznaj uprawnienia do łączenia się z aparatem bazy danych i Zaloguj się jako Włączone.
Po udzieleniu uprawnień odnajdowanie baz danych w portalu: Magazyn —> Zarządzanie — Infrastruktura kopii zapasowych —>> Obciążenie na maszynie wirtualnej platformy Azure:
Alternatywnie możesz zautomatyzować nadawanie uprawnień, uruchamiając następujące polecenia programu PowerShell w trybie administratora. Nazwa wystąpienia jest domyślnie ustawiona na MSSQLSERVER. W razie potrzeby zmień argument nazwy wystąpienia w skrycie.
param(
[Parameter(Mandatory=$false)]
[string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
$fullInstance = $env:COMPUTERNAME # In case it is the default SQL Server Instance
}
else
{
$fullInstance = $env:COMPUTERNAME + "\" + $InstanceName # In case of named instance
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
Konfigurowanie równoczesnych kopii zapasowych
Teraz można skonfigurować kopie zapasowe w celu zapisania punktów odzyskiwania i dzienników programu SQL Server w magazynie lokalnym i magazynie usługi Recovery Services jednocześnie.
Aby skonfigurować równoczesne kopie zapasowe, wykonaj następujące kroki:
Przejdź do
C:\Program Files\Azure Workload Backup\bin\plugins
lokalizacji, a następnie utwórz plik PluginConfigSettings.json, jeśli nie jest obecny.Dodaj rozdzielone przecinkami jednostki wartości klucza z kluczami
EnableLocalDiskBackupForBackupTypes
iLocalDiskBackupFolderPath
do pliku JSON.W obszarze
EnableLocalDiskBackupForBackupTypes
, wyświetl listę typów kopii zapasowych, które mają być przechowywane lokalnie.Jeśli na przykład chcesz przechowywać kopie zapasowe Pełne i Dzienniki , podaj wartość
["Full", "Log"]
. Aby przechowywać tylko kopie zapasowe dzienników, należy wspomnieć o["Log"]
.W obszarze
LocalDiskBackupFolderPath
podaj ścieżkę do folderu lokalnego. Upewnij się, że używasz ukośnika podwójnego ukośnika podczas wzmianki o ścieżce w pliku JSON.Jeśli na przykład preferowaną ścieżką dla lokalnej kopii zapasowej jest
E:\LocalBackup
, podaj ścieżkę w formacie JSON jakoE:\\LocalBackup
.Ostatni kod JSON powinien wyglądać następująco:
{ "EnableLocalDiskBackupForBackupTypes": ["Log"], "LocalDiskBackupFolderPath": "E:\\LocalBackup", }
Jeśli w pliku JSON znajdują się inne wstępnie wypełnione wpisy, dodaj powyższe dwa wpisy w dolnej części pliku JSON tuż przed zamykającym nawiasem klamrowym.
Aby zmiany zaczęły obowiązywać natychmiast zamiast regularnej jednej godziny, przejdź do pozycji Usługi TaskManager>, kliknij prawym przyciskiem myszy pozycję AzureWLbackupPluginSvc i wybierz pozycję Zatrzymaj.
Uwaga
Ta akcja spowoduje anulowanie wszystkich bieżących zadań tworzenia kopii zapasowej.
Konwencja nazewnictwa przechowywanego pliku kopii zapasowej i struktury folderów dla niego będzie .
{LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}
Jeśli na przykład masz bazę danych
Contoso
w wystąpieniuMSSQLSERVER
SQL, pliki będą znajdować się w lokalizacji .E:\LocalBackup\MSSQLSERVER\Contoso
Nazwa pliku to
VDI device set guid
, który jest używany do operacji tworzenia kopii zapasowej.Sprawdź, czy lokalizacja docelowa w obszarze
LocalDiskBackupFolderPath
ma uprawnienia do odczytu i zapisu dla elementuNT Service\AzureWLBackupPluginSvc
.Uwaga
W przypadku folderu na lokalnych dyskach maszyn wirtualnych kliknij prawym przyciskiem myszy folder i skonfiguruj wymagane uprawnienia na
NT Service\AzureWLBackupPluginSvc
karcie Zabezpieczenia .Jeśli używasz sieci lub udziału SMB, skonfiguruj uprawnienia, uruchamiając poniższe polecenia cmdlet programu PowerShell z konsoli użytkownika, która ma już uprawnienia dostępu do udziału:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
Przykład:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath \\i00601p1imsa01.file.core.windows.net\rsvshare -Credential $cred -LocalPath Y: -FullAccess @("NT AUTHORITY\SYSTEM","NT Service\AzureWLBackupPluginSvc") -Persistent $true
Następne kroki
- Dowiedz się więcej o tworzeniu kopii zapasowych baz danych programu SQL Server.
- Dowiedz się więcej o przywracaniu baz danych programu SQL Server z kopii zapasowych.
- Dowiedz się więcej o zarządzaniu bazami danych programu SQL Server, dla których są tworzone kopie zapasowe.