Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 zoptymalizowane pod kątem obciążenia obsługujące wszystkie typy kopii zapasowych: pełne, różnicowe i kopie dzienników
- 15-minutowy RPO (recovery point objective) z częstymi kopiami zapasowymi dziennika
- Odzyskiwanie punktu z dokładnością do sekundy
- Tworzenie kopii zapasowej i przywracanie poszczególnych poziomów bazy danych
Aby wyświetlić scenariusze tworzenia kopii zapasowych i przywracania, które obecnie obsługujemy, zobacz macierz wsparcia.
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órą chcesz chronić, oraz zapytaniu o obecne na niej bazy danych, usługa Azure Backup zainstaluje rozszerzenie kopii zapasowej obciążenia na maszynie wirtualnej o nazwie
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\AzureWLBackupPluginSvcjest kontem usługi wirtualnej i nie wymaga zarządzania hasłami. Usługa Azure Backup używaNT AUTHORITY\SYSTEMkonta do odkrywania/zapytania bazy danych, więc to konto musi być publicznym kontem 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 rozpoczyna przesyłanie strumieniowe danych kopii zapasowej z serwera SQL przy użyciu interfejsu VDI (Virtual Device Interface).
Wtyczka wysyła dane bezpośrednio do skarbca Recovery Services, eliminując w ten sposób potrzebę miejsca przejściowego. Dane są szyfrowane i przechowywane przez usługę Azure Backup w kontach magazynowych.
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 uruchomioną instancję SQL Server na platformie Azure. Możesz szybko utworzyć wystąpienie programu SQL Server w Marketplace.
- Zapoznaj się z zagadnieniami dotyczącymi funkcji i wsparciem dla 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ć kontem publicznego logowania 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ć.
Jeśli wystąpienie programu SQL Server jest częścią Always-On Grupy Dostępności (AG), upewnij się, że konto NT AUTHORITY\SYSTEM ma włączone uprawnienie WYŚWIETL STAN SERWERA.
Skojarz bazę danych z magazynem usługi Recovery Services. W portalu Azure na liście Serwery chronione kliknij prawym przyciskiem myszy serwer znajdujący się w stanie błędu i wybierz >.
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 loginy NT AUTHORITY\SYSTEM i NT Service\AzureWLBackupPluginSvc do instancji SQL Server:
Przejdź do wystąpienia programu SQL Server w Eksploratorze obiektów.
Przejdź do obszaru Zabezpieczenia —> Logowania
Kliknij prawym przyciskiem myszy loginy 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 Status. Udziel uprawnienia do nawiązywania połączenia z silnikiem bazy danych i zaloguj się z ustawieniem na włączone.
Wybierz przycisk OK.
Powtórz tę samą sekwencję kroków (1–7 powyżej), aby dodać login 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ń, ponownie odnajdź bazy 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 skrypcie.
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\pluginslokalizacji, a następnie utwórz plik PluginConfigSettings.json, jeśli nie jest obecny.Dodaj rozdzielone przecinkami jednostki wartości klucza z kluczami
EnableLocalDiskBackupForBackupTypesiLocalDiskBackupFolderPathdo 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ć Pełne kopie zapasowe i kopie zapasowe dziennika, podaj wartość
["Full", "Log"]. Aby przechowywać tylko kopie zapasowe dzienników, należy wspomnieć o["Log"].W obszarze
LocalDiskBackupFolderPathpodaj ścieżkę do folderu lokalnego. Używaj podwójnego ukośnika podczas podawania ścieżki 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 , kliknij prawym przyciskiem myszy pozycję > 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
Contosow wystąpieniu SQLMSSQLSERVER, pliki będą znajdować się w lokalizacjiE:\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
LocalDiskBackupFolderPathma 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\AzureWLBackupPluginSvckarcie 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 $truePrzykł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.
Treści powiązane
- Tworzenie kopii zapasowych baz danych programu SQL Server na maszynach wirtualnych platformy Azure przy użyciu usługi Azure Backup za pośrednictwem interfejsu API REST.
- Przywracanie baz danych programu SQL Server na maszynach wirtualnych platformy Azure przy użyciu interfejsu API REST.
- Zarządzanie bazami danych programu SQL Server na maszynach wirtualnych platformy Azure przy użyciu interfejsu API REST.