我需要从 SQL Server 数据库创建一些特定表的每小时 .SQB 备份文件,每个表都使用 WHERE 子句进行过滤。例如,我需要这些数据:
SELECT * FROM table1 WHERE pk_id IN (2,5,7)
SELECT * FROM table2 WHERE pk_id IN (2,5,7)
SELECT * FROM table3 WHERE pk_id IN (2,5,7)
SELECT * FROM table4 WHERE pk_id IN (2,5,7)
源数据库上的表结构可能会随着时间而改变,例如可以添加或删除列、添加索引等。
一种选择是在同一 SQL Server 实例上的暂存数据库中执行某种导出、脚本生成等操作。除了效率,我每次都删除或截断目标数据库上的表没有问题。简而言之,我希望将表的架构和数据都复制到目标数据库中。这是完全可以接受的。
另一种方法是从源数据库创建一个 .SQB 备份。因为 .SQB 文件就是我真正需要的(它将通过 SFTP 发送)——这也很好。
在这种情况下推荐的方法是什么?