数据分区后插入的数据未保存到目的文件里??

qimin168 2010-04-30 09:28:13
我对3个表分别做了数据分区,其中表的数据有1000W笔左右,在09年10月做的分区,当时分完后查看数据库文件,有的数据文件增大了,说明分区做到了,但是从09年10月到10年4月,就是上周检查时发现,其他数据文件未变化,这段时间插入的数据还是保存在主数据库文件里了,没有按照分区方案来保存到目的文件组里,这是问什么?有办法让后来插入数据存放到新的文件组里吗?
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcpslove 2010-04-30
  • 打赏
  • 举报
回复
我顶。。。。。。。。。。
「已注销」 2010-04-30
  • 打赏
  • 举报
回复
路过的帮我顶下咯,在线等呢,
「已注销」 2010-04-30
  • 打赏
  • 举报
回复
非常谢谢,我是这样做的

-- 1.创建文件组 存扫描日至表mesdc01h
Alter DataBase RTDMES Add FileGroup FGMESDC_0812
Alter DataBase RTDMES Add FileGroup FGMESDC_0901
Alter DataBase RTDMES Add FileGroup FGMESDC_0902
……
-- 2.为文件组设置存储文件
Alter DataBase RTDMES Add File (Name='FNMESDC_0812',FileName='D:\RtdWins\DB\MesDbFiles\FNMESDC_0812') To FileGroup FGMESDC_0812
Alter DataBase RTDMES Add File (Name='FNMESDC_0901',FileName='D:\RtdWins\DB\MesDbFiles\FNMESDC_0901') To FileGroup FGMESDC_0901
Alter DataBase RTDMES Add File (Name='FNMESDC_0902',FileName='D:\RtdWins\DB\MesDbFiles\FNMESDC_0902') To FileGroup FGMESDC_0902
-- 3.创建分区函数

Create Partition Function PFun_mesdc(varchar(10))
AS
Range Right For Values(
N'2009/01/01',N'2009/02/01',N'2009/03/01',N'2009/04/01',N'2009/05/01',N'2009/06/01',N'2009/07/01',N'2009/08/01',N'2009/09/01',N'2009/10/01',N'2009/11/01',N'2009/12/01',
N'2010/01/01',N'2010/02/01',N'2010/03/01',N'2010/04/01',N'2010/05/01',N'2010/06/01',N'2010/07/01',N'2010/08/01',N'2010/09/01',N'2010/10/01',N'2010/11/01',N'2010/12/01',
N'2011/01/01',N'2011/02/01',N'2011/03/01',N'2011/04/01',N'2011/05/01',N'2011/06/01',N'2011/07/01',N'2011/08/01',N'2011/09/01',N'2011/10/01',N'2011/11/01',N'2011/12/01',
N'2012/01/01',N'2012/02/01',N'2012/03/01',N'2012/04/01',N'2012/05/01',N'2012/06/01',N'2012/07/01',N'2012/08/01',N'2012/09/01',N'2012/10/01',N'2012/11/01',N'2012/12/01',
N'2013/01/01',N'2013/02/01',N'2013/03/01',N'2013/04/01',N'2013/05/01',N'2013/06/01',N'2013/07/01',N'2013/08/01',N'2013/09/01',N'2013/10/01',N'2013/11/01',N'2013/12/01',
N'2014/01/01',N'2014/02/01',N'2014/03/01',N'2014/04/01',N'2014/05/01',N'2014/06/01',N'2014/07/01',N'2014/08/01',N'2014/09/01',N'2014/10/01',N'2014/11/01',N'2014/12/01')

-- 4.创建分区方案

Create Partition Scheme PSch_mesdc
as
Partition PFun_mesdc to (FGMESDC_0812,
FGMESDC_0901,FGMESDC_0902,FGMESDC_0903,FGMESDC_0904,FGMESDC_0905,FGMESDC_0906,FGMESDC_0907,FGMESDC_0908,FGMESDC_0909,FGMESDC_0910,FGMESDC_0911,FGMESDC_0912,
FGMESDC_1001,FGMESDC_1002,FGMESDC_1003,FGMESDC_1004,FGMESDC_1005,FGMESDC_1006,FGMESDC_1007,FGMESDC_1008,FGMESDC_1009,FGMESDC_1010,FGMESDC_1011,FGMESDC_1012,
FGMESDC_1101,FGMESDC_1102,FGMESDC_1103,FGMESDC_1104,FGMESDC_1105,FGMESDC_1106,FGMESDC_1107,FGMESDC_1108,FGMESDC_1109,FGMESDC_1110,FGMESDC_1111,FGMESDC_1112,
FGMESDC_1201,FGMESDC_1202,FGMESDC_1203,FGMESDC_1204,FGMESDC_1205,FGMESDC_1206,FGMESDC_1207,FGMESDC_1208,FGMESDC_1209,FGMESDC_1210,FGMESDC_1211,FGMESDC_1212,
FGMESDC_1301,FGMESDC_1302,FGMESDC_1303,FGMESDC_1304,FGMESDC_1305,FGMESDC_1306,FGMESDC_1307,FGMESDC_1308,FGMESDC_1309,FGMESDC_1310,FGMESDC_1311,FGMESDC_1312,
FGMESDC_1401,FGMESDC_1402,FGMESDC_1403,FGMESDC_1404,FGMESDC_1405,FGMESDC_1406,FGMESDC_1407,FGMESDC_1408,FGMESDC_1409,FGMESDC_1410,FGMESDC_1411,FGMESDC_1412)

-- 5.创建分区表
-- drop table partition_mesdc01h

Create Table partition_mesdc01h(
id int Identity(1,1) not null,
dc_date varchar(10) not null) ON PSch_mesdc(dc_date)
-- 6.如果原来的表里有主键哪就要执行下面语句:
alter table mesdc01h drop constraint pk_mesdc01h --24minute

-- 7.将mesdc01h现有数据存入上面建的分区文件中

Alter Table mesdc01h with nocheck add constraint [pk_mesdc01h] primary key clustered
( [dc_date] ) on [PSch_mesdc](dc_date)

-- 8
alter table mesdc01h add constraint pk_mesdc01h primary key nonclustered(ruid)
you_tube 2010-04-30
  • 打赏
  • 举报
回复
说明你的分区间断没做好,可能是分区函数

可以改变你的分区函数跟分区架构可以做到将不数据分配在不同物理文件组内

Zoezs 2010-04-30
  • 打赏
  • 举报
回复
你创建表时怎么做的啊?
dawugui 2010-04-30
  • 打赏
  • 举报
回复
我还没有用过分区,帮你顶.

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧