Поделиться через


Команды подписчика

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

Команды подписчика включают команды уровня базы данных и команды уровня таблицы.

Разрешения

Для выполнения этой команды необходимо иметь по крайней мере разрешения администратора базы данных.

Переопределения политики базы данных

База данных-лидер может переопределить следующие политики уровня базы данных в кластере последователей: политика кэширования и авторизованные субъекты.

Политика кэширования

Политика кэширования по умолчанию для кластера подписчиков использует базу данных кластера лидеров и политики кэширования на уровне таблицы.

Вариант Наименование
Не допускается Используемые политики кэширования — это политики, определенные в базе данных-источнике в кластере лидеров.
replace Исходная база данных в базе данных кластера лидеров и политики кэширования на уровне таблицы удаляются (задано значение null). Эти политики заменяются политиками переопределения на уровне базы данных и таблицы, если они определены.
union(default) Исходная база данных в базе данных кластера лидеров и политики кэширования на уровне таблицы объединяются с политиками, определенными в политиках переопределения на уровне базы данных и таблиц.

Примечание.

  • Если коллекция политик кэширования на уровне таблицы и базы данных переопределения пуста, все кэшируется по умолчанию.
  • Вы можете задать переопределение 0dполитики кэширования на уровне базы данных, и ничего не будет кэшировано по умолчанию.

Авторизованные субъекты

Вариант Наименование
Не допускается Авторизованные субъекты определяются в исходной базе данных кластера лидеров.
replace Переопределение авторизованных субъектов заменяет авторизованных субъектов из исходной базы данных в кластере лидеров.
union(default) Переопределение авторизованных субъектов объединяется с авторизованными субъектами из исходной базы данных в кластере лидеров.

Примечание.

Если коллекция переопределения авторизованных субъектов пуста, субъекты уровня базы данных не будут.

Переопределения политик таблиц и материализованных представлений

По умолчанию таблицы и материализованные представления в базе данных, за которой следует кластер подписчиков, сохраняют политику кэширования исходной сущности. Однако политики кэширования таблиц и материализованных представлений можно переопределить в кластере последователей. replace Используйте параметр для переопределения политики кэширования исходной сущности.

Команды уровня базы данных

База данных последователей .show

Показывает базу данных (или базы данных) из другого кластера лидеров, для которых настроено одно или несколько переопределения на уровне базы данных.

Синтаксис

.showfollower database Имя базы данных

.showfollower databases (DatabaseName1,...,DatabaseNameN)

Выходные данные

Выходной параметр Тип Описание
имя_базы_данных string Имя отслеживаемой базы данных.
LeaderClusterMetadataPath string Путь к контейнеру метаданных кластера лидеров.
КэшированиеPolicyOverride string Переопределение политики кэширования для базы данных, сериализованной как JSON или null.
AuthorizedPrincipalsOverride string Переопределяет коллекцию авторизованных субъектов для базы данных, сериализованную как JSON или null.
AuthorizedPrincipalsModificationKind string Тип изменения, применяемый с помощью AuthorizedPrincipalsOverride (none, unionили replace).
CachingPoliciesModificationKind string Тип изменения, применяемый с помощью переопределения политики кэширования на уровне базы данных или таблицы (noneилиunionreplace).
IsAutoPrefetchEnabled bool При каждом обновлении схемы предварительно извлекаются новые данные.
TableMetadataOverrides string Если определено, сериализация JSON свойства уровня таблицы переопределяется.

Кэширование политики базы данных .alter подписчика

Изменяет политику кэширования базы данных последователей, чтобы переопределить один набор в исходной базе данных в кластере лидеров.

Примечания

Синтаксис

.alterfollower database DatabaseName policy caching hot = HotDataSpan

Пример

.alter follower database MyDb policy caching hot = 7d

Кэширование политики базы данных подписчика

Удаляет базу данных подписчика, переопределяющую политику кэширования. Это удаление приводит к тому, что политика в исходной базе данных в кластере лидеров действует.

Примечания

Синтаксис

.deletefollower database policy Имя базы данных caching

Пример

.delete follower database MyDB policy caching

Добавление субъектов базы данных подписчика

Добавляет авторизованные субъекты в коллекцию базы данных подписчиков переопределения авторизованных субъектов. Примечания

Синтаксис

.addfollower database Имя_базы данных (usersviewers | | adminsmonitors | ) субъект роли1..., (,principalN) ['notes']

Пример

.add follower database MyDB viewers ('aadgroup=mygroup@microsoft.com') 'My Group'

Субъекты базы данных -drop подписчика

Удаляет авторизованные субъекты из коллекции базы данных подписчиков переопределения авторизованных субъектов.

Примечание.

  • Просмотр эффективной коллекции субъектов после изменения можно выполнить с помощью .show команд:
  • Просмотр параметров переопределения в базе данных подписчика после изменения можно использовать .show follower database

Синтаксис

.dropfollower database Имя_базы данных (users | adminsmonitors | viewers | ) (principal1...,,principalN)

Пример

.drop follower database MyDB viewers ('aadgroup=mygroup@microsoft.com')

.alter подписчик базы данных principals-modification-kind

Изменяет тип изменения авторизованной базы данных подписчиков.

Примечание.

  • Просмотр эффективной коллекции субъектов после изменения можно выполнить с помощью .show команд:
  • Просмотр параметров переопределения в базе данных подписчика после изменения можно использовать .show follower database

Синтаксис

.alterfollower database DatabaseNameprincipals-modification-kind = (none | union | replace)

Пример

.alter follower database MyDB principals-modification-kind = union

.alter последователь базы данных caching-policies-modification-kind

Изменяет тип изменения политик кэширования для базы данных последователей, таблицы и материализованных представлений.

Примечание.

  • Просмотр эффективной коллекции политик кэширования на уровне таблицы или базы данных после изменения можно выполнить с помощью стандартных .show команд:
  • Просмотр параметров переопределения в базе данных подписчика после изменения можно использовать .show follower database

Синтаксис

.alterfollower database DatabaseName caching-policies-modification-kind = (none | union | replace)

Пример

.alter follower database MyDB caching-policies-modification-kind = union

.alter follower database prefetch-extents

Кластер подписчиков может ожидать получения новых данных из базового хранилища в SSD узлов (кэш), прежде чем выполнять запросы к этим данным.

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

Предупреждение

  • Этот параметр может снизить свежесть данных в базе данных подписчика.
  • Конфигурация по умолчанию — falseи рекомендуется использовать значение по умолчанию.
  • При выборе изменения параметра trueвнимательно оцените влияние на свежесть в течение некоторого периода времени после изменения конфигурации.

Синтаксис

.alterfollower database DatabaseName prefetch-extents = (true | false)

Пример

.alter follower database MyDB prefetch-extents = false

Таблицы и материализованные команды представлений

Изменение таблицы последователей или материализованного представления политики кэширования

Изменяет политику кэширования таблицы или материализованного представления в базе данных подписчика, чтобы переопределить набор политик в исходной базе данных в кластере лидеров.

Примечание.

Синтаксис

.alterfollower database Таблица DatabaseName TableName policy caching hot = HotDataSpan

.alterfollower database Таблицы (DatabaseName1,...,TableNameNhot ) policy caching = HotDataSpan

.alterfollower database DatabaseName materialized-view ViewName policy caching hot = HotDataSpan

.alterfollower database DatabaseName материализованные представления (ViewName1...,,ViewNamenhot ) policy caching = HotDataSpan

Примеры

.alter follower database MyDb tables (Table1, Table2) policy caching hot = 7d

.alter follower database MyDb materialized-views (View1, View2) policy caching hot = 7d

Удаление таблицы подписчиков или материализованного представления политики кэширования

Удаляет переопределение для политики кэширования таблицы или материализованного представления в базе данных последователей. Политика, установленная в исходной базе данных в кластере лидеров, теперь будет эффективной политикой.

Примечание.

Синтаксис

.deletefollower database Имя таблицы DatabaseName table policy caching

.deletefollower database DatabaseName tables (TableName1...,,TableNameN) policy caching

.deletefollower database Имя представления DatabaseName materialized-view policy caching

.deletefollower database DatabaseName materialized-views (ViewName1...,,ViewNameN) policy caching

Пример

.delete follower database MyDB tables (Table1, Table2) policy caching

.delete follower database MyDB materialized-views (View1, View2) policy caching

Пример конфигурации

Ниже приведены примеры действий по настройке базы данных подписчика.

В этом примере:

  • Наш кластер MyFollowerCluster последователей будет следовать за базой данных MyDatabase из кластера лидеров. MyLeaderCluster

    • MyDatabaseимеет N таблицы: MyTable1, MyTable2MyTable3, ... MyTableN (N> 3).
    • На MyLeaderCluster:
    MyTable1 Политика кэширования MyTable2 Политика кэширования MyTable3...MyTableN Политика кэширования MyDatabase Авторизованные субъекты
    горячий диапазон данных = 7d горячий диапазон данных = 30d горячий диапазон данных = 365d Зрители = aadgroup=scubadivers@contoso.com; Администраторы = aaduser=jack@contoso.com
    • По MyFollowerCluster желанию:
    MyTable1 Политика кэширования MyTable2 Политика кэширования MyTable3...MyTableN Политика кэширования MyDatabase Авторизованные субъекты
    горячий диапазон данных = 1d горячий диапазон данных = 3d горячий диапазон данных = 0d (ничего кэшированного) Администраторы = aaduser=jack@contoso.com, средства просмотра = aaduser=jill@contoso.com

Внимание

Оба MyFollowerCluster и MyLeaderCluster должны находиться в одном регионе.

Шаги, которые нужно выполнить

Предварительные требования. Настройка кластера MyFollowerCluster для выполнения базы данных MyDatabase из кластера MyLeaderCluster.

Примечание.

Субъект, выполняющий команды управления, должен быть в DatabaseAdmin базе данных MyDatabase.

Отображение текущей конфигурации

См. текущую конфигурацию, в соответствии с которой MyDatabase следует:MyFollowerCluster

.show follower database MyDatabase
| evaluate narrow() // just for presentation purposes
Столбец Значение
имя_базы_данных MyDatabase
LeaderClusterMetadataPath https://storageaccountname.blob.core.windows.net/cluster
КэшированиеPolicyOverride null
AuthorizedPrincipalsOverride []
AuthorizedPrincipalsModificationKind нет
IsAutoPrefetchEnabled False
TableMetadataOverrides
CachingPoliciesModificationKind Объединение

Переопределение авторизованных субъектов

Замените коллекцию авторизованных MyDatabase MyFollowerCluster субъектов на коллекцию, которая включает только одного пользователя Microsoft Entra в качестве администратора базы данных и одного пользователя Microsoft Entra в качестве средства просмотра базы данных:

.add follower database MyDatabase admins ('aaduser=jack@contoso.com')

.add follower database MyDatabase viewers ('aaduser=jill@contoso.com')

.alter follower database MyDatabase principals-modification-kind = replace

Доступ к доступу MyDatabase разрешен только для этих двух конкретных субъектов MyFollowerCluster

.show database MyDatabase principals
Роль PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN Примечания.
Администратор Базы данных MyDatabase Пользователь Microsoft Entra Джек Kusto (upn: jack@contoso.com) 12345678-abcd-efef-1234-350bf486087b aaduser=87654321-abcd-efef-1234-350bf486087b; 5555555555-4444-3333-2222-2d7cd011db47
Средство просмотра Базы данных MyDatabase Пользователь Microsoft Entra Jill Kusto (upn: jack@contoso.com) abcdefab-abcd-efef-1234-350bf486087b aaduser=54321789-abcd-efef-1234-350bf486087b; 5555555555-4444-3333-2222-2d7cd011db47
.show follower database MyDatabase
| mv-expand parse_json(AuthorizedPrincipalsOverride)
| project AuthorizedPrincipalsOverride.Principal.FullyQualifiedName
AuthorizedPrincipalsOverride_Principal_FullyQualifiedName
aaduser=87654321-abcd-efef-1234-350bf486087b; 5555555555-4444-3333-2222-2d7cd011db47
aaduser=54321789-abcd-efef-1234-350bf486087b; 5555555555-4444-3333-2222-2d7cd011db47

Переопределение политик кэширования

Замените коллекцию политик MyDatabase MyFollowerCluster кэширования на уровне базы данных и таблиц, задав для всех таблиц не кэшированные данные, за исключением двух конкретных таблиц , MyTable1MyTable2 которые будут кэшировать данные в течение периодов 1d и 3dсоответственно:

.alter follower database MyDatabase policy caching hot = 0d

.alter follower database MyDatabase table MyTable1 policy caching hot = 1d

.alter follower database MyDatabase table MyTable2 policy caching hot = 3d

.alter follower database MyDatabase caching-policies-modification-kind = replace

Только эти две определенные таблицы кэшируют данные, а остальные таблицы имеют горячий период 0dданных:

.show tables details
| summarize TableNames = make_list(TableName) by CachingPolicy
CachingPolicy TableNames
{"DataHotSpan":{"Value":"1.00:00:00"},"IndexHotSpan":{"Value":"1.00:00:00"}} ["MyTable1"]
{"DataHotSpan":{"Value":"3.00:00:00"},"IndexHotSpan":{"Value":"3.00:00:00"}} ["MyTable2"]
{"DataHotSpan":{"Value":"0.00:00:00"},"IndexHotSpan":{"Value":"0.00:00:00"}} ["MyTable3",...,"MyTableN"]
.show follower database MyDatabase
| mv-expand parse_json(TableMetadataOverrides)
| project TableMetadataOverrides
TableMetadataOverrides
{"MyTable1":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"1.00:00:00"},"IndexHotSpan":{"Value":"1.00:00:00"}}}
{"MyTable2":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"3.00:00:00"},"IndexHotSpan":{"Value":"3.00:00:00"}}}

Итоги

См. текущую конфигурацию, за MyDatabase которой следует:MyFollowerCluster

.show follower database MyDatabase
| evaluate narrow() // just for presentation purposes
Столбец Значение
имя_базы_данных MyDatabase
LeaderClusterMetadataPath https://storageaccountname.blob.core.windows.net/cluster
КэшированиеPolicyOverride {"DataHotSpan":{"Value":"00:00:00"},"IndexHotSpan":{"Value":"00:00:00"}}
AuthorizedPrincipalsOverride [{"Principal":{"FullyQualifiedName":"aaduser=87654321-abcd-efef-1234-350bf486087b",...},{"Principal":{"FullyQualifiedName":"aaduser=54321789-abcd-efef-1234-350bf486087b",...}]
AuthorizedPrincipalsModificationKind Replace
IsAutoPrefetchEnabled False
TableMetadataOverrides {"MyTargetTable":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"3.00:00:00"}"}"MySourceTable":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"1.00:00:00"},...}}
CachingPoliciesModificationKind Replace