私は Azure SQL Data Warehouse Gen 1 を使用しており、次のようなパーティション テーブルを作成しています
CREATE TABLE [dbo].[StatsPerBin1](
[Bin1] [varchar](100) NOT NULL,
[TimeWindow] [datetime] NOT NULL,
[Count] [int] NOT NULL,
[Timestamp] [datetime] NOT NULL)
WITH
(
DISTRIBUTION = HASH ( [Bin1] ),
CLUSTERED INDEX([Bin1]),
PARTITION
(
[TimeWindow] RANGE RIGHT FOR VALUES ()
)
)
そのような境界がない場合にのみパーティションを分割するにはどうすればよいですか?
まず、テーブル名でパーティション境界を取得できれば、if ステートメントを記述してパーティション境界を追加するかどうかを判断できると思います。
しかし、テーブルを対応するパーティション値に関連付ける方法が見つかりません。すべてのパーティションのパーティション値は次の方法で取得できます
SELECT * FROM sys.partition_range_values
しかし、テーブル名でパーティション境界を取得できるように、他のテーブルを結合する方法がわからない識別子として function_id のみが含まれています。