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. ÚčetNT 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.
Než začnete
Než začnete, ověřte následující požadavky:
- Ujistěte se, že máte spuštěnou instanci SQL Serveru v Azure. Na marketplace můžete rychle vytvořit instanci SQL Serveru.
- Projděte si důležité informace o funkcích a podporu scénářů.
- 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:
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.
Na SQL Serveru otevřete složku Zabezpečení/Přihlášení .
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.
Úč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 čá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.
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.
Zkontrolujte průběh v oblasti Oznámení . Po nalezení vybraných databází se zobrazí zpráva o úspěchu.
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:
V Průzkumníku objektů přejděte na instanci SQL Serveru.
Přejděte na Zabezpečení –> Přihlášení
Klikněte pravým tlačítkem na přihlášení a vyberte Nové přihlášení...
Přejděte na kartu Obecné a jako přihlašovací jméno zadejte NT AUTHORITY\SYSTEM .
Přejděte na Role serveru a zvolte veřejné role a role správce systému.
Přejděte na Stav. Udělte oprávnění pro připojení k databázovému stroji a přihlášení jako povolené.
Vyberte OK.
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.
Po udělení oprávnění na portálu rediscover DBS : Vault –> Manage –> Backup Infrastructure –> Workload in Azure VM:
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:
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.Přidejte entity klíčových hodnot oddělených čárkami s klíči
EnableLocalDiskBackupForBackupTypes
aLocalDiskBackupFolderPath
do souboru JSON.V části vypíšete
EnableLocalDiskBackupForBackupTypes
typy 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
LocalDiskBackupFolderPath
Uveď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 jakoE:\\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.
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 instanciMSSQLSERVER
SQL, soubory se budou nacházet vE:\LocalBackup\MSSQLSERVER\Contoso
umístění .Název souboru je
VDI device set guid
, který se používá pro operaci zálohování.Zkontrolujte, jestli má cílové umístění v části
LocalDiskBackupFolderPath
oprávnění ke čtení a zápisu proNT 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
- Přečtěte si o zálohování databází SQL Serveru.
- Přečtěte si o obnovování zálohovaných databází SQL Serveru.
- Přečtěte si o správě zálohovaných databází SQL Serveru.