我正在编写一个服务,通过发出以下内容,每隔一段时间创建一个特定SQL Azure数据库的副本:
CREATE DATABASE [copy] AS COPY OF [original]
然后我定期检查sys.dm_database_copies表以查看副本是否完成。基本上,如果没有dm_database_copies条目,则完成复制。
我关注的是以下内容: 如果复制失败怎么办?是否删除了dm_database_copies条目? 我的感觉是不应该被删除,因为它包含有关错误的信息, 但我不能确定,因为我实际上从未有过db拷贝失败。
所以最重要的问题是:特定数据库ID的dm_database_copies条目是否会在成功复制之外被删除?
非常感谢提前
答案 0 :(得分:2)
我在复制大型数据库(> 100 GB)时失败,并且记录未被删除。
从documentation我读到:
数据库副本成功完成后和新数据库 变为ONLINE,sys.dm_database_copies视图中的行将被删除 自动。
所以它隐含地声明,如果复制过程失败,那么根据我的经验不会删除该行。