Share via


Információk az Azure-beli virtuális gépeken futó SQL Server Backupról

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 megfelel Azure Backup előnyeinek, a nulla infrastruktúra biztonsági mentésének, a hosszú távú megőrzésnek és a központi felügyeletnek. Emellett a következő előnyöket is biztosítja kifejezetten a SQL Server számára:

  1. Számítási feladatokkal tisztában lévő biztonsági mentések, amelyek támogatják az összes biztonsági mentési típust – teljes, különbségi és napló
  2. 15 perces RPO (helyreállítási pont célkitűzése) gyakori naplók biztonsági mentésével
  3. Időponthoz kötött helyreállítás akár egy másodpercig
  4. Egyéni adatbázisszintű biztonsági mentés és visszaállítás

Megjegyzés

Az Azure-beli virtuális gépen futó SQL-adatbázisok pillanatkép-alapú biztonsági mentése előzetes verzióban érhető el. Ez az egyedi ajánlat egyesíti a pillanatképek jóságát, ami jobb RTO-t eredményez, és alacsony hatással van a kiszolgálóra, valamint az alacsony RPO-hoz készült gyakori napló-biztonsági mentések előnyeit. Bármilyen lekérdezés/hozzáférés esetén írjon nekünk a következő címre AskAzureBackupTeam@microsoft.com: .

A jelenleg 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.

A biztonsági mentés folyamata

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, 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 felelős a munkafolyamatok különböző műveletekhez történő aktiválásáért, például a biztonsági mentés, a biztonsági mentés és a visszaállítás konfigurálásáért, a beépülő modul felelős a tényleges adatfolyamért.

  • A virtuális gépen található adatbázisok felderítéséhez Azure Backup hozza létre a fiókotNT SERVICE\AzureWLBackupPluginSvc. Ez a fiók biztonsági mentéshez és visszaállításhoz használható, és SQL sysadmin-engedélyeket igényel. A NT SERVICE\AzureWLBackupPluginSvc fiók egy virtuális szolgáltatásfiók, ezért nincs szükség jelszókezelésre. Azure Backup adatbázis-felderítéshez/lekérdezéshez 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 védelem konfigurálását a kiválasztott adatbázisokon, a biztonsági mentési szolgáltatás beállítja a koordinátort a biztonsági mentés ütemezésével és egyéb szabályzat részleteivel, 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 a Azure Backup szolgáltatás titkosítja és tárolja 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.

    SQL Backup-architektúra

Előkészületek

A kezdés előtt ellenőrizze a következő követelményeket:

  1. Győződjön meg arról, hogy SQL Server-példány fut az Azure-ban. Gyorsan létrehozhat egy SQL Server-példányt a piactéren.
  2. Tekintse át a szolgáltatásokkal kapcsolatos szempontokat és a forgatókönyvek támogatását.
  3. Tekintse át a forgatókönyvre vonatkozó gyakori kérdéseket.

Virtuális gépek engedélyeinek beállítása

Amikor felderítést futtat egy SQL Server, Azure Backup a következőket teszi:

  • 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, 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 hozta létre a SQL Server virtuális gépet a Azure Marketplace-ben, vagy ha SQL 2008 vagy 2008 R2 rendszeren dolgozik, előfordulhat, hogy UserErrorSQLNoSysadminMembership hibát kap.

A Windows 2008 R2-n futó SQL 2008 és 2008 R2 esetén az engedélyek megadásáról itt olvashat.

Az összes többi verzió esetében javítsa ki az engedélyeket az alábbi lépésekkel:

  1. A SQL Server Management Studio (SSMS) szolgáltatásba való bejelentkezéshez használjon SQL Server sysadmin engedélyekkel rendelkező fiókot. Ha nincs szüksége speciális engedélyekre, a Windows-hitelesítésnek működnie kell.

  2. A SQL Server nyissa meg a Biztonság/Bejelentkezések mappát.

    Nyissa meg a Security/Logins mappát a fiókok megtekintéséhez

  3. Kattintson a jobb gombbal a Bejelentkezések mappára, és válassza az Új bejelentkezés lehetőséget. A Bejelentkezés – Új területen válassza a Keresés lehetőséget.

    A Bejelentkezés – Új párbeszédpanelen válassza a Keresés lehetőséget

  4. Az NT SERVICE\AzureWLBackupPluginSvc windowsos virtuális szolgáltatásfiók a virtuális gé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 (Az objektum nevének megadása) szakaszban látható módon. A név feloldásához válassza a Nevek ellenőrzése lehetőséget. Válassza az OK lehetőséget.

    Válassza a Nevek ellenőrzése lehetőséget az ismeretlen szolgáltatásnév feloldásához

  5. A Kiszolgálói szerepkörök területen győződjön meg arról, hogy a sysadmin szerepkör van kiválasztva. Válassza az OK lehetőséget. A szükséges engedélyeknek már létezniük kell.

    Győződjön meg arról, hogy a sysadmin kiszolgálói szerepkör ki van jelölve

  6. Most társítsa az adatbázist a Recovery Services-tárolóhoz. A Azure Portal Védett kiszolgálók listájában kattintson a jobb gombbal arra a kiszolgálóra, amely hibaállapotban > van Újrafelfedő DB-k.

    Ellenőrizze, hogy a kiszolgáló rendelkezik-e a megfelelő engedélyekkel

  7. Ellenőrizze az előrehaladást az Értesítések területen. A kijelölt adatbázisok megtalálásakor megjelenik egy sikeres üzenet.

    Sikeres üzembe helyezést jelző üzenet

Megjegyzés

Ha a SQL Server több SQL Server-példánya van telepítve, akkor hozzá kell adnia a sysadmin engedélyt az NT Service\AzureWLBackupPluginSvc fiókhoz 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 a SQL Server-példányhoz:

  1. Nyissa meg a SQL Server-példányt az Objektumkezelőben.

  2. Navigálás a biztonsághoz –> Bejelentkezések

  3. Kattintson a jobb gombbal a bejelentkezésekre, és válassza az Új bejelentkezés... lehetőséget.

    Új bejelentkezés az SSMS használatával

  4. Lépjen az Általános lapra, és adja meg az NT AUTHORITY\SYSTEM nevet bejelentkezési névként.

    Az SSMS bejelentkezési neve

  5. Lépjen a Kiszolgálói szerepkörök elemre, és válassza a nyilvános és a sysadmin szerepköröket.

    Szerepkörök kiválasztása az SSMS-ben

  6. Lépjen az Állapot gombra. Adja meg az engedélyt az adatbázismotorhoz való csatlakozáshoz, a bejelentkezés pedig engedélyezettként.

    Engedélyek megadása az SSMS-ben

  7. Kattintson az OK gombra.

  8. Ismételje meg ugyanazt a lépések sorozatát (1-7 fenti), hogy hozzáadja az NT Service\AzureWLBackupPluginSvc bejelentkezést a SQL Server példányhoz. 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 adja meg az engedélyt az adatbázismotorhoz való csatlakozáshoz, a bejelentkezés pedig engedélyezettként.

  9. Az engedély megadása után újra felfedezheti a dll-eket a portálon: Tároló –> Biztonsági mentési infrastruktúra –> Számítási feladat az Azure-beli virtuális gépen:

    A DB-k újbóli feltárása a Azure Portal

A következő PowerShell-parancsok rendszergazdai módban való futtatásával automatizálhatja az engedélyek megadását. 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 argumentumot 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 az SQL Server helyreállítási pontjainak és naplóinak egyidejű mentéséhez 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:

  1. Lépjen a C:\Program Files\Azure Workload Backup\bin\plugins helyre, majd hozza létre a PluginConfigSettings.json fájlt, ha nincs jelen.

  2. Adja hozzá a vesszővel elválasztott kulcsérték-entitásokat kulcsokkal EnableLocalDiskBackupForBackupTypes és LocalDiskBackupFolderPath a JSON-fájlhoz.

    • A területen 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ést szeretné tárolni, említse meg a következőt ["Full", "Log"]: . Ha csak a napló biztonsági másolatait szeretné tárolni, említse meg a következőt ["Log"]: .

    • A alatt LocalDiskBackupFolderPathemlítse meg a helyi mappa elérési útját. Győződjön meg arról, hogy a dupla perjelet használja, miközben megemlíti az elérési utat a JSON-fájlban.

      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-ban az elérési utat a következőként: E:\\LocalBackup.

      Az utolsó JSON-fájlnak a következőképpen 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 , közvetlenül a záró kapcsos zárójel előtt.

  3. Ha a módosítások a szokásos egy óra helyett azonnal érvénybe lépnek, lépjen a TaskManager>Services elemre, 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 mappaszerkezete a következő lesz {LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}: .

    Ha például van egy adatbázisa Contoso az SQL-példány MSSQLSERVERalatt, a fájlok a következő helyen találhatók: E:\LocalBackup\MSSQLSERVER\Contoso.

    A fájl neve a VDI device set guid, amely a biztonsági mentési művelethez használatos.

  4. Ellenőrizze, hogy a célhelyen LocalDiskBackupFolderPath van-e olvasási és írási engedély a következőhöz: NT Service\AzureWLBackupPluginSvc.

    Megjegyzés

    A helyi virtuálisgép-lemezeken lévő mappák esetében 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
    

Következő lépések