建立分区函数的时候,使用的是
CREATE PARTITION FUNCTION 分区函数名(datetime)  
AS  
RANGE LEFT FOR VALUES (
'20120131 23:59:59.997',   -- 2012 年 1 月  
'20120228 23:59:59.997',   -- 2012 年 2 月  
'20120331 23:59:59.997'   -- 2012 年 3 月  
)边界值是  20120331 23:59:59.997 这样的设定,结果我合并(删除)分区的时候ALTER PARTITION FUNCTION [分区函数名]()MERGE RANGE (N'2012-02-28 23:59:59.997');
不管边界值如何处理都报错
找不到指定的分区范围值。请教下我要删除其中一个分区,到底应该如何处理?

解决方案 »

  1.   

    应该是先合并分区,而不是删除分区,我想把旧的分区数据合并到 PRIMARY ,应该如何处理!分区边界值不是ID,是日期! 我已尝试过MERGE RANGE (N'2012-02-28');
    MERGE RANGE (N'2012/02/28');
    各种方式,均报错,找不到指定的分区范围值。请教各位大牛该如何处理!
      

  2.   

    楼主,你的做法貌似是没问题的,感觉似乎你已经成功的合并过了,但又再次执行....(也就是说,你已经把这个边界值给删除掉了)--显示分区函数的边界值(楼主运行一下看看,到底有哪些边界值)
    SELECT a.boundary_id,a.value
    FROM sys.partition_range_values a
    JOIN sys.partition_functions b ON a.function_id = b.function_id 
    WHERE b.name = '分区函数名'
    PS:如果是要移动数据到另外的文件组,直接重建聚集索引是最方便的