我们的客户出于无可争辩的原因不能使用 SQL Server 的内置备份功能,因为它备份了整个数据库。这些客户需要将数据库拆分并备份到拥有数据的人的子集中,以便相关方可以根据自己的规则备份自己的数据。我的问题有两个:
- 我该怎么做这样的事情?
- 您是否曾被要求像这样对备份进行分区?如果没有,您是否曾被要求做一些看似违背行业标准的事情?我们公司的人建议我们/我应该简单地“推出我们自己的”备份过程,只备份所需的数据子集。当然,这意味着我们/我应该简单地“推出我们自己的”恢复过程。当我认为这是重新发明轮子的定义以及我们首先选择 SQL Server 的部分原因时,我感觉到他们认为我是一个技术势利小人和/或懒惰的人。
我怀疑他们的意见是基于对另一个基于 Access 的产品的经验,并将每个逻辑单元存储在一个单独的数据库中,可以简单地复制。
更新:我终于通过使用 SMO 备份“完整”数据库、恢复备份以及从备份中删除不属于子集的记录来实现这一点。我很失望地发现这导致事务日志在 5 分钟内增长到 5GB 以上。似乎创建一个空数据库并插入会更容易,但是如何在没有更新数据库时需要更新的静态脚本的情况下复制模式?