为了测试 Windows Azure 的 MSSQL 备份/恢复功能,我选择了一个测试数据库并选择了“导出”选项。它提示我选择一个存储位置,我选择了合适的位置。导出过程“成功”完成。
当我尝试导入导出的文件而不对现有数据库进行任何更改时,导入成功完成。
但是,当我将测试行插入现有数据库的表中,然后尝试将备份导入现有数据库(理论上恢复插入的行)时,遇到了以下错误:
服务操作期间遇到错误。无法将数据导入目标,因为它包含一个或多个用户对象。应针对新的空数据库执行导入。错误 SQL0:无法将数据导入目标,因为它包含一个或多个用户对象。应针对新的空数据库执行导入。
我尝试过的事情:
- 删除现有数据库(保持现有服务器完好无损)并导入到空服务器实例
- 删除现有数据库,创建一个具有相同名称的新数据库/空数据库,然后导入它。
每次我都会遇到与上述相同的错误。
在所有我不知道的事情中,哪一个可以教我以解决上述问题?
答案1
我问了这个问题后很快就找到了答案。现在想想,这真是太愚蠢了。
第一次成功导入后,Azure UI 没有更新以显示已导入的数据库,该数据库已导入其默认备份名称。(BlahBlahTest-2013-1-8-57)
因此,在随后的所有导入数据库的尝试中,它基本上都在告诉我数据库已经存在,即使它没有显示在 UI 中。经过一些手柄抖动后,我可以在 Azure 管理 UI 中看到导入的数据库。
结果:导出/导入 MSSQL 数据库似乎在小型数据库上运行良好。只需确保在导入后刷新 UI。(如有必要,请注销然后重新登录)