请问sql2005分区函数、分区架构,文件组都设好了后如何修改分区索引啊?
锐昆 2009-01-14 12:00:36 假设有一个表LogRecorder表主要字段:logID,logdatetime,logTypeID,logcontent.
(logID为主键,不重复,其余字段可能重复)
--创建分区函数:
CREATE PARTITION FUNCTION PF_RangeByHalfYear(datetime)
AS
RANGE RIGHT FOR VALUES (
'20080101', '20080701','20090101','20090701')
--创建分区文件组:
ALTER DATABASE sonweb2009 ADD FILEGROUP [FG_DownLog2008A]
ALTER DATABASE sonweb2009 ADD FILEGROUP [FG_DownLog2008B]
ALTER DATABASE sonweb2009 ADD FILEGROUP [FG_DownLog2009A]
ALTER DATABASE sonweb2009 ADD FILEGROUP [FG_DownLog2009B]
--创建分区物理文件:
ALTER DATABASE sonweb2009
ADD FILE (NAME = N'Downlog2008a',FILENAME = N'E:\sqldata\FG_Sonweb2009\Downlog2008a.ndf')
TO FILEGROUP [FG_DownLog2008A]
ALTER DATABASE sonweb2009
ADD FILE (NAME = N'Downlog2008b',FILENAME = N'E:\sqldata\FG_Sonweb2009\Downlog2008b.ndf')
TO FILEGROUP [FG_DownLog2008B]
ALTER DATABASE sonweb2009
ADD FILE (NAME = N'Downlog2009a',FILENAME = N'E:\sqldata\FG_Sonweb2009\Downlog2009a.ndf')
TO FILEGROUP [FG_DownLog2009A]
ALTER DATABASE sonweb2009
ADD FILE (NAME = N'Downlog2009b',FILENAME = N'E:\sqldata\FG_Sonweb2009\Downlog2009b.ndf')
TO FILEGROUP [FG_DownLog2009B]
--创建分区架构
CREATE PARTITION SCHEME PS_ByHalfYear
AS PARTITION PF_RangeByHalfYear TO ([FG_DownLog2008A],[FG_DownLog2008B],[FG_DownLog2009A],[FG_DownLog2009B],[PRIMARY])
问题一:
现在希望以logdatetime字段(表示日志的日期时间,非唯一)为分区依据,如何按照分区架构建立表(LogRecorder)的索引呢?
Alter TABLE [dbo].[LogRecorder] ....... 这里怎么写呢?
问题二:
另外假如我要求分区函数不是按照时间来分界,而是按照logTypeID(int类型)来分界,希望不同的类型划分到不同的区。这个时候这个表重新建立索引的语句又该如何写呢?
谢谢高手赐教~!