如何从SQL Server数据库获取数据快照,进行存储并将其与参考快照进行比较

时间:2018-11-14 09:17:06

标签: sql-server database tsql integration-testing

以下情况:我目前正在迁移数据库以使用SQL Server Hekaton引擎(Hekaton是内存中的引擎,整个数据库都位于主内存中)。

为了获得最大的性能,我将使用本机编译的存储过程。

因此,许多C#代码中的逻辑将转移到存储过程中。

现在我想为这些过程编写集成测试。

我想做什么:

  1. 从空数据库(或某些预定义状态)开始
  2. 调用一些程序
  3. 手动验证数据库现在处于正确状态
  4. 如果第3步成功完成,请对数据库中的所有数据进行快照

然后,我只想运行测试,拍摄快照,并将其与参考快照进行比较。

我可以编写一个仅读取所有数据并将其存储在文件中的工具,但是我认为应该已经存在一些工具(或我可以使用的库),但到目前为止没有找到任何东西。

有什么建议(工具或库,最好使用C#)?

1 个答案:

答案 0 :(得分:0)

制作数据库副本(例如,备份并还原为新数据库)。有各种工具,例如Red Gate SQL Data CompareApexSQL Data Diff,它们可以为您比较数据。