关于无需副本恢复Azure SQL Server至历史时间点及低成本创建Azure SQL Database离线永久副本的技术咨询
Great question—let’s walk through the best options that align with your goal of creating a permanent offline copy without incurring the ~€80 instance cost from point-in-time restores.
Key Background Recap
First, to confirm what you already know:
- Azure SQL Database’s automatic backups are temporary (retention periods 7–35 days depending on your tier) and point-in-time restores spin up a new database instance, which adds compute costs.
- You don’t want to download backups, and you’re willing to create the backup yourself—perfect, because there’s a straightforward solution here.
The Best Solution: Export to Azure Blob Storage as a BACPAC
This method creates a static, permanent offline copy of your database with minimal cost (only storage fees, not compute) and lets you restore it back to Azure SQL Database whenever needed.
How it works
- A BACPAC is a compressed file containing your database schema and data. You can export it directly to Azure Blob Storage via the Azure Portal, PowerShell, or Azure CLI.
- Unlike point-in-time restores, this doesn’t create a running database instance—so you avoid that ~€80 compute cost. The only expense is the Blob Storage (e.g., Standard_LRS storage costs pennies per GB monthly, which is negligible compared to instance costs).
- You can keep this BACPAC indefinitely in storage (as long as you don’t delete it), making it a true "permanent" offline copy.
Example Commands
Azure CLI
az sql db export \ --resource-group your-resource-group \ --server your-sql-server \ --name your-database \ --storage-key-type StorageAccessKey \ --storage-key "your-blob-storage-access-key" \ --storage-uri "https://yourstorageaccount.blob.core.windows.net/backups/your-database.bacpac"
PowerShell
New-AzSqlDatabaseExport ` -ResourceGroupName "your-resource-group" ` -ServerName "your-sql-server" ` -DatabaseName "your-database" ` -StorageKeyType "StorageAccessKey" ` -StorageKey "your-blob-storage-access-key" ` -StorageUri "https://yourstorageaccount.blob.core.windows.net/backups/your-database.bacpac"
Pro Tips
- For consistency, consider exporting from a read-only replica (if you already have one set up for workload scaling)—this avoids impacting your primary database’s performance, and you’re already paying for the replica so no extra cost there.
- Use cool or archive storage tiers for the BACPAC if you don’t need frequent access—this reduces storage costs even further.
Restoring the BACPAC
When you need to restore, you can import the BACPAC back into Azure SQL Database via the same tools (Portal, CLI, PowerShell). This will create a new database instance, but you only pay for that instance if you keep it running—you can delete it once you’re done if you just need to retrieve data, or keep it as a new copy if required.
Final Verdict
This method perfectly fits your requirements:
- No extra compute costs beyond your existing setup (only minimal storage fees)
- Creates a permanent offline copy
- Doesn’t require downloading backup files
- Lets you restore back to Azure SQL Database easily
内容的提问来源于stack exchange,提问作者ntg

