自动azure sql导出失败

时间:2013-12-31 12:05:32

标签: azure azure-sql-database

我需要自动将.bacpac文件导出到blob存储。 在azure管理门户中,我已对其进行了配置,以便导出db。但它一次又一次失败,它在操作日志中说:“......创建临时数据库失败..”和这样的电子邮件“......无法进行导出的临时数据库副本。 您可以在Windows Azure中查看此自动SQL导出的更多详细信息 管理门户“。有人有线索。?问候

2 个答案:

答案 0 :(得分:2)

我们的自动sql azure备份遇到了同样的问题。作为我们故障排除的一部分,我们首先尝试通过较新的azure门户网站(portal.azure.com)中的“导出”链接手动导出到blob存储。如果失败 - 或者实际上从未完成且“通知”侧标签中没有错误,我们决定转移到较旧的azure门户网站(manage.windowsazure.com),希望收到更详细的错误消息。

当我们在旧门户网站中手动启动导出时,我们很快就会在屏幕底部收到一条非常详细的错误消息,您会在其中找到通知。

我们专门针对的错误与我们创建的存储过程有关,这些存储过程可帮助我们解决索引的性能问题。有些人可能熟悉存储过程:sp_AskBrent(http://www.brentozar.com/askbrent/)。

基本上发生了什么是sql azure允许我们创建存储过程并执行它。但是,备份/导出功能在我们的数据库中使用该存储过程失败。原因是sp正在引用tempdb。

我们最终删除了sp_AskBrent存储过程,之后备份/导出再次开始工作。希望这有助于某人。

答案 1 :(得分:0)

此错误通常是由于数据库中的架构更改导致对象变为无效。

您可以通过在门户中进行手动导出来查看是否是这种情况。导出将失败,并生成红色通知,说明"导出数据库' db_name'失败。点击"详细信息"将在圆圈中显示另一行,其中包含实际的错误消息。

错误消息可能如下所示:

 Error encountered during the service operation. 
 Validation of the schema model for data package failed.
 Error SQL71501: Error validating element.... 

在大多数情况下,这是模式更改导致存储过程,视图或函数无效的结果。最简单的示例是删除存储过程或视图中引用的列。

原因是bacpac文件还会生成复制架构所需的命令。如果其中一些命令失败(因为它们引用了不存在的列),则整个恢复将失败。

只需修复错误日志中提到的任何视图/存储过程/函数,然后恢复导出。