azure-sqldw - 仅当 SQL 数据仓库中不存在时,如何添加分区边界?
问题描述
我正在使用 Azure SQL 数据仓库 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 作为标识符,我不知道如何加入其他表,以便我可以通过表名获取分区边界。
解决方案
您是否尝试过加入sys.partition_range_values
视图sys.partition_functions
?
当然,我们无法在SQL DW中创建分区函数,但该视图似乎仍受支持。
推荐阅读
- java - 为猜谜游戏保存分数
- javascript - 我可以从 Google Analytics 获取位置信息吗
- for-loop - 每当运行 for 循环时,如何更新和打印 int
- amazon-web-services - DataBrew 不适用于 us-west-1 中的存储桶
- c# - 从类内部访问 DbContext
- ios - 带有嵌套堆栈视图的 Swift UIStackView 间距
- c++ - 我需要一种方法来返回函数而不必返回“返回类型”
- php - laravel 祖先如何在 where 子句中使用
- python - 将 set() 转换为 int python
- asp.net-core - NToastNotify 不在异步帖子上显示消息