首页 > 解决方案 > 使用表中的示例数据克隆数据库

问题描述

我想要一个脚本,它可以快速删除数据库的测试实例并重新创建它,每个表中只有一个行样本。我知道不存在参照完整性问题或其他对象限制,例如链接到记录的存储过程。我尝试了以下方法,但它说明数据库正在使用中。我想我在 drop 和 clone 之间遗漏了一些东西。我在这里做错了什么?还是必须在两个脚本之间拆分?

-- ensure "master" is selected in SSMS
IF EXISTS(select * from sys.databases where name='shoesales_TEST')
ALTER DATABASE shoesales_TEST set single_user with rollback immediate
GO
IF EXISTS(select * from sys.databases where name='shoesales_TEST')
DROP DATABASE shoesales_TEST
GO
DBCC CLONEDATABASE   
(  
    shoesales
    , shoesales_TEST
)
GO
ALTER DATABASE shoesales_TEST SET READ_WRITE
GO
USE shoesales_TEST
GO
INSERT INTO shoesales_TEST.dbo.sizesales
SELECT TOP 30 * FROM shoesales.dbo.sizesales
GO

标签: sql-servertsql

解决方案


推荐阅读