在SQLServer2017 Std上,我有一个SSIS包,每天在24×7任务关键操作数据库上运行一次,用于归档最大的事务表。数据被移动到单独的归档数据库上的表中,并且进程运行平稳,在活动数据库上有最小的锁定争用(删除将在很长一段时间内传播)。拥有一个单独的归档数据库具有许多优点:单独备份数据库;仅使用当前数据刷新测试环境;提高对当前数据的查询性能等。唯一的缺点是代码更改(当用户在UI上请求时,将逻辑添加到存档数据上),以及当需要获取存档数据时,跨数据库查询速度较慢。我们正在升级到企业版,并考虑为数据归档进行表分区,但是我读得越多,我就越担心实现和维护开销。到目前为止,我能看到的唯一真正的优势是应用程序的透明性,而不需要更改代码。你们中有人使用表分区进行数据归档吗?在OLTP系统上真的值得吗?提前谢谢。
发布于 2020-07-15 16:39:03
对于分区,您有几个额外的选项。
在SQL2017中,您可以使用简单的选项将表设置为时态表。您将继续删除旧行,但Server将将已删除的行复制到历史表,管理归档行的保留,并在主表和历史表中提供视图。
顺便说一下,Server 2016 SP1+的每个版本都有表和索引分区。
https://dba.stackexchange.com/questions/271008
复制相似问题