我们目前通过在整个数据库的压缩备份上使用 rdiff 将数据库的快照分发到我们的商店。
为了优化创建这些备份以及每个商店下载它们所需的时间,我们希望省略一些不太重要的表/行。
两个最大的表已经在它们自己的文件组中,但它们不是只读的,因为它们仍在使用中。
我已经研究了水平分区以将旧数据分离到只读文件组,我可以使用部分备份将这些数据从备份中排除;但是,我不清楚如何对已经包含数据的表进行水平分区,我发现的大部分内容都是关于创建一个新的分区表。
分区是限制完整备份中包含的内容的推荐方式,还是有另一种我不知道的方式?
我们正在运行 SQL Server 2005 Enterprise。
假设您仍想更改“不太重要的行”,请将这些数据放在不同的(但仍可写)文件组中。然后将该文件组从备份集中保留。
...并且您可以使用 ALTER TABLE 将表放入特定的分区方案中。
更改表:http: //msdn.microsoft.com/en-us/library/ms190273.aspx
您是否考虑过复制或日志传送?听起来像是一个很好的案例。
另外,我不知道您的具体环境,但如果您不以完全恢复模式运行数据库的唯一原因是您不想处理 t-log 备份,那么我会与业务用户核实是否能够仅恢复到最后一次备份对他们来说“足够好”。