Információk az Azure-beli virtuális gépeken futó SQL Server Backupról
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. ANT 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 aNT 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:
- Győződjön meg arról, hogy egy SQL Server-példány fut az Azure-ban. Gyorsan létrehozhat egy SQL Server-példányt a piactéren.
- Tekintse át a funkcióval kapcsolatos szempontokat és a forgatókönyvek támogatását.
- Tekintse át a forgatókönyvre vonatkozó gyakori kérdéseket .
Virtuális gépek engedélyeinek beállítása
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.
Feljegyzé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
ésLocalDiskBackupFolderPath
a JSON-fájlhoz.A csoportban
EnableLocalDiskBackupForBackupTypes
listá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
LocalDiskBackupFolderPath
emlí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:\LocalBackup
említse meg a JSON elérési útját.E:\\LocalBackup
Az utolsó JSON-nak a következő módon kell megjelennie:
{ "EnableLocalDiskBackupForBackupTypes": ["Log"], "LocalDiskBackupFolderPath": "E:\\LocalBackup", }
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ányMSSQLSERVER
alatt, a fájlok a következő helyenE:\LocalBackup\MSSQLSERVER\Contoso
találhatók: .A fájl neve a
VDI device set guid
biztonsági mentési művelethez használt fájl.Ellenőrizze, hogy a célhelyen
LocalDiskBackupFolderPath
van-e olvasási és írásiNT Service\AzureWLBackupPluginSvc
engedély.Feljegyzé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
Példa:
$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