在网上和网上的书上看了一下,找不到我的问题的答案,所以就这样吧。
在进行其他人的设计时,我有几个表都绑定到相同的分区模式和分区函数。我希望执行会影响数亿行的拆分操作。
拆分没问题:
ALTER PARTITION SCHEME [ps_Scheme] NEXT USED [FG1] ;
ALTER PARTITION FUNCTION [pfcn_Function]() SPLIT RANGE (20120331)
但是,我担心这会同时影响许多表并且不可取。
因此,我打算创建一个表的新副本并在一个新函数上进行拆分
CREATE PARTITION FUNCTION [pfcn_Function1](INT)
AS RANGE RIGHT
FOR VALUES
(
20090101, 20090130, 20090131, 20090201...etc
)
CREATE PARTITION SCHEME [ps_Scheme1]
AS PARTITION [pfcn_Function1] TO
([FG1], [FG2] etc
CREATE TABLE [dbo].[myTableCopy]
(
....
) ON ps_Scheme1
然后我会切换我希望拆分的分区:
-- The partition numbers did not align because they are based on 2 different functions.
ALTER TABLE [Table] SWITCH PARTITION 173 TO [TableCopy] PARTITION 172
最后我的问题是这可以自动化吗?您可以使用 SELECT INTO 在 SQL 中轻松制作表的副本,但我看不到如何自动对表进行分区,即 CREATE TABLE 语句末尾指向分区方案的位。
感谢您的任何回复。