Kopírování transakční konzistentní kopie databáze ve službě Azure SQL Database
Platí pro: Azure SQL Database
Azure SQL Database poskytuje několik metod pro vytvoření kopie existující databáze na stejném serveru nebo jiném serveru. Databázi můžete zkopírovat pomocí webu Azure Portal, PowerShellu, Azure CLI nebo Jazyka Transact-SQL.
Poznámka:
ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).
Přehled
Kopie databáze je transakční konzistentní snímek zdrojové databáze v okamžiku, kdy je inicializován požadavek na kopírování. Pro kopii můžete vybrat stejný server nebo jiný server. Můžete také zvolit, jestli chcete zachovat redundanci zálohování a velikost výpočetních prostředků zdrojové databáze, nebo použít jinou redundanci úložiště zálohování nebo velikost výpočetních prostředků ve stejné úrovni služby. Databázi na úrovni služby Standard je také možné zkopírovat na úroveň Standard nebo Pro obecné účely a databázi v úrovni služby Premium na úroveň Premium nebo Pro důležité obchodní informace.
Po dokončení kopírování je nová databáze plně funkční a nezávislá databáze pro zdrojovou databázi. Přihlašovací údaje, uživatelé a oprávnění v kopírované databázi jsou spravovány nezávisle na zdrojové databázi. Kopie se vytvoří pomocí technologie geografické replikace. Po dokončení počáteční repliky se připojení geografické replikace automaticky ukončí. Všechny požadavky pro používání geografické replikace se vztahují i na operaci kopírování databáze. Podrobnosti najdete v přehledu aktivní geografické replikace.
Poznámka:
Azure Portal, PowerShell a Azure CLI nepodporují kopírování databáze do jiného předplatného.
Kopírování databáze pro databáze Hyperscale
U databází na úrovni služby Hyperscale cílová databáze určuje, jestli je kopie rychlá kopie, nebo kopírování velikosti dat:
Rychlé kopírování: Po dokončení kopírování ve stejné oblasti jako zdroj se kopie vytvoří ze snímků objektů blob, tato kopie je rychlá operace bez ohledu na velikost databáze.
Kopie velikosti dat: Pokud je cílová databáze v jiné oblasti než zdroj nebo pokud se redundance úložiště záloh databáze (místní, zónová, geografická) od cíle liší, operace kopírování je operace kopírování operace velikost dat. Doba kopírování není přímo úměrná velikosti, protože objekty blob serveru stránky se kopírují paralelně.
Přihlášení v kopii databáze
Při kopírování databáze na stejný server je možné použít stejná přihlášení v obou databázích. Objekt zabezpečení, který použijete ke kopírování databáze, se stane vlastníkem databáze v nové databázi.
Při kopírování databáze na jiný server se objekt zabezpečení, který inicioval operaci kopírování na cílovém serveru, stává vlastníkem nové databáze.
Bez ohledu na cílový server se všichni uživatelé databáze, oprávnění a identifikátory zabezpečení (SID) zkopírují do kopie databáze. Použití uživatelů databáze s omezením pro přístup k datům zajistí, že zkopírovaná databáze bude mít stejné přihlašovací údaje uživatele, takže po dokončení kopie budete mít okamžitý přístup se stejnými přihlašovacími údaji.
Pokud používáte pro přístup k datům přihlášení na úrovni serveru a kopírujete databázi na jiný server, nemusí přístup založený na přihlášení fungovat. K tomu může dojít, protože přihlášení na cílovém serveru neexistují, nebo protože tato hesla a identifikátory zabezpečení (SID) se liší. Další informace o správě přihlášení při kopírování databáze na jiný server naleznete v tématu Správa zabezpečení služby Azure SQL Database po zotavení po havárii. Po úspěšném dokončení operace kopírování na jiný server a před opětovným namapování jiných uživatelů se k zkopírované databázi může přihlásit pouze přihlášení přidružené k vlastníkovi databáze nebo se správce serveru může přihlásit ke zkopírované databázi. Pokud chcete po dokončení operace kopírování vyřešit přihlášení a vytvořit přístup k datům, přečtěte si téma Řešení přihlášení.
Kopírování s použitím webu Azure Portal
Pokud chcete zkopírovat databázi pomocí webu Azure Portal, otevřete stránku databáze a pak zvolte Kopírovat , aby se otevřela stránka Vytvořit databázi SQL – Kopírování databáze . Vyplňte hodnoty cílového serveru, do kterého chcete databázi zkopírovat.
Kopírování databáze
Databázi můžete zkopírovat pomocí PowerShellu, Azure CLI a Jazyka Transact-SQL (T-SQL).
Pro PowerShell použijte rutinu New-AzSqlDatabaseCopy .
Důležité
Azure SQL Database stále podporuje modul Azure Resource Manageru (RM), ale veškerý budoucí vývoj je určený pro modul Az.Sql. Modul AzureRM bude dál dostávat opravy chyb až do alespoň prosince 2020. Argumenty pro příkazy v modulu Az a v modulech AzureRm jsou podstatně identické. Další informace o jejich kompatibilitě najdete v tématu Představení nového modulu Az Azure PowerShellu.
New-AzSqlDatabaseCopy -ResourceGroupName "<resourceGroup>" -ServerName $sourceserver -DatabaseName "<databaseName>" `
-CopyResourceGroupName "myResourceGroup" -CopyServerName $targetserver -CopyDatabaseName "CopyOfMySampleDatabase"
Kopie databáze je asynchronní operace, ale cílová databáze se vytvoří okamžitě po přijetí požadavku. Pokud potřebujete operaci kopírování zrušit, i když stále probíhá, odstraňte cílovou databázi pomocí rutiny Remove-AzSqlDatabase .
Úplný ukázkový skript PowerShellu najdete v tématu Kopírování databáze na nový server.
Monitorování průběhu operace kopírování
Sledujte proces kopírování dotazováním zobrazení sys.databases, sys.dm_database_copies a sys.dm_operation_status . Zatímco probíhá kopírování, state_desc
sloupec sys.databases
zobrazení nové databáze je nastaven na COPYING
hodnotu .
- Pokud kopírování selže,
state_desc
nastaví se sloupecsys.databases
zobrazení nové databáze naSUSPECT
hodnotu . Spusťte příkaz DROP v nové databázi a zkuste to znovu později. - Pokud kopírování proběhne úspěšně,
state_desc
nastaví se sloupecsys.databases
zobrazení nové databáze naONLINE
hodnotu . Kopírování je hotové a nová databáze je běžná databáze, kterou je možné změnit nezávisle na zdrojové databázi.
Poznámka:
Pokud se rozhodnete zrušit kopírování, zatímco probíhá, spusťte v nové databázi příkaz DROP DATABASE .
Důležité
Pokud potřebujete vytvořit kopii s podstatně menším cílem služby než zdroj, nemusí mít cílová databáze dostatek prostředků k dokončení procesu počátečního zpracování a může způsobit selhání operace kopírování. V tomto scénáři použijte žádost o geografické obnovení k vytvoření kopie na jiném serveru nebo jiné oblasti. Další informace najdete v tématu Obnovení služby Azure SQL Database pomocí záloh databází.
Oprávnění
Pokud chcete vytvořit kopii databáze, musíte být v následujících rolích:
- Vlastník předplatného nebo
- Role přispěvatele SQL Serveru nebo
- Vlastní role na zdrojovém serveru s následujícími oprávněními:
- Microsoft.Sql/servers/databases/read
- Microsoft.Sql/servers/databases/write a
- Vlastní role na cílovém serveru s následujícími oprávněními:
- Microsoft.Sql/servers/read
- Microsoft.Sql/servers/databases/read
- Microsoft.Sql/servers/databases/write
Pokud chcete zrušit kopii databáze, musíte být v následujících rolích:
- Vlastník předplatného nebo
- Role přispěvatele SQL Serveru nebo
- Vlastní role v cílové databázi s následujícím oprávněním:
- Microsoft.Sql/servers/databases/delete
Ke správě kopírování databáze pomocí webu Azure Portal potřebujete také následující oprávnění:
- Microsoft.Resources/subscriptions/resources/read
- Microsoft.Resources/deployments/read
- Microsoft.Resources/deployments/write
- Microsoft.Resources/deployments/operationstatuses/read
Pokud chcete zobrazit operace v rámci nasazení ve skupině prostředků na portálu, operace napříč několika poskytovateli prostředků, včetně operací SQL, potřebujete tato další oprávnění:
- Microsoft.Resources/subscriptions/resourcegroups/deployments/operations/read
- Microsoft.Resources/subscriptions/resourcegroups/deployments/operationstatuses/read
Řešení problémů s přihlášeními
Jakmile bude nová databáze na cílovém serveru online, použijte příkaz ALTER USER k přemapování uživatelů z nové databáze na přihlášení na cílovém serveru. Pokud chcete vyřešit osamocené uživatele, přečtěte si téma Řešení potíží se osamocenými uživateli. Viz také Postup správy zabezpečení služby Azure SQL Database po zotavení po havárii.
Všichni uživatelé v nové databázi si zachovají oprávnění, která měli ve zdrojové databázi. Uživatel, který spustil kopii databáze, se stane vlastníkem databáze nové databáze. Po úspěšném kopírování a před opětovným namapováním jiných uživatelů se k nové databázi může přihlásit jenom vlastník databáze.
Informace o správě uživatelů a přihlášení při kopírování databáze na jiný server najdete v tématu Správa zabezpečení služby Azure SQL Database po zotavení po havárii.
Chyby kopírování databáze
Při kopírování databáze v Azure SQL Database může docházet k následujícím chybám. Další informace najdete v tématu Kopírování databáze služby Azure SQL Database.
Kód chyby | Závažnost | Popis |
---|---|---|
40635 | 16 | Klient s IP adresou %.*ls je dočasně zakázaný. |
40637 | 16 | Vytvoření kopie databáze je momentálně zakázáno. |
40561 | 16 | Kopírování databáze selhalo. Zdrojová nebo cílová databáze neexistuje. |
40562 | 16 | Kopírování databáze selhalo. Zdrojová databáze byla vyřazena. |
40563 | 16 | Kopírování databáze selhalo. Cílová databáze byla vyřazena. |
40564 | 16 | Kopírování databáze selhalo kvůli vnitřní chybě. Zahoďte cílovou databázi a zkuste to znovu. |
40565 | 16 | Kopírování databáze selhalo. Není povoleno více než 1 souběžné kopírování databáze ze stejného zdroje. Zahoďte cílovou databázi a zkuste to znovu později. |
40566 | 16 | Kopírování databáze selhalo kvůli vnitřní chybě. Zahoďte cílovou databázi a zkuste to znovu. |
40567 | 16 | Kopírování databáze selhalo kvůli vnitřní chybě. Zahoďte cílovou databázi a zkuste to znovu. |
40568 | 16 | Kopírování databáze selhalo. Zdrojová databáze začala být nedostupná. Zahoďte cílovou databázi a zkuste to znovu. |
40569 | 16 | Kopírování databáze selhalo. Cílová databáze začala být nedostupná. Zahoďte cílovou databázi a zkuste to znovu. |
40570 | 16 | Kopírování databáze selhalo kvůli vnitřní chybě. Zahoďte cílovou databázi a zkuste to znovu později. |
40571 | 16 | Kopírování databáze selhalo kvůli vnitřní chybě. Zahoďte cílovou databázi a zkuste to znovu později. |
Související obsah
- Autorizace přístupu k databázi pro služby SQL Database, SQL Managed Instance a Azure Synapse Analytics
- Konfigurace a správa zabezpečení služby Azure SQL Database pro geografické obnovení nebo převzetí služeb při selhání
- Pomocí webu Azure Portal můžete provést Export do souboru BACPAC – Azure SQL Database a Azure SQL Managed Instance.