Azure SQL Разбиение базы данных - PullRequest
0 голосов
/ 30 мая 2020

В настоящее время у меня есть база данных Azure SQL (Стандартные 100 DTU S3), и я хочу создать разделы в большой таблице, разделяя значение datetime2 на YYYYMM. Каждая таблица имеет как минимум следующие столбцы:

  • Guid (тип уникального идентификатора)
  • MsgTimestamp (тип datetime2) << раздел, использующий this. </li>

I Я искал документацию по Azure и SO, но не нашел ничего, что четко объясняло бы, как создать раздел на «datetime2» в желаемом формате или даже если он поддерживается в типе базы данных SQL.

Другой пример, если вы попробуете ссылку ниже, но я не нашел возможности создать раздел в SQL Studio для создания раздела в меню «Хранилище».

https://www.sqlshack.com/database-table-partitioning-sql-server/

Кроме того, должны ли эти таблицы создаваться ежедневно, когда часы идут за 12:00, или это делается автоматически?

ОБНОВЛЕНИЕ

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

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-partition-function-transact-sql?view=sql-server-ver15

* 10 30 *https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-partition-function-transact-sql?view=sql-server-ver15

Контекст

В настоящее время я подключаюсь к каналу в реальном времени, который загружает до 600 строк в минуту и ​​имеет отставание около 370 миллионов за 3 года данных.

1 Ответ

1 голос
/ 30 мая 2020

Правильно.

Вы можете создавать разделы на основе столбцов datetime2. Как правило, вы просто делаете это в начале месяца и используете RANGE RIGHT (чтобы начало месяца было включено в раздел).

И да, в конце каждого месяца обычное действие:

  • Разделить функцию разделения, чтобы добавить новый вариант раздела.
  • Выключить самый старый ежемесячный раздел в отдельную таблицу для целей архивирования (при условии, что вы хотите иметь скользящий период в месяцах)

И еще: да, все мы sh продукт имел варианты сделать это для вы автоматически.

Я был одним из технических обозревателей следующего технического документа Рона Талмейджа в 2008 году, и 99% рекомендаций в нем все еще актуальны: https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008/dd578580 (v = sql .100)? WT.mc_id = DP-MVP-7914

...