Megosztás a következőn keresztül:


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

    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 egy 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 funkcióval 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

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:

  1. 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.

  2. Az SQL Serveren nyissa meg a Security/Logins 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. Bejelentkezés – Új, válassza a Keresés lehetőséget.

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

  4. 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.

    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ö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.

    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. 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, hogy a kiszolgáló rendelkezik-e 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

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:

  1. Nyissa meg az 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 ki a nyilvános és a sysadmin szerepköröket.

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

  6. Lépjen az Állapot gombra. Engedélyezze az adatbázismotorhoz való csatlakozást, és engedélyezze a bejelentkezést.

    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) 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.

  9. 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:

    A DB-k újbóli feltárása az Azure Portalon

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:

  1. Lépjen a C:\Program Files\Azure Workload Backup\bin\plugins helyre, majd hozza létre a fájlt PluginConfigSettings.json, 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 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:

      {
         "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.

  3. 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.

  4. Ellenőrizze, hogy a célhelyen LocalDiskBackupFolderPath van-e olvasási és írási NT Service\AzureWLBackupPluginSvcengedé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
    

Következő lépések