Microsoft SQL Server
パーティショニング
サーチ…
パーティション境界値を取得する
SELECT ps.name AS PartitionScheme
, fg.name AS [FileGroup]
, prv.*
, LAG(prv.Value) OVER (PARTITION BY ps.name ORDER BY ps.name, boundary_id) AS PreviousBoundaryValue
FROM sys.partition_schemes ps
INNER JOIN sys.destination_data_spaces dds
ON dds.partition_scheme_id = ps.data_space_id
INNER JOIN sys.filegroups fg
ON dds.data_space_id = fg.data_space_id
INNER JOIN sys.partition_functions f
ON f.function_id = ps.function_id
INNER JOIN sys.partition_range_values prv
ON f.function_id = prv.function_id
AND dds.destination_id = prv.boundary_id
パーティションの切り替え
この[TechNet Microsoftのページ] [1]によれば、
パーティション化データを使用すると、データのサブセットを迅速かつ効率的に管理およびアクセスしながら、データ・コレクション全体の整合性を維持できます。
次のクエリを呼び出すと、データは物理的に移動されません。データの場所に関するメタデータのみが変更されます。
ALTER TABLE [SourceTable] SWITCH TO [TargetTable]
テーブルは同じデータ型とNULL設定の同じ列を持つ必要があります。同じファイルグループにする必要があり、新しいターゲットテーブルは空でなければなりません。パーティションの切り替えに関する詳細は、上のページのリンクを参照してください。
[1]: https : //technet.microsoft.com/en-us/library/ms191160 ( v= IDENTITY
列IDENTITY
プロパティは異なる場合があります。
1つのクエリを使用して、パーティションテーブル、列、スキーム、関数、合計および最小最大境界値を取得する
SELECT DISTINCT
object_name(i.object_id) AS [Object Name],
c.name AS [Partition Column],
s.name AS [Partition Scheme],
pf.name AS [Partition Function],
prv.tot AS [Partition Count],
prv.miVal AS [Min Boundry Value],
prv.maVal AS [Max Boundry Value]
FROM sys.objects o
INNER JOIN sys.indexes i ON i.object_id = o.object_id
INNER JOIN sys.columns c ON c.object_id = o.object_id
INNER JOIN sys.index_columns ic ON ic.object_id = o.object_id
AND ic.column_id = c.column_id
AND ic.partition_ordinal = 1
INNER JOIN sys.partition_schemes s ON i.data_space_id = s.data_space_id
INNER JOIN sys.partition_functions pf ON pf.function_id = s.function_id
OUTER APPLY(SELECT
COUNT(*) tot, MIN(value) miVal, MAX(value) maVal
FROM sys.partition_range_values prv
WHERE prv.function_id = pf.function_id) prv
--WHERE object_name(i.object_id) = 'table_name'
ORDER BY OBJECT_NAME(i.object_id)
table_name
where
節をコメントtable_name
し、 table_name
をactual table name
に置き換えて、目的のオブジェクトの詳細を表示します。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow