使用可移植的 SQLite 容器移动 SQL Server 数据切片
从 SQL Server 表中提取特定行到单个 SQLite 文件,离线编辑它们,并在脚本运行中将更改推送回 SQL Server。SqlDataPack,由 zachtbeer 创建,是一个 Windows .NET 实用程序,适用于需要可重复、可移植数据传输的开发人员和 DBA。它提供了一个用于自动化的 CLI,一个用于集成的 NuGet 库,以及支持安装的 WinGet,使其适合为测试数据库提供种子数据和在团队成员之间共享小数据集。
工具实际移动的内容及其方式
SqlDataPack 将表切片导出到单个 SQLite 容器,因此您获得一个便携式文件,仅包含您选择的行和列。该工具使用 SQLite 作为中介,这使您可以在任何兼容 SQLite 的编辑器中打开和编辑导出的数据,然后将相同的文件导入回 SQL Server 实例。开发者提供了 CLI 和 NuGet 包以供编程使用。
在脚本操作和 CI/CD 中的行为
CLI 支持脚本化和自动化工作流,允许您从构建服务器或计划任务中调用导出和导入命令。由于它作为命令行 .NET 工具运行,您可以使用 .NET SDK 全局安装它,并从批处理文件或管道中调用它。WinGet 可用性简化了在需要包管理的 Windows 构建代理上的部署。
安全性、权限和离线编辑模型
SqlDataPack 将传输与实时更改分开,通过编写 SQLite 文件进行离线编辑,从而减少在修改期间对生产服务器的直接写入操作。该设计意味着您在服务器外部编辑数据,并在受控的导入步骤中重新应用更改。该应用程序需要访问 SQL Server 进行导出和导入,并在调用进程的权限下运行,因此帐户权限决定了它可以读取或写入的内容。
开发人员和 QA 团队的实用建议
SqlDataPack 适合需要可重复、可脚本化传输选定 SQL Server 数据的开发人员、QA 工程师和 DevOps 员工,而无需移动整个架构。预计离线编辑工作流程将在任何服务器写入发生之前将更改限制在可移植文件中,并相应地规划权限。推荐。