SQL 服务器归档 table 个分区

SQL Server archiving table partitions

我正在使用 SQL Server 2008 R2,它在 table 分区方面存在限制。最大限制为 1000 个分区。 SQL Server 2008 R2 不支持扩展分区限制。我需要归档分区以释放生产 table。我会将分区移动到链接服务器,在那里我将保留所有存档数据以节省 space 来自 D.W 的存储空间。我需要一些关于要使用的方法的建议。

我的想法是在用于归档的链接服务器上创建一个未分区的 table,然后移动数据,然后从源 table 中删除分区。这会使用 switch 而不是复制 - 删除吗?

在归档 table 中也使用分区会更好吗?

您可以将分区从分区 table 切换到独立 table,这在几秒钟内发生。所以,你的解决方案可以是:

 ALTER TABLE YourTable SWITCH PARTITION x TO ArchivingTable;

 -- Move data from the local ArchivingTable to your linked server (INSERT
 SELECT or bcp..)

 DROP TABLE ArchivingTable;

您还将现有分区与旧数据合并,以便为新数据释放分区。