SQL 已分区 Table - 如何将不需要分区的数据插入已分区 table?

SQL Partitioned Table - How do I Insert data that doesn't need to be partitioned into a partitioned table?

我使用以下步骤划分了一个事实 table:

  1. 重命名事实 Table(作为备份)
  2. 根据数据的加载 ID 创建了两个文件组(我正在为加载 ID 1 处理 1000 行,为加载 ID 2 处理 1000 行)
  3. 创建了一个分区函数,它覆盖了两个负载中值的左侧范围。
  4. 为这些创建了相应的方案,其中包含两个文件组和一个[主]文件组。
  5. 使用分区创建新事实 table 并将数据插入回。

一切正常。 问题是我有其他数据无法被范围覆盖,我需要将其插入新的 table。 (没有要求对这个数据进行分区)

我可以简单地将其他数据插入到新的 table 中吗?如果我这样做,数据会去哪里,即哪个文件组?

或者我是否需要告诉分区 function/scheme 将其他数据放在某处但不在分区文件组中?

如有任何帮助,我们将不胜感激。 非常感谢:)

如果您的 table 已分区,它将根据您的架构进入一个或多个分区。你可以只做一个插入,服务器会自动把它放在合适的分区中。

一个分区的table意味着它将使用分区函数来计算每一行的放置位置。不存在table中的数据被分区和不被分区的情况。也许你应该有第二个 table。或者您可以尝试创建一个计算列,将所有不应分区的行放入其自己的分区中,并在计算列上创建分区函数。如果要为分区函数使用计算列,请确保将其定义为持久化。

你应该在两端包裹你的分区,并为你的分区函数提供一个缓冲区来转储范围之外的数据,左右,你可以通过[=19=中的分区方案将文件分配给分区函数] 服务器.

File 1 - BUFFER PARTITION A
File 2 - BUFFER PARTITION AA
File 3 - PARTITION LEFT
File 4 - PARTITION RIGHT
File 5 - BUFFER PARTITION Z
File 6 - BUFFER PARTITION ZZ

BUFFER PARTITION AABUFFER PARTITION Z 可以处理溢出。

然后您可以做一些有用的事情,例如换出文件或插入和重新排序。