Informace o zálohování SQL Serverů ve virtuálních počítačích Azure

Azure Backup nabízí specializované řešení založené na streamu pro zálohování SQL Server spuštěných na virtuálních počítačích Azure. Toto řešení je v souladu s výhodami Azure Backup, jako je zálohování s nulovou infrastrukturou, dlouhodobé uchovávání a centrální správa. Kromě toho poskytuje následující výhody speciálně pro SQL Server:

  1. Zálohy s podporou úloh, které podporují všechny typy zálohování – úplné, rozdílové a protokolové
  2. 15minutový cíl bodu obnovení (cíl bodu obnovení) s častými zálohami protokolů
  3. Obnovení k určitému bodu v čase až do sekundy
  4. Zálohování a obnovení na úrovni jednotlivých databází

Poznámka

Zálohování databází SQL na virtuálním počítači Azure založené na snímcích je teď ve verzi Preview. Tato jedinečná nabídka kombinuje dobrotu snímků, což vede k lepšímu rto a nízkému dopadu na server spolu s výhodami častého zálohování protokolů pro nízký cíl bodu obnovení. Pokud máte jakékoli dotazy nebo přístup, napište nám na adresu AskAzureBackupTeam@microsoft.com.

Pokud chcete zobrazit scénáře zálohování a obnovení, které dnes podporujeme, podívejte se na matici podpory.

Proces zálohování

Toto řešení využívá nativní rozhraní API SQL k zálohování databází SQL.

  • Jakmile zadáte SQL Server virtuální počítač, který chcete chránit, a odešlete dotaz na databáze, Azure Backup služba nainstaluje na virtuální počítač rozšíření zálohování úloh podle názvuAzureBackupWindowsWorkload.

  • Toto rozšíření se skládá z koordinátoru a modulu plug-in SQL. Koordinátor zodpovídá za spouštění pracovních postupů pro různé operace, jako je konfigurace zálohování, zálohování a obnovení, ale za skutečný tok dat zodpovídá modul plug-in.

  • Aby bylo možné zjišťovat databáze na tomto virtuálním počítači, Azure Backup vytvoří účet NT SERVICE\AzureWLBackupPluginSvc. Tento účet se používá k zálohování a obnovení a vyžaduje oprávnění správce systému SQL. Účet NT SERVICE\AzureWLBackupPluginSvc je účet virtuální služby, a proto nevyžaduje žádnou správu hesel. Azure Backup používá NT AUTHORITY\SYSTEM účet ke zjišťování nebo dotazování databází, takže tento účet musí být veřejným přihlášením k SQL. Pokud jste virtuální počítač s SQL Serverem nevytvořili z Azure Marketplace, může se zobrazit chyba UserErrorSQLNoSysadminMembership. Pokud k tomu dojde, postupujte podle těchto pokynů.

  • Jakmile aktivujete konfiguraci ochrany pro vybrané databáze, služba zálohování nastaví koordinátor s plány zálohování a dalšími podrobnostmi o zásadách, které rozšíření ukládá do mezipaměti místně na virtuálním počítači.

  • V naplánovaném čase koordinátor komunikuje s modulem plug-in a začne streamovat zálohovaná data z SQL Serveru pomocí VDI.

  • Modul plug-in odesílá data přímo do trezoru služby Recovery Services, čímž eliminuje potřebu přípravného umístění. Data jsou šifrovaná a uložená službou Azure Backup v účtech úložiště.

  • Po dokončení přenosu dat koordinátor potvrdí potvrzení se službou backup.

    Architektura zálohování SQL

Než začnete

Než začnete, ověřte následující požadavky:

  1. Ujistěte se, že máte v Azure spuštěnou instanci SQL Server. Instanci SQL Server můžete rychle vytvořit na marketplace.
  2. Projděte si důležité informace o funkcích a podpoře scénářů.
  3. Projděte si běžné dotazy k tomuto scénáři.

Nastavení oprávnění virtuálního počítače

Když na SQL Server spustíte zjišťování, Azure Backup provede následující:

  • Přidá rozšíření AzureBackupWindowsWorkload.
  • Vytvoří účet NT SERVICE\AzureWLBackupPluginSvc ke zjišťování databází na virtuálním počítači. Tento účet se používá pro zálohování a obnovení a vyžaduje oprávnění správce systému SQL.
  • Vyhledá databáze, které běží na virtuálním počítači, Azure Backup používá účet NT AUTHORITY\SYSTEM. Tento účet musí být veřejným přihlášením k SQL.

Pokud jste virtuální počítač SQL Server nevytvořili v Azure Marketplace nebo používáte SQL 2008 nebo 2008 R2, může se zobrazit chyba UserErrorSQLNoSysadminMembership.

Informace o udělení oprávnění v případě SQL Serveru 2008 a 2008 R2 v systému Windows 2008 R2 najdete tady.

U všech ostatních verzí opravte oprávnění pomocí následujícího postupu:

  1. K přihlášení k SQL Server Management Studio (SSMS) použijte účet s oprávněními správce systému SQL Server. Pokud nepotřebujete zvláštní oprávnění, mělo by ověřování systému Windows fungovat.

  2. Na SQL Server otevřete složku Zabezpečení/Přihlášení.

    Otevřete složku Security/Logins a zobrazte účty.

  3. Klikněte pravým tlačítkem na složku Logins (Přihlášení) a vyberte New Login (Nové přihlášení). V části Přihlášení – nové vyberte Hledat.

    V dialogovém okně Přihlášení – nové vyberte Hledat.

  4. Účet virtuální služby pro Windows NT SERVICE\AzureWLBackupPluginSvc se vytvořil během fáze registrace virtuálního počítače a fáze zjišťování SQL. Zadejte název účtu, jak je znázorněno v části Zadejte název objektu, který chcete vybrat. Výběrem možnosti Zkontrolovat jména přeložte název. Vyberte OK.

    Vyberte Zkontrolovat názvy a přeložte neznámý název služby.

  5. V části Role serveru se ujistěte, že je vybraná role správce systému . Vyberte OK. Požadovaná oprávnění by teď měla existovat.

    Ujistěte se, že je vybraná role serveru sysadmin.

  6. Teď přidružte databázi k trezoru služby Recovery Services. V Azure Portal v seznamu Chráněné servery klikněte pravým tlačítkem na server, který je v chybovém stavu >Znovu vyhledat databáze.

    Ověřte, že server má odpovídající oprávnění.

  7. V oblasti Oznámení zkontrolujte průběh. Po nalezení vybraných databází se zobrazí zpráva o úspěchu.

    Zpráva o úspěchu nasazení

Poznámka

Pokud má váš SQL Server nainstalovaných více instancí SQL Server, musíte ke všem instancím SQL přidat oprávnění správce systému pro účet NT Service\AzureWLBackupPluginSvc.

Udělení oprávnění správce systému SQL pro SQL 2008 a SQL 2008 R2

Přidejte do instance SQL Server přihlášení NT AUTHORITY\SYSTEM a NT Service\AzureWLBackupPluginSvc:

  1. V Průzkumníku objektů přejděte na instanci SQL Server.

  2. Přejděte na Zabezpečení –> Přihlášení.

  3. Klikněte pravým tlačítkem na přihlášení a vyberte Nové přihlášení...

    Nové přihlášení pomocí SSMS

  4. Přejděte na kartu Obecné a jako přihlašovací jméno zadejte NT AUTHORITY\SYSTEM .

    Přihlašovací jméno pro SSMS

  5. Přejděte na Role serveru a zvolte veřejné role a role správce systému .

    Výběr rolí v SSMS

  6. Přejděte na Stav. Udělte oprávnění pro připojení k databázovému stroji a Přihlaste se jako povoleno.

    Udělení oprávnění v SSMS

  7. Vyberte OK.

  8. Opakováním stejného postupu (1 až 7 výše) přidejte přihlášení NT Service\AzureWLBackupPluginSvc k instanci SQL Server. Pokud už přihlášení existuje, ujistěte se, že má roli serveru sysadmin, a v části Stav má možnost Udělit oprávnění pro připojení k databázovému stroji a Přihlásit se jako Povoleno.

  9. Po udělení oprávnění znovu vyhledejte databáze na portálu: Trezor –> Infrastruktura zálohování –> Úloha na virtuálním počítači Azure:

    Opětovné zjišťování databází v Azure Portal

Případně můžete oprávnění automatizovat spuštěním následujících příkazů PowerShellu v režimu správce. Název instance je ve výchozím nastavení nastavený na MSSQLSERVER. V případě potřeby změňte argument názvu instance ve skriptu.

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
}

Konfigurace souběžných záloh

Teď můžete nakonfigurovat zálohování tak, aby se body obnovení a protokoly SQL Serveru ukládaly současně do místního úložiště a trezoru služby Recovery Services.

Chcete-li nakonfigurovat souběžné zálohování, postupujte takto:

  1. Přejděte do C:\Program Files\Azure Workload Backup\bin\plugins umístění a vytvořte soubor PluginConfigSettings.json, pokud tam není.

  2. Přidejte do souboru JSON entity hodnot klíčů oddělené čárkami s klíči EnableLocalDiskBackupForBackupTypes a LocalDiskBackupFolderPath .

    • V části EnableLocalDiskBackupForBackupTypesvypište typy záloh, které chcete uložit místně.

      Pokud například chcete ukládat úplné zálohy a zálohy protokolů , zmiňte ["Full", "Log"]. Pokud chcete ukládat jenom zálohy protokolů, zmiňte ["Log"].

    • V části LocalDiskBackupFolderPathzmiňte cestu k místní složce. Ujistěte se, že při zmínce o cestě v souboru JSON používáte dvojité lomítko .

      Pokud je E:\LocalBackupnapříklad upřednostňovaná cesta pro místní zálohování , zmiňte cestu ve formátu JSON jako E:\\LocalBackup.

      Konečný kód JSON by se měl zobrazit jako:

      {
         "EnableLocalDiskBackupForBackupTypes": ["Log"],
         "LocalDiskBackupFolderPath": "E:\\LocalBackup",
      }
      

      Pokud jsou v souboru JSON další předvyplněné položky, přidejte výše uvedené dvě položky do dolní části souboru JSON těsně před pravou složenou závorku.

  3. Aby se změny projevily okamžitě místo běžné hodiny, přejděte naSlužbySprávce> úloh, klikněte pravým tlačítkem na AzureWLbackupPluginSvc a vyberte Zastavit.

    Upozornění

    Tato akce zruší všechny probíhající úlohy zálohování.

    Zásady vytváření názvů uloženého záložního souboru a jeho struktury složek budou {LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}.

    Pokud máte například databázi Contoso v instanci MSSQLSERVERSQL , budou soubory umístěné v E:\LocalBackup\MSSQLSERVER\Contoso.

    Název souboru je VDI device set guid, který se používá pro operaci zálohování.

  4. Zkontrolujte, jestli cílové umístění v části LocalDiskBackupFolderPath má oprávnění ke čtení a zápisu pro NT Service\AzureWLBackupPluginSvc.

    Poznámka

    U složky na místních discích virtuálního počítače klikněte pravým tlačítkem myši na složku a na kartě Zabezpečení nakonfigurujte požadovaná oprávněníNT Service\AzureWLBackupPluginSvc.

    Pokud používáte síť nebo sdílenou složku SMB, nakonfigurujte oprávnění spuštěním následujících rutin PowerShellu z uživatelské konzoly, která už má oprávnění pro přístup ke sdílené složce:

    $cred = Get-Credential
    New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>:  -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
    

    Příklad:

    $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
    

Další kroky