Как добавить границу раздела, только если она не существует в хранилище данных SQL? - PullRequest
0 голосов
/ 14 сентября 2018

Я использую хранилище данных SQL Azure 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

Но он содержит только идентификатор_функции как идентификатор, который я не знаю, как соединить другие таблицы, чтобы я мог получить границы разделов по имени таблицы.

1 Ответ

0 голосов
/ 18 сентября 2018

Вы пытались присоединиться к sys.partition_range_values с sys.partition_functions просмотром?

Конечно, мы не можем создавать функции секционирования в SQL DW , но представление, похоже, все еще поддерживается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...