Sdílet prostřednictvím


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 datových proudech pro zálohování SQL Serveru běžícího na virtuálních počítačích Azure. Toto řešení je v souladu s výhodami zálohování nulové infrastruktury, dlouhodobého uchovávání a centrální správy služby Azure Backup. Kromě toho poskytuje následující výhody speciálně pro SQL Server:

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

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 virtuální počítač s SQL Serverem, který chcete chránit a dotazovat se na databáze v ní, služba Azure Backup na virtuální počítač nainstaluje rozšíření zálohování úloh pomocí rozšíření názvu AzureBackupWindowsWorkload .

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

  • Aby bylo možné zjistit 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 virtuální účet služby, takže nevyžaduje žádnou správu hesel. Azure Backup používá NT AUTHORITY\SYSTEM účet ke zjišťování nebo dotazování databáze, 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 u vybraných databází, služba backup nastaví koordinátora s plány zálohování a dalšími podrobnostmi zásad, 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 spustí streamování zálohovaných dat ze serveru SQL 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 spuštěnou instanci SQL Serveru v Azure. Na marketplace můžete rychle vytvořit instanci SQL Serveru.
  2. Projděte si důležité informace o funkcích a podporu 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ž spustíte zjišťování na SQL Serveru, 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.
  • Zjistí 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č s SQL Serverem nevytvořili na Azure Marketplace nebo pokud používáte SQL Server 2008 nebo 2008 R2, může se zobrazit chyba UserErrorSQLNoSysadminMembership .

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

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

  1. Pro přihlášení k aplikaci 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 Serveru otevřete složku Zabezpečení/Přihlášení .

    Otevřete složku Zabezpečení/Přihlášení 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 přihlášení – Nový vyberte Hledat.

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

  4. Účet virtuální služby Systému Windows NT SERVICE\AzureWLBackupPluginSvc byl vytvořen během 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 názvy přeložíte název. Vyberte OK.

    Výběrem možnosti Zkontrolovat názvy 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. Na webu Azure Portal klikněte v seznamu Chráněných serverů pravým tlačítkem myši na server, který je ve stavu >chyby Rediscover DBs.

    Ověřte, že server má příslušná oprávnění.

  7. Zkontrolujte průběh v oblasti Oznámení . 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 Serveru, musíte přidat oprávnění správce systému pro účet NT Service\AzureWLBackupPluginSvc do všech instancí SQL.

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

Přidejte přihlášení NT AUTHORITY\SYSTEM a NT Service\AzureWLBackupPluginSvc k instanci SQL Serveru:

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

  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řihlášení jako povolené.

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

  7. Vyberte OK.

  8. Opakujte stejnou sekvenci kroků (1 až 7 výše) a přidejte přihlášení nt Service\AzureWLBackupPluginSvc k instanci SQL Serveru. Pokud přihlášení již existuje, ujistěte se, že má roli serveru sysadmin a v části Stav má oprávnění pro připojení k databázovému stroji a přihlášení jako povoleno.

  9. Po udělení oprávnění na portálu rediscover DBS : Vault –> Manage –> Backup Infrastructure –> Workload in Azure VM:

    Opětovná konfigurace databází na webu Azure Portal

Případně můžete automatizovat udělení oprávnění spuštěním následujících příkazů PowerShellu v režimu správce. Ve výchozím nastavení je název instance 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álohy tak, aby ukládaly body obnovení a protokoly SQL Serveru do místního úložiště a trezoru služby Recovery Services současně.

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 pak vytvořte soubor PluginConfigSettings.json, pokud není k dispozici.

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

    • V části vypíšete EnableLocalDiskBackupForBackupTypestypy zálohování, které chcete uložit místně.

      Pokud například chcete uložit úplné zálohy a zálohy protokolů, zmiňte ["Full", "Log"] . Chcete-li uložit pouze zálohy protokolů, uveďte ["Log"].

    • V části LocalDiskBackupFolderPathUveďte cestu k místní složce. Při zmínce cesty v souboru JSON se ujistěte, že používáte dvojité lomítko .

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

      Konečný KÓD JSON by se měl zobrazit takto:

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

      Pokud v souboru JSON existují další předem vyplně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. Pokud se změny projeví okamžitě místo pravidelné jedné hodiny, přejděte do služby TaskManager>, 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 struktury složek pro něj budou {LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}.

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

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

  4. Zkontrolujte, jestli má cílové umístění v části LocalDiskBackupFolderPath 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