Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tip
Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, začněte pracovat s Fabric Data Warehouse. Stávající úlohy fondu dedikované SQL můžou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analýzou v reálném čase a reportováním.
V tomto článku se dozvíte, jak obnovit existující vyhrazený fond SQL ve službě Azure Synapse Analytics pomocí webu Azure Portal, Synapse Studia a PowerShellu. Tento článek se týká jak obnovy, tak geografické obnovy.
Poznámka:
Tyto pokyny jsou určené pouze pro vyhrazené fondy SQL v pracovních prostorech Azure Synapse. Samostatné vyhrazené fondy SQL (dříve SQL DW) najdete v tématu Obnovení existujícího vyhrazeného fondu SQL (dříve SQL DW).
Obnovení existujícího vyhrazeného fondu SQL prostřednictvím Synapse Studia
Přihlaste se k portálu Azure.
Přejděte do svého pracovního prostoru Azure Synapse.
V části Začínáme ->Open Synapse Studio vyberte Otevřít.
V levém navigačním podokně vyberte Data.
Vyberte Spravovat fondy.
Vyberte + Nový a vytvořte nový vyhrazený fond SQL v pracovním prostoru Azure Synapse Analytics.
Na kartě Další nastavení vyberte bod obnovení, ze které chcete provést obnovení.
Pokud chcete provést geografické obnovení, vyberte pracovní prostor a vyhrazený fond SQL, který chcete obnovit.
Vyberte buď automatické body obnovení, nebo uživatelsky definované body obnovení.
Pokud vyhrazený fond SQL nemá žádné automatické body obnovení, počkejte několik hodin nebo před obnovením vytvořte uživatelem definovaný bod obnovení. V případě uživatelem definovaných bodů obnovení vyberte existující nebo vytvořte nový.
Pokud chcete obnovit vyhrazený fond SQL z jiného pracovního prostoru, vyberte Nový vyhrazený fond SQL z aktuálního pracovního prostoru. Na kartě Další nastavení vyhledejte Použít existující data a vyberte Bod obnovení. Jak je znázorněno na výše uvedeném snímku obrazovky, můžete vybrat název serveru nebo pracovního prostoru , ze kterého můžete obnovit.
Pokud obnovujete geografickou zálohu, vyberte pracovní prostor umístěný ve zdrojové oblasti a vyhrazený fond SQL, který chcete obnovit.
Poznámka:
Nelze provést obnovení fondu SQL na místě, pokud má stejný název jako stávající fond. Bez ohledu na to, jestli je fond SQL ve stejném pracovním prostoru nebo v jiném pracovním prostoru.
Vyberte Zkontrolovat + vytvořit.
Obnovení existujícího vyhrazeného fondu SQL prostřednictvím webu Azure Portal
Přihlaste se k portálu Azure.
Přejděte do vyhrazeného fondu SQL, ze kterého chcete provést obnovení.
V horní části stránky Přehled vyberte Obnovit.
Vyberte buď automatické body obnovení, nebo uživatelsky definované body obnovení.
Pokud vyhrazený fond SQL nemá žádné automatické body obnovení, počkejte několik hodin nebo před obnovením vytvořte uživatelem definovaný bod obnovení.
Pokud chcete provést geografické obnovení, vyberte pracovní prostor a vyhrazený fond SQL, který chcete obnovit.
Vyberte Zkontrolovat + vytvořit.
Obnovení existujícího vyhrazeného fondu SQL prostřednictvím PowerShellu
Otevřete terminál PowerShellu.
Připojte se ke svému účtu Azure a uveďte všechna předplatná přidružená k vašemu účtu.
Vyberte předplatné, které obsahuje fond SQL, který se má obnovit.
Vypište body obnovení pro vyhrazený SQL pool.
Pomocí metody RestorePointCreationDate vyberte požadovaný bod obnovení.
Obnovte vyhrazený fond SQL do požadovaného bodu obnovení pomocí příkazu PowerShell Restore-AzSynapseSqlPool.
- Pokud chcete obnovit vyhrazený fond SQL do jiného pracovního prostoru, nezapomeňte zadat název jiného pracovního prostoru. Tento pracovní prostor může být také v jiné skupině prostředků a oblasti.
- Pokud chcete provést obnovení do jiného předplatného, přečtěte si část Obnovení existujícího vyhrazeného fondu SQL do jiného předplatného prostřednictvím PowerShellu dále v tomto článku.
Ověřte, že obnovený vyhrazený fond SQL je online.
$SubscriptionName="<YourSubscriptionName>" $ResourceGroupName="<YourResourceGroupName>" $WorkspaceName="<YourWorkspaceNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net #$TargetResourceGroupName="<YourTargetResourceGroupName>" # uncomment to restore to a different workspace. #$TargetWorkspaceName="<YourtargetWorkspaceNameWithoutURLSuffixSeeNote>" $SQLPoolName="<YourDatabaseName>" $NewSQLPoolName="<YourDatabaseName>" Connect-AzAccount Get-AzSubscription Select-AzSubscription -SubscriptionName $SubscriptionName # list all restore points Get-AzSynapseSqlPoolRestorePoint -ResourceGroupName $ResourceGroupName -WorkspaceName $WorkspaceName -Name $SQLPoolName # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx" $PointInTime="<RestorePointCreationDate>" # Get the specific SQL pool to restore $SQLPool = Get-AzSynapseSqlPool -ResourceGroupName $ResourceGroupName -WorkspaceName $WorkspaceName -Name $SQLPoolName # Transform Synapse SQL pool resource ID to SQL database ID because currently the restore command only accepts the SQL database ID format. $DatabaseID = $SQLPool.Id -replace "Microsoft.Synapse", "Microsoft.Sql" ` -replace "workspaces", "servers" ` -replace "sqlPools", "databases" # Restore database from a restore point $RestoredDatabase = Restore-AzSynapseSqlPool –FromRestorePoint -RestorePoint $PointInTime -ResourceGroupName $SQLPool.ResourceGroupName ` -WorkspaceName $SQLPool.WorkspaceName -TargetSqlPoolName $NewSQLPoolName –ResourceId $DatabaseID -PerformanceLevel DW100c # Use the following command to restore to a different workspace #$TargetResourceGroupName = $SQLPool.ResourceGroupName # for restoring to different workspace in same resourcegroup #$RestoredDatabase = Restore-AzSynapseSqlPool –FromRestorePoint -RestorePoint $PointInTime -ResourceGroupName $TargetResourceGroupName ` # -WorkspaceName $TargetWorkspaceName -TargetSqlPoolName $NewSQLPoolName –ResourceId $DatabaseID -PerformanceLevel DW100c # Verify the status of restored database $RestoredDatabase.status
Obnovení existujícího vyhrazeného fondu SQL do jiného předplatného prostřednictvím PowerShellu
Při obnovení napříč předplatnými je možné vyhrazený fond SQL v pracovním prostoru Azure Synapse obnovit pouze přímo do samostatného vyhrazeného fondu SQL (dříve SQL DW). Pokud je potřeba obnovit vyhrazený fond SQL v pracovním prostoru Azure Synapse do pracovního prostoru v cílovém předplatném, je potřeba provést další krok obnovení.
Následující příklad PowerShellu je podobný předchozímu příkladu, ale existují tři hlavní rozdíly:
- Po načtení objektu fondu SQL, který se má obnovit, je potřeba přepnout kontext předplatného na cílový (nebo zamýšlený) název předplatného.
- Při provádění obnovení použijte moduly Az.Sql místo modulů Az.Synapse.
- Následující ukázkový kód obsahuje další kroky pro obnovení pracovního prostoru Azure Synapse v cílovém předplatném. Odkomentujte příkazy PowerShellu, jak je popsáno v ukázce.
Steps:
Otevřete terminál PowerShellu.
Pokud používáte starší verzi,
Update-Moduleaktualizujte modul Az.Sql na verzi 3.8.0 (nebo vyšší). Jinak způsobí selhání. Ověření vaší verze pomocí PowerShellu:foreach ($i in (get-module -ListAvailable | ?{$_.name -eq 'az.sql'}).Version) { $version = [string]$i.Major + "." + [string]$i.Minor; if ($version -gt 3.7) {write-host "Az.Sql version $version installed. Prerequisite met."} else {update-module az.sql} }Připojte se ke svému účtu Azure a uveďte všechna předplatná přidružená k vašemu účtu.
Vyberte předplatné, které obsahuje fond SQL, který se má obnovit.
Vypište body obnovení pro vyhrazený SQL pool.
Pomocí metody RestorePointCreationDate vyberte požadovaný bod obnovení.
Vyberte cílové předplatné, ve kterém se má obnovit fond SQL.
Obnovte vyhrazený fond SQL do požadovaného bodu obnovení pomocí cmdletu PowerShell Restore-AzSqlDatabase.
Ověřte, že obnovený vyhrazený fond SQL (dříve SQL DW) je online.
Pokud je požadovaným cílem pracovní prostor Synapse, odkomentujte kód a proveďte další krok obnovení.
Vytvořte bod obnovení pro nově vytvořený datový sklad.
Načtěte poslední bod obnovení, který byl vytvořen pomocí syntaxe
Select -Last 1.Proveďte obnovení do požadovaného pracovního prostoru Azure Synapse.
$SourceSubscriptionName="<YourSubscriptionName>" $SourceResourceGroupName="<YourResourceGroupName>" $SourceWorkspaceName="<YourServerNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net $SourceSQLPoolName="<YourDatabaseName>" $TargetSubscriptionName="<YourTargetSubscriptionName>" $TargetResourceGroupName="<YourTargetResourceGroupName>" $TargetServerName="<YourTargetServerNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net $TargetDatabaseName="<YourDatabaseName>" #$TargetWorkspaceName="<YourTargetWorkspaceName>" # uncomment if restore to an Azure Synapse workspace is required # Update Az.Sql module to the latest version (3.8.0 or above) # Update-Module -Name Az.Sql -RequiredVersion 3.8.0 Connect-AzAccount Get-AzSubscription Select-AzSubscription -SubscriptionName $SourceSubscriptionName # list all restore points Get-AzSynapseSqlPoolRestorePoint -ResourceGroupName $SourceResourceGroupName -WorkspaceName $SourceWorkspaceName -Name $SourceSQLPoolName # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx" $PointInTime="<RestorePointCreationDate>" # Get the specific SQL pool to restore $SQLPool = Get-AzSynapseSqlPool -ResourceGroupName $SourceResourceGroupName -WorkspaceName $SourceWorkspaceName -Name $SourceSQLPoolName # Transform Synapse SQL pool resource ID to SQL database ID because currently the restore command only accepts the SQL database ID format. $DatabaseID = $SQLPool.Id -replace "Microsoft.Synapse", "Microsoft.Sql" ` -replace "workspaces", "servers" ` -replace "sqlPools", "databases" # Switch context to the destination subscription Select-AzSubscription -SubscriptionName $TargetSubscriptionName # Restore database from a desired restore point of the source database to the target server in the desired subscription $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName ` -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName –ResourceId $DatabaseID # Verify the status of restored database $RestoredDatabase.status # uncomment below cmdlets to perform one more restore to push the SQL Pool to an existing workspace in the destination subscription # # Create restore point # New-AzSqlDatabaseRestorePoint -ResourceGroupName $RestoredDatabase.ResourceGroupName -ServerName $RestoredDatabase.ServerName ` # -DatabaseName $RestoredDatabase.DatabaseName -RestorePointLabel "UD-001" # # Gets the last restore point of the sql dw (will use the RestorePointCreationDate property) # $RestorePoint = Get-AzSqlDatabaseRestorePoint -ResourceGroupName $RestoredDatabase.ResourceGroupName -ServerName $RestoredDatabase.ServerName ` # -DatabaseName $RestoredDatabase.DatabaseName | Select -Last 1 # # Restore to destination synapse workspace # $FinalRestore = Restore-AzSynapseSqlPool –FromRestorePoint -RestorePoint $RestorePoint.RestorePointCreationDate -ResourceGroupName $TargetResourceGroupName ` # -WorkspaceName $TargetWorkspaceName -TargetSqlPoolName $TargetDatabaseName –ResourceId $RestoredDatabase.ResourceID -PerformanceLevel DW100c
Odstraňování potíží
Chyba: RequestTimeout během obnovení
Operace obnovení může vést k selhání nasazení kvůli výjimce RequestTimeout.
Tento časový limit je možné ignorovat. Zkontrolujte stránku vyhrazeného fondu SQL na portálu Azure, a může mít stále stav "Restoring," dokud nakonec nepřejde na "Online."
Chyba: Ověření se nezdařilo: Zadané ID prostředku není pro tuto operaci platné. Použijte zdroj fondu SQL.
Pokud dostanete tuto chybu, ověřte, že používá sourceDatabaseId podporovaný formát ID zdrojů a identifikuje zamýšlený zdrojový dedikovaný SQL pool.
Podporované formáty
Synapse SQL pool resource ID /subscriptions/{subscriptionId}/resourceGroups/{workspaceResourceGroup}/providers/Microsoft. Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}
Managed SQL Database Resource ID /subscriptions/{subscriptionId}/resourceGroups/{managedResourceGroup}/providers/Microsoft. Sql/servers/{serverName}/databases/{databaseName}