增加 SQL Server 表中分区数的最佳方法

Muh*_*san 8 sql-server-2008 sql-server partitioning

我正在维护一个带有大表的数据库,每个月分配。那里已经有几十个分区,但它直到 2013 年 1 月,所以是时候创建新的分区了。

任何人都可以请建议,创建新分区数量的最佳方法是什么。

我正在执行以下步骤(尚未执行)

  1. 从 SSMS,获取数据库的属性并移动到文件选项卡。
  2. 单击右下角的添加按钮以添加新行。
  3. 输入新文件名(例如 FN_DW_Archieve_2013_02)
  4. 放置一个新的逻辑名称(例如 LN_DW_Archieve_2013_02)
  5. 通过在文件组单元格下的下拉列表中选择来创建一个新的文件组。(例如 FG_DW_Archieve_2013_02)
  6. 点击确定

这将在我的数据库中创建一个新文件组。

现在最让我担心的问题是修改分区功能和分区方案。哪位专家建议,我可以删除并重新创建它们,它是否会影响我现有的数据。或者我可以使用其中的新分区更改它们。

提前致谢。

Tho*_*ger 9

听起来您想要做的是为现有的分区实现创建一个新边界,这可以是一个到ALTER PARTITION FUNCTION ... SPLIT RANGE ....

您还需要在此之前运行 anALTER PARTITION SCHEME ... NEXT USED ...以指示将保存新分区的下一个文件组(对此有一些警告,如下所述)。以下是 BOL 关于此操作的引用:

文件组必须在线存在,并由使用分区功能的分区方案标记为 NEXT USED 以保存新分区。文件组在 CREATE PARTITION SCHEME 语句中分配给分区。如果 CREATE PARTITION SCHEME 语句分配的文件组比需要的多(在 CREATE PARTITION FUNCTION 语句中创建的分区少于保存它们的文件组),则存在未分配的文件组,并且其中一个被分区方案标记为 NEXT USED。该文件组将保存新分区。如果分区方案没有标记为 NEXT USED 的文件组,则必须使用 ALTER PARTITION SCHEME 添加一个文件组或指定一个现有文件组来保存新分区。