Řešení potíží se zálohováním databází SQL Serveru s využitím služby Azure Backup
Tento článek obsahuje informace o řešení potíží pro databáze SQL Serveru spuštěné na virtuálních počítačích Azure.
Další informace o procesu zálohování a omezeních najdete v tématu O zálohování SQL Serveru na virtuálních počítačích Azure.
Oprávnění SQL Serveru
Pokud chcete nakonfigurovat ochranu databáze SQL Serveru na virtuálním počítači, musíte na tento virtuální počítač nainstalovat rozšíření AzureBackupWindowsWorkload . Pokud se zobrazí chyba UserErrorSQLNoSysadminMembership, znamená to, že vaše instance SQL Serveru nemá požadovaná oprávnění k zálohování. Pokud chcete tuto chybu opravit, postupujte podle pokynů v tématu Nastavení oprávnění virtuálního počítače.
Řešení potíží se zjišťováním a konfigurací
Po vytvoření a konfiguraci trezoru služby Recovery Services je zjišťování databází a konfigurace zálohování dvoustupňovým procesem.
Pokud během konfigurace zálohování virtuální počítač SQL a jeho instance nejsou viditelné v databázích zjišťování ve virtuálních počítačích a nakonfigurujte zálohování (viz výše uvedená image), ujistěte se, že:
Krok 1: Zjišťování databází ve virtuálních počítačích
- Pokud virtuální počítač není uvedený v seznamu zjištěných virtuálních počítačů a také není zaregistrovaný pro zálohování SQL v jiném trezoru, postupujte podle kroků pro zálohování SQL Serveru zjišťování.
Krok 2: Konfigurace zálohování
- Pokud je trezor, ve kterém je virtuální počítač SQL zaregistrovaný ve stejném trezoru, který slouží k ochraně databází, postupujte podle kroků konfigurace zálohování .
Pokud je potřeba virtuální počítač SQL zaregistrovat v novém trezoru, musí se zrušit jeho registrace ze starého trezoru. Zrušení registrace virtuálního počítače SQL z trezoru vyžaduje zastavení ochrany všech chráněných zdrojů dat a následné odstranění zálohovaných dat. Odstranění zálohovaných dat je destruktivní operace. Po kontrole a provedení všech opatření k zrušení registrace virtuálního počítače SQL zaregistrujte tento virtuální počítač v novém trezoru a zkuste operaci zálohování zopakovat.
Řešení potíží se zálohováním a obnovením
Občas může dojít k náhodným selháním v operacích zálohování a obnovení nebo se tyto operace zablokují. Důvodem může být antivirový program na vašem virtuálním počítači. Osvědčeným postupem je následující postup:
Vylučte z antivirové kontroly následující složky:
C:\Program Files\Azure Workload Backup
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.RecoveryServices.WorkloadBackup.AzureBackupWindowsWorkload
Nahraďte
C:\
písmenem vašeho SystemDrivu.Z antivirové kontroly vyloučíte následující tři procesy spuštěné v rámci virtuálního počítače:
- IaasWLPluginSvc.exe
- IaaSWorkloadCoordinatorService.exe
- TriggerExtensionJob.exe
SQL také nabízí několik pokynů pro práci s antivirovými programy. Podrobnosti najdete v tomto článku.
Chybná instance na virtuálním počítači s několika instancemi SQL Serveru
Na virtuální počítač SQL můžete provést obnovení pouze v případě, že jsou všechny instance SQL spuštěné v rámci virtuálního počítače v pořádku. Pokud je jedna nebo více instancí chybná, virtuální počítač se nezobrazí jako cíl obnovení. To může být možný důvod, proč se virtuální počítač s více instancemi nemusí během operace obnovení zobrazovat v rozevíracím seznamu Server.
V části Konfigurace zálohování můžete ověřit připravenost zálohování všech instancí SQL na virtuálním počítači:
Pokud chcete aktivovat obnovení u instancí SQL, které jsou v pořádku, proveďte následující kroky:
Přihlaste se k virtuálnímu počítači SQL a přejděte na
C:\Program Files\Azure Workload Backup\bin
.Vytvořte soubor JSON s názvem
ExtensionSettingsOverrides.json
(pokud ještě není k dispozici). Pokud už tento soubor na virtuálním počítači existuje, pokračujte v jeho používání.Do souboru JSON přidejte následující obsah a soubor uložte:
{ "<ExistingKey1>":"<ExistingValue1>", …………………………………………………… , "whitelistedInstancesForInquiry": "FaultyInstance_1,FaultyInstance_2" } Sample content: { "whitelistedInstancesForInquiry": "CRPPA,CRPPB " }
Z webu Azure Portal aktivujte operaci Opětovné konfigurace databází na ovlivněný server (stejné místo, kde je možné vidět připravenost zálohování). Virtuální počítač se začne zobrazovat jako cíl pro operace obnovení.
Po dokončení operace obnovení odeberte položku whitelistedInstancesForInquiry ze souboru ExtensionSettingsOverrides.json.
Chybové zprávy
Nepodporovaný typ zálohování
Závažnost | Popis | Možné příčiny | Doporučená akce |
---|---|---|---|
Upozorňující | Aktuální nastavení pro tuto databázi nepodporují určité typy zálohování, které jsou přítomné v přidružených zásadách. | Upravte nastavení databáze tak, aby se podporovaly všechny typy zálohování v zásadách. Nebo změňte aktuální zásadu tak, aby zahrnovala pouze podporované typy zálohování. Jinak se při plánovaném zálohování přeskočí nepodporované typy zálohování nebo úloha zálohování selže pro zálohování na vyžádání. |
UserErrorSQLPODoesNotSupportBackupType
Chybová zpráva | Možné příčiny | Doporučená akce |
---|---|---|
Tato databáze SQL nepodporuje požadovaný typ zálohování. | Nastane, když model obnovení databáze nepovoluje požadovaný typ zálohování. K chybě může dojít v následujících situacích:
|
Pokud zálohování protokolů pro databázi v jednoduchém modelu obnovení selže, vyzkoušejte jednu z těchto možností:
|
OperationCancelledBecauseConflictingOperationRunningUserError
Chybová zpráva | Možné příčiny | Doporučená akce |
---|---|---|
Operace byla zrušena jako konfliktní operace již spuštěna ve stejné databázi. | K této chybě může dojít v případě, že aktivovaná úloha zálohování na vyžádání je v konfliktu s již spuštěnou operací zálohování aktivovanou rozšířením Azure Backup ve stejné databázi. Toto jsou scénáře, kdy se může zobrazit tento kód chyby:
|
Po selhání konfliktní operace operaci restartujte. |
UserErrorFileManipulationIsNotAllowedDuringBackup
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Operace manipulace se záložními soubory (například ALTER DATABASE ADD FILE) a změny šifrování v databázi musí být serializovány. | Tady jsou případy, kdy se tento kód chyby může zobrazit:
|
Pokud chcete tento problém vyřešit, zakažte druhý produkt zálohování. |
UserErrorSQLPODoesNotExist
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Databáze SQL neexistuje. | Databáze byla odstraněna nebo přejmenována. | Zkontrolujte, jestli se databáze omylem odstranila nebo přejmenovala. Pokud se databáze omylem odstranila a chcete pokračovat v zálohování, obnovte databázi do původního umístění. Pokud jste databázi odstranili a nepotřebujete budoucí zálohy, vyberte v trezoru služby Recovery Services možnost Zastavit zálohování se zachováním zálohovaných dat nebo odstraněním zálohovaných dat. Další informace naleznete v tématu Správa a monitorování zálohovaných databází SQL Serveru. |
UserErrorSQLLSNValidationFailure
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Řetěz protokolů je porušený. | Databáze nebo virtuální počítač se zálohují prostřednictvím jiného řešení zálohování, které zkrátí řetěz protokolů. |
|
UserErrorOpeningSQLConnection
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Azure Backup se nemůže připojit k instanci SQL. | Azure Backup se nemůže připojit k instanci SQL Serveru. | Pomocí dalších podrobností v chybové nabídce webu Azure Portal zúžíte původní příčiny. Informace o řešení chyby najdete v tématu Řešení potíží se zálohováním SQL.
|
UserErrorParentFullBackupMissing
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
U tohoto zdroje dat chybí první úplná záloha. | Pro databázi chybí úplné zálohování. Zálohování protokolů a rozdílových záloh jsou nadřazené k úplnému zálohování, proto před aktivací rozdílových záloh nebo záloh protokolů nezapomeňte provést úplné zálohování. | Aktivujte úplné zálohování na vyžádání. |
UserErrorBackupFailedAsTransactionLogIsFull
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Nelze provést zálohování, protože transakční protokol pro zdroj dat je plný. | Místo transakčního protokolu databáze je plné. | Pokud chcete tento problém vyřešit, projděte si dokumentaci k SQL Serveru. |
UserErrorCannotRestoreExistingDBWithoutForceOverwrite
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Databáze se stejným názvem již v cílovém umístění existuje. | Cíl obnovení cíle již má databázi se stejným názvem. |
|
UserErrorRestoreFailedDatabaseCannotBeOfflined
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Obnovení selhalo, protože databázi nejde nastavit offline. | Během obnovení je potřeba převést cílovou databázi do režimu offline. Azure Backup nemůže přenést tato data do offline režimu. | Pomocí dalších podrobností v chybové nabídce webu Azure Portal zúžíte původní příčiny. Další informace najdete v dokumentaci k SQL Serveru. |
WlExtGenericIOFaultUserError
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Během operace došlo k chybě vstupu a výstupu. Zkontrolujte běžné chyby vstupně-výstupních operací na virtuálním počítači. | Přístupová oprávnění nebo omezení místa v cíli | Zkontrolujte běžné chyby vstupně-výstupních operací na virtuálním počítači. Ujistěte se, že cílová jednotka nebo sdílená síťová složka na počítači: Další informace najdete v tématu Obnovení jako souborů. |
UserErrorCannotFindServerCertificateWithThumbprint
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Nelze najít certifikát serveru s kryptografickým otiskem v cíli. | Hlavní databáze v cílové instanci nemá platný kryptografický otisk šifrování. | Importujte platný kryptografický otisk certifikátu použitý ve zdrojové instanci do cílové instance. |
UserErrorRestoreNotPossibleBecauseLogBackupContainsBulkLoggedChanges
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Záloha protokolů použitá k obnovení obsahuje hromadně protokolované změny. Nelze ho použít k zastavení v libovolném časovém okamžiku podle pokynů SQL. | Pokud je databáze v režimu hromadného protokolování obnovení, data mezi hromadně protokolovanou transakcí a další transakcí protokolu nelze obnovit. | Zvolte jiný bod v čase pro obnovení. Další informace. |
FabricSvcBackupPreferenceCheckFailedUserError
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Předvolbu zálohování pro skupinu dostupnosti SQL AlwaysOn není možné zajistit, protože některé uzly ve skupině dostupnosti nejsou zaregistrované. | Uzly potřebné k provedení zálohování nejsou zaregistrované nebo jsou nedostupné. |
|
VMNotInRunningStateUserError
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Virtuální počítač s SQL Serverem je buď vypnutý, a není přístupný pro službu Azure Backup. | Virtuální počítač je vypnutý. | Ujistěte se, že je spuštěná instance SQL Serveru. |
GuestAgentStatusUnavailableUserError
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Služba Azure Backup používá k zálohování agenta hosta virtuálního počítače Azure, ale agent hosta není na cílovém serveru dostupný. | Agent hosta není povolený nebo není v pořádku. | Nainstalujte agenta hosta virtuálního počítače ručně. |
AutoProtectionCancelledOrNotValid
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Záměr automatické ochrany byl buď odebrán, nebo už není platný. | Když povolíte automatickou ochranu instance SQL Serveru, nakonfigurujte úlohy zálohování spuštěné pro všechny databáze v této instanci. Pokud při spuštění úloh zakážete automatickou ochranu, úlohy probíhající se zruší pomocí tohoto kódu chyby. | Znovu povolte automatickou ochranu, abyste ochránili všechny zbývající databáze. |
CloudDosAbsoluteLimitReached
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Operace je blokovaná, protože jste dosáhli limitu počtu operací povolených za 24 hodin. | Když dosáhnete maximálního přípustného limitu pro operaci v rozsahu 24 hodin, zobrazí se tato chyba. Příklad: Pokud jste dosáhli limitu počtu úloh zálohování, které se dají aktivovat za den, a pokusíte se nakonfigurovat zálohování u nové položky, zobrazí se tato chyba. |
Tento problém obvykle vyřešíte opakováním operace po 24 hodinách. Pokud ale problém přetrvává, můžete požádat o pomoc podporu Microsoftu. |
CloudDosAbsoluteLimitReachedWithRetry
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Operace je blokovaná, protože trezor dosáhl svého maximálního limitu pro takové operace povolené v rozsahu 24 hodin. | Když dosáhnete maximálního přípustného limitu pro operaci v rozsahu 24 hodin, zobrazí se tato chyba. K této chybě obvykle dochází v případě, že existují operace ve velkém měřítku, jako je úprava zásad nebo automatická ochrana. Na rozdíl od případu CloudDosAbsoluteLimitReached není možné tento stav vyřešit. Ve skutečnosti služba Azure Backup bude interně opakovat operace pro všechny dotčené položky. Například: Pokud máte velký počet zdrojů dat chráněných pomocí zásad a pokusíte se tuto zásadu upravit, aktivuje se konfigurace úloh ochrany pro každou z chráněných položek a někdy může dojít k dosažení maximálního povoleného limitu pro tyto operace za den. |
Služba Azure Backup tuto operaci po 24 hodinách automaticky zopakuje. |
WorkloadExtensionNotReachable
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Operace rozšíření úloh AzureBackup selhala. | Virtuální počítač je vypnutý nebo virtuální počítač nemůže kontaktovat službu Azure Backup kvůli problémům s připojením k internetu. |
UserErrorVMInternetConnectivityIssue
Chybová zpráva | Možné příčiny | Doporučené akce |
---|---|---|
Virtuální počítač nemůže kontaktovat službu Azure Backup kvůli problémům s připojením k internetu. | Příčina 1: Virtuální počítač potřebuje odchozí připojení ke službě Azure Backup, Azure Storage nebo službám Microsoft Entra. Příčina 2: Zásada objektu zásad skupiny (GPO) omezuje požadované šifrovací sady pro komunikaci protokolu TLS. |
Doporučení pro příčinu 1: Doporučení pro příčinu 2: Jako alternativní řešení odeberte virtuální počítač z objektu zásad nebo zásadu zásadou zásadu zásadou zásad. Případně upravte objekt zásad služby tak, aby umožňoval požadované šifrovací sady. |
UserErrorOperationNotAllowedDatabaseMirroringEnabled
Chybová zpráva | Možná příčina | Doporučená akce |
---|---|---|
AzureWorkloadBackup nepodporuje zálohování databází, které jsou součástí relace zrcadlení databáze. | Když povolíte operaci zrcadlení v databázi SQL, zobrazí se tato chyba. Azure Backup v současné době nepodporuje databáze s povolenou funkcí. | Můžete odebrat relaci zrcadlení databáze databáze, aby se operace úspěšně dokončila. Pokud už je databáze chráněná, můžete v databázi zastavit operaci zálohování . |
UserErrorWindowsWLExtFailedToStartPluginService
Chybová zpráva | Možná příčina | Doporučení |
---|---|---|
Operace selhává s chybou UserErrorWindowsWLExtFailedToStartPluginService . |
Rozšíření úloh Azure Backup nemůže spustit službu modulu plug-in pro zálohování úloh na virtuálním počítači Azure kvůli chybné konfiguraci účtu služby. | Krok 1: Ověřte, jestli má uživatel NT Service\AzureWLBackupPluginSvc oprávnění ke čtení: - C:\windows\Microsoft.NET \assembly\GAC_32 - C:\windows\Microsoft.NET \assembly\GAC_64 - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config. Pokud oprávnění chybí, přiřaďte oprávnění ke čtení u těchto adresářů. Krok 2: Ověřte, jestli má služba NT Service\AzureWLBackupPluginSvc oprávnění k obejití kontrolních práv pro přecházení přes kontrolu přeskakování přeskakování místních zásad>>zabezpečení. Ve výchozím nastavení musí být vybráni všichni . Pokud chybí všichni uživatelé a služba NT\AzureWLBackupPluginSvc , přidejte uživatele NT Service\AzureWLBackupPluginSvc a pak zkuste službu restartovat nebo aktivovat operaci zálohování nebo obnovení pro zdroj dat. |
Selhání opětovné registrace
Před aktivací operace opětovné registrace zkontrolujte jeden nebo více následujících příznaků:
Všechny operace (například zálohování, obnovení a konfigurace zálohování) na virtuálním počítači selhávají s jedním z následujících kódů chyb: WorkloadExtensionNotReachable, UserErrorWorkloadExtensionNotInstalled, WorkloadExtensionNotPresent, WorkloadExtensionDidntDequeueMsg.
Pokud se v oblasti Stav zálohování pro zálohovanou položku zobrazuje Nedostupné, vyloučíte všechny ostatní příčiny, které můžou mít za následek stejný stav:
- Nedostatek oprávnění k provádění operací souvisejících se zálohováním na virtuálním počítači
- Vypnutí virtuálního počítače, takže zálohování se nedají provést.
- Problémy se sítí
V případě skupiny dostupnosti AlwaysOn začalo zálohování po změně předvolby zálohování nebo po převzetí služeb při selhání selhávající.
Tyto příznaky mohou vzniknout z jednoho nebo několika následujících důvodů:
- Rozšíření bylo odstraněno nebo odinstalováno z portálu.
- Rozšíření se odinstalovalo z Ovládací panely na virtuálním počítači v části Odinstalovat nebo Změnit program.
- Virtuální počítač se obnovil v čase prostřednictvím místního obnovení disku.
- Virtuální počítač se po delší dobu vypnul, takže vypršela jeho konfigurace rozšíření.
- Virtuální počítač se odstranil a vytvořil se jiný virtuální počítač se stejným názvem a ve stejné skupině prostředků jako odstraněný virtuální počítač.
- Jeden z uzlů skupiny dostupnosti neobdržel úplnou konfiguraci zálohování. K tomu může dojít v případě, že je skupina dostupnosti zaregistrovaná v trezoru nebo při přidání nového uzlu.
V předchozích scénářích doporučujeme, abyste na virtuálním počítači aktivovali operaci opětovné registrace. Pokyny k provedení této úlohy v PowerShellu najdete tady .
Omezení velikosti souborů
Celková velikost řetězce souborů závisí nejen na počtu souborů, ale také na jejich názvech a cestách. Pro každý databázový soubor získejte název logického souboru a fyzickou cestu. Můžete použít tento dotaz SQL:
SELECT mf.name AS LogicalName, Physical_Name AS Location FROM sys.master_files mf
INNER JOIN sys.databases db ON db.database_id = mf.database_id
WHERE db.name = N'<Database Name>'
Teď je uspořádejte v následujícím formátu:
[{"path":"<Location>","logicalName":"<LogicalName>","isDir":false},{"path":"<Location>","logicalName":"<LogicalName>","isDir":false}]
Tady je příklad:
[{"path":"F:\\Data\\TestDB12.mdf","logicalName":"TestDB12","isDir":false},{"path":"F:\\Log\\TestDB12_log.ldf","logicalName":"TestDB12_log","isDir":false}]
Pokud velikost řetězce obsahu přesahuje 20 000 bajtů, soubory databáze se ukládají odlišně. Během obnovení nebudete moct nastavit cílovou cestu k souboru pro obnovení. Soubory se obnoví na výchozí cestu SQL, kterou poskytuje SQL Server.
Přepsání výchozí cesty k souboru obnovení cíle
Cestu k cílovému souboru obnovení můžete během operace obnovení přepsat umístěním souboru JSON, který obsahuje mapování souboru databáze na cílovou cestu obnovení. Vytvořte database_name.json
soubor a umístěte ho do umístění C:\Program Files\Azure Workload Backup\bin\plugins\SQL*
.
Obsah souboru by měl být v tomto formátu:
[
{
"Path": "<Restore_Path>",
"LogicalName": "<LogicalName>",
"IsDir": "false"
},
{
"Path": "<Restore_Path>",
"LogicalName": "LogicalName",
"IsDir": "false"
},
]
Tady je příklad:
[
{
"Path": "F:\\Data\\testdb2_1546408741449456.mdf",
"LogicalName": "testdb7",
"IsDir": "false"
},
{
"Path": "F:\\Log\\testdb2_log_1546408741449456.ldf",
"LogicalName": "testdb7_log",
"IsDir": "false"
},
]
V předchozím obsahu můžete získat logický název databázového souboru pomocí následujícího dotazu SQL:
SELECT mf.name AS LogicalName FROM sys.master_files mf
INNER JOIN sys.databases db ON db.database_id = mf.database_id
WHERE db.name = N'<Database Name>'
Tento soubor by se měl umístit před aktivací operace obnovení.
Další kroky
Další informace o službě Azure Backup pro virtuální počítače SQL