我在几个SQL Server数据库上有一组遗留测试数据,我希望以一种可以重放到空数据库(具有相同模式)的形式提取这些数据。我想这样做,以便我可以在我的源代码控制系统中将我的测试数据作为SQL脚本(或其他脚本格式)进行管理 - 目前多年创建的测试数据仅作为SQL Server备份存在。
我不认为SQL Server可以以允许它以参照完整性兼容顺序重放的格式提取数据 - 或者可以吗?或者它有一个技术方法,在执行数据加载时不需要在目标数据库上删除引用完整性?
答案 0 :(得分:2)
这并不像人们希望的那么简单,但它肯定是可能的 - 我们使用您在我的工作场所描述的确切设置。
要为所有数据生成插入脚本,请按照下列步骤操作:
在SQL Server Management Studio中打开与数据库引擎的连接
右键单击数据库,然后选择“任务” - >“生成脚本...”。向导打开。
多次单击“下一步”,直到您进入“设置脚本选项”步骤。在那里,单击“高级”按钮。
在打开的列表中,向下滚动以查找“脚本数据类型”,其中选择“仅架构”。根据您的需要更改为“仅数据”或“架构和数据”(“仅数据”符合您问题中的描述)。
选择保存生成的脚本的位置(如果您有大量数据,指定文件可能是避免OutOfMemory错误的好主意......)并根据需要单击“下一步”/“完成”生成脚本。