azure - 从门户恢复已删除的 Azure SQL 数据库 - 部署失败并出现 InternalServerError
问题描述
我正在尝试在 Azure 中测试一些灾难恢复过程。
我在测试服务器上获取了生产 Azure SQL 数据库的副本,将其删除,并尝试使用 SQL Server 下的“已删除数据库”选项恢复它。恢复已删除的数据库备份时,它会在约 34 分钟后失败,并显示:
状态:失败
代码:内部服务器错误
消息:处理请求时发生意外错误。跟踪 ID:'xxxxxxxxxx'
截屏:
我现在已经尝试了两次都没有成功。这是令人担忧的,因为我不确定在同一场景中尝试恢复生产数据库时是否会出现同样的问题。
什么可能导致这个问题?我使用 Sample AdventureWorksLT 源代码进行了相同的测试,它工作得很好,所以它似乎与我的应用程序的生产数据库有关。
解决方案
尝试使用 PowerShell 而不是门户。此外,“冲突”状态表明您正在恢复与正在运行的数据库同名的对象,请尝试将_restored添加到恢复的数据库的名称中。
PS C:\>$DeletedDatabase = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
PS C:\> Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DeletedDatabase.DeletionDate -ResourceGroupName $DeletedDatabase.ResourceGroupName -ServerName $DeletedDatabase.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $DeletedDatabase.ResourceID -Edition "Standard" -ServiceObjectiveName "S2" -PointInTime UTCDateTime
第一个命令获取您要使用还原的已删除数据库备份Get-AzSqlDeletedDatabaseBackup
。第二个命令使用Restore-AzSqlDatabase
cmdlet 从已删除的数据库备份开始还原。如果-PointInTime
不指定参数,数据库将恢复到删除时间。
推荐阅读
- amazon-web-services - 将角色传递给在 kubernetes 上运行的 docker 容器
- curl - curl: (56) GCP SDK 失败,但 VM 没有
- .net-core - Nuget 还原不适用于 Azure Devops 中的工件源
- c# - 处理复杂的匿名 JSON 对象
- solr - 是否可以提高 Solr 中未来查询的相关性分数?
- java - Quarkus websockets 似乎不是异步的还是很慢?
- angular - Angular 7 Highchart Node.marker 在页面加载时不起作用
- sql - “unionall”和“union all”的不同结果集
- c++ - 克鲁斯卡尔算法
- node.js - NestJS 防止在开发中重新加载服务器