Információk az Azure-beli virtuális gépeken futó SQL Server Backupról
Cikk
Az Azure Backup streamalapú, speciális megoldást kínál az Azure-beli virtuális gépeken futó SQL Server biztonsági mentéséhez. Ez a megoldás összhangban van az Azure Backupnak az infrastruktúra nélküli biztonsági mentés, a hosszú távú megőrzés és a központi felügyelet előnyeivel. Emellett a következő előnyöket nyújtja kifejezetten az SQL Server számára:
A számítási feladatokat támogató biztonsági mentések, amelyek minden biztonsági mentési típust támogatnak – teljes, különbségi és naplós
15 perces RPO (helyreállítási pont célkitűzése) gyakori napló biztonsági mentésekkel
Időponthoz kötött helyreállítás akár egy másodpercig
Önálló adatbázisszint biztonsági mentése és visszaállítása
A ma támogatott biztonsági mentési és visszaállítási forgatókönyvek megtekintéséhez tekintse meg a támogatási mátrixot.
Biztonsági mentési folyamat
Ez a megoldás a natív SQL API-k használatával készít biztonsági másolatot az SQL-adatbázisokról.
Miután megadta a védeni és lekérdezni kívánt SQL Server virtuális gépet, az Azure Backup szolgáltatás a névbővítmény AzureBackupWindowsWorkload alapján telepíti a számítási feladatok biztonsági mentési bővítményét a virtuális gépre.
Ez a bővítmény egy koordinátorból és egy SQL-beépülő modulból áll. Bár a koordinátor feladata a munkafolyamatok aktiválása különböző műveletekhez, például a biztonsági mentés, a biztonsági mentés és a visszaállítás konfigurálásához, a beépülő modul felelős a tényleges adatfolyamért.
A virtuális gépen lévő adatbázisok felderítéséhez az Azure Backup létrehozza a fiókot NT SERVICE\AzureWLBackupPluginSvc. Ez a fiók biztonsági mentésre és visszaállításra szolgál, és SQL sysadmin-engedélyeket igényel. A NT SERVICE\AzureWLBackupPluginSvc fiók egy virtuális szolgáltatásfiók, ezért nem igényel jelszókezelést. Az Azure Backup az adatbázis felderítéséhez/lekérdezéséhez használja a NT AUTHORITY\SYSTEM fiókot, ezért ennek a fióknak nyilvános bejelentkezésnek kell lennie az SQL-ben. Ha nem az Azure Marketplace-en hozta létre az SQL Servert futtató virtuális gépet, akkor a következő hibaüzenetet kaphatja: UserErrorSQLNoSysadminMembership. Ha ez előfordul, akkor kövesse az alábbi utasításokat.
Miután aktiválta a kiválasztott adatbázisok védelmének konfigurálását, a biztonsági mentési szolgáltatás beállítja a koordinátort a biztonsági mentési ütemezésekkel és más szabályzatadatokkal, amelyeket a bővítmény helyileg gyorsítótáraz a virtuális gépen.
Az ütemezett időpontban a koordinátor kommunikál a beépülő modullal, és elkezdi streamelni a biztonsági mentési adatokat az SQL Serverről a VDI használatával.
A beépülő modul közvetlenül a Recovery Services-tárolóba küldi az adatokat, így nincs szükség átmeneti helyre. Az adatokat az Azure Backup szolgáltatás titkosítja és tárolja a tárfiókokban.
Ha az adatátvitel befejeződött, a koordinátor megerősíti a véglegesítést a biztonsági mentési szolgáltatással.
Előkészületek
A kezdés előtt ellenőrizze a következő követelményeket:
Ha felderítést futtat egy SQL Serveren, az Azure Backup a következőket végzi el:
Hozzáadja az AzureBackupWindowsWorkload bővítményt.
Létrehoz egy NT SERVICE\AzureWLBackupPluginSvc-fiókot a virtuális gépen található adatbázisok felderítéséhez. Ez a fiók biztonsági mentéshez és visszaállításhoz használatos, és SQL sysadmin-engedélyeket igényel.
Felderíti a virtuális gépen futó adatbázisokat, az Azure Backup az NT AUTHORITY\SYSTEM fiókot használja. Ennek a fióknak nyilvános bejelentkezésnek kell lennie az SQL-ben.
Ha nem az Azure Marketplace-en hozta létre az SQL Server virtuális gépet, vagy ha az SQL 2008 vagy a 2008 R2 rendszeren dolgozik, előfordulhat, hogy UserErrorSQLNoSysadminMembership hibát kap.
A Windows 2008 R2 rendszeren futó SQL 2008 és 2008 R2 esetén az engedélyek megadásáról itt tájékozódhat.
Az összes többi verzió esetében az alábbi lépésekkel javítsa ki az engedélyeket:
Sql Server sysadmin engedélyekkel rendelkező fiók használata az SQL Server Management Studióba (SSMS) való bejelentkezéshez. Ha nincs szüksége különleges engedélyekre, a Windows-hitelesítésnek működnie kell.
Az SQL Serveren nyissa meg a Security/Logins mappát.
Kattintson a jobb gombbal a Bejelentkezések mappára, és válassza az Új bejelentkezés lehetőséget. Bejelentkezés – Új, válassza a Keresés lehetőséget.
A Windows virtuális szolgáltatás NT SERVICE\AzureWLBackupPluginSvc virtuálisgép-regisztrációs és SQL-felderítési fázisában jött létre. Adja meg a fiók nevét az Enter the object name to select (A kijelölendő objektum neve) mezőben látható módon. A név feloldásához válassza a Nevek ellenőrzése lehetőséget. Kattintson az OK gombra.
A kiszolgálói szerepkörökben győződjön meg arról, hogy a sysadmin szerepkör ki van jelölve. Kattintson az OK gombra. A szükséges engedélyeknek már létezniük kell.
Most társítsa az adatbázist a Recovery Services-tárolóhoz. Az Azure Portal Védett kiszolgálók listájában kattintson a jobb gombbal arra a kiszolgálóra, amely hibaállapotban >van az újrafelfedezési DB-k között.
Ellenőrizze az előrehaladást az Értesítések területen. A kijelölt adatbázisok megtalálásakor megjelenik egy sikeres üzenet.
Megjegyzés
Ha az SQL Serveren több SQL Server-példány is telepítve van, akkor az NT Service\AzureWLBackupPluginSvc-fiókhoz sysadmin-engedélyt kell hozzáadnia az összes SQL-példányhoz.
SQL sysadmin-engedélyek megadása az SQL 2008-hoz és az SQL 2008 R2-hez
NT AUTHORITY\SYSTEM és NT Service\AzureWLBackupPluginSvc-bejelentkezések hozzáadása az SQL Server-példányhoz:
Nyissa meg az SQL Server-példányt az Objektumkezelőben.
Navigálás a biztonsághoz –> Bejelentkezések
Kattintson a jobb gombbal a bejelentkezésekre, és válassza az Új bejelentkezés lehetőséget...
Lépjen az Általános lapra, és adja meg az NT AUTHORITY\SYSTEM nevet bejelentkezési névként.
Lépjen a Kiszolgálói szerepkörök elemre, és válassza ki a nyilvános és a sysadmin szerepköröket.
Lépjen az Állapot gombra. Engedélyezze az adatbázismotorhoz való csatlakozást, és engedélyezze a bejelentkezést.
Kattintson az OK gombra.
Ismételje meg ugyanazt a lépések sorozatát (1–7 fenti) az NT Service\AzureWLBackupPluginSvc bejelentkezés SQL Server-példányhoz való hozzáadásához. Ha a bejelentkezés már létezik, győződjön meg arról, hogy a sysadmin kiszolgálói szerepkörrel rendelkezik, és az Állapot területen engedélyt ad az adatbázismotorhoz való csatlakozásra, a bejelentkezés pedig engedélyezettként.
Az engedély megadása után újra felfedezheti a dll-eket a portálon: Tároló – Kezelés –>> Biztonsági mentési infrastruktúra –> Számítási feladatok az Azure-beli virtuális gépen:
Másik lehetőségként automatizálhatja az engedélyek megadását az alábbi PowerShell-parancsok rendszergazdai módban való futtatásával. A példány neve alapértelmezés szerint MSSQLSERVER értékre van állítva. Szükség esetén módosítsa a példánynév argumentumát a szkriptben.
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
}
Egyidejű biztonsági mentések konfigurálása
Most már konfigurálhatja a biztonsági másolatokat úgy, hogy az SQL Server helyreállítási pontjait és naplóit egyszerre mentse egy helyi tárolóban és Recovery Services-tárolóban.
Az egyidejű biztonsági mentések konfigurálásához kövesse az alábbi lépéseket:
Lépjen a C:\Program Files\Azure Workload Backup\bin\plugins helyre, majd hozza létre a fájlt PluginConfigSettings.json, ha nincs jelen.
Adja hozzá a vesszővel elválasztott kulcsérték-entitásokat kulcsokkal EnableLocalDiskBackupForBackupTypes és LocalDiskBackupFolderPath a JSON-fájlhoz.
A csoportban EnableLocalDiskBackupForBackupTypeslistázhatja a helyileg tárolni kívánt biztonsági mentési típusokat.
Ha például a Teljes és a Napló biztonsági mentését szeretné tárolni, említse meg["Full", "Log"]. Ha csak a napló biztonsági másolatait szeretné tárolni, említse meg ["Log"].
A területen LocalDiskBackupFolderPathemlítse meg a helyi mappa elérési útját. Győződjön meg arról, hogy a JSON-fájlban szereplő elérési út említése közben a kettős perjelet használja.
Ha például a helyi biztonsági mentés előnyben részesített elérési útja, E:\LocalBackupemlítse meg a JSON elérési útját.E:\\LocalBackup
Az utolsó JSON-nak a következő módon kell megjelennie:
Ha a JSON-fájlban más előre kitöltött bejegyzések is szerepelnek, adja hozzá a fenti két bejegyzést a JSON-fájl alján, a záró zárójel előtt.
Ha a módosítások a szokásos egy óra helyett azonnal érvénybe lépnek, nyissa meg a TaskManager>Servicest, kattintson a jobb gombbal az AzureWLbackupPluginSvc elemre, és válassza a Leállítás lehetőséget.
Figyelemfelhívás
Ez a művelet megszakítja az összes folyamatban lévő biztonsági mentési feladatot.
A tárolt biztonsági mentési fájl elnevezési konvenciója és a mappastruktúra {LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}.
Ha például adatbázissal Contoso rendelkezik az SQL-példány MSSQLSERVERalatt, a fájlok a következő helyen E:\LocalBackup\MSSQLSERVER\Contosotalálhatók: .
A fájl neve a VDI device set guidbiztonsági mentési művelethez használt fájl.
Ellenőrizze, hogy a célhelyen LocalDiskBackupFolderPath van-e olvasási és írásiNT Service\AzureWLBackupPluginSvcengedély.
Megjegyzés
A helyi virtuálisgép-lemezek egyik mappájában kattintson a jobb gombbal a mappára, és konfigurálja a szükséges engedélyeket NT Service\AzureWLBackupPluginSvc a Biztonság lapon.
Ha hálózati vagy SMB-megosztást használ, konfigurálja az engedélyeket az alábbi PowerShell-parancsmagok futtatásával egy olyan felhasználói konzolról, amely már rendelkezik a megosztás elérésére vonatkozó engedéllyel:
$cred = Get-Credential
New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.