我正在编写一项服务,通过发出以下命令每隔一段时间创建某个 SQL Azure 数据库的副本:
CREATE DATABASE [copy] AS COPY OF [original]
然后,我定期检查 sys.dm_database_copies 表以查看复制是否完成。基本上,如果 dm_database_copies 条目不存在,则复制已完成。
我关心的是以下内容: 如果复制失败怎么办? dm_database_copies 条目是否被删除? 我的感觉是不应该被删除,因为它包含有关错误的信息, 但我不能确定,因为我实际上从未遇到过数据库复制失败的情况。
所以底线问题是:除了成功复制之外,特定数据库 ID 的 dm_database_copies 条目是否会被删除?
提前非常感谢
最佳答案
我在复制大型数据库(> 100 GB)时失败,并且记录未删除。
来自documentation我读到:
When the database copy completes successfully and the new database becomes ONLINE, the row in the sys.dm_database_copies view is removed automatically.
因此,根据我的经验,它隐含地表明,如果复制过程失败,则不会删除该行。
关于c# - 处理 SQL Azure 数据库副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284023/