Check information on partitions.
--view partition funcitons
select * from sys.partition_functions
--view how the partition has happened
select
* from sys.partition_range_values
--view the partition schema
select * from sys.partition_schemes
--view data spaces used by partition schema
select * from sys.destination_data_spaces
--check which partition the given value range in partition column is in
$PARTITION
$PARTITION.function_name(value)
An example to check how rows in table are distributed to partitions
SELECT $partition.pf(PT.column used for partition) --function name AS [Partition Number] , min(PT.column used for partition) AS [MinID] , max(PT.column used for partition) AS [MaxID] , count(*) AS [Rows In Partition] FROM dbo.partitionedTable AS PT (NOLOCK) GROUP BY $partition.pf(PT.column used for partition) --partition number ORDER BY [Partition Number]
--Verify rows inserted in partitions
select * from sys.partitions
where object_name(object_id)='partitionTable'
--switch a certain partition to a table
alter table partitiontable switch partition partitionnumber to destinationtable
(
--a technique to move table to a different file group: move the content while dropping clustered pk
alter table tablename drop clusteredPK with (move to filegroup)
)
No comments:
Post a Comment