Команды подписчика
Команды управления для управления конфигурацией подписчика. Эти команды выполняются синхронно, но применяются при следующем периодическом обновлении схемы, что может привести к небольшой задержке до применения новой конфигурации.
Команды подписчика включают команды уровня базы данных и команды уровня таблицы.
Разрешения
Для выполнения этой команды необходимо иметь по крайней мере разрешения на Администратор базы данных.
Переопределения политики базы данных
База данных-лидер может переопределить следующие политики уровня базы данных в кластере подписчиков: политика кэширования и Авторизованные субъекты.
Политика кэширования
Политика кэширования по умолчанию для кластера подписчиков использует базу данных кластера-лидера и политики кэширования на уровне таблицы.
Параметр | Описание |
---|---|
None | Используемые политики кэширования — это политики, определенные в базе данных-источнике в кластере-лидере. |
replace | База данных-источник в базе данных кластера-лидера и политики кэширования на уровне таблиц удаляются (для параметра задано значение null ). Эти политики заменяются политиками переопределения на уровне базы данных и таблицы, если они определены. |
union(default) | База данных-источник в базе данных ведущего кластера и политики кэширования на уровне таблицы объединяются с политиками, определенными в базе данных, и политиками переопределения на уровне таблицы. |
Примечание
- Если коллекция политик кэширования на уровне таблицы и базы данных переопределения пуста, по умолчанию кэшируется все содержимое.
- Можно задать для переопределения
0d
политики кэширования на уровне базы данных значение , и по умолчанию кэшироваться не будет.
Авторизованные субъекты
Параметр | Описание |
---|---|
None | Авторизованные субъекты определяются в базе данных-источнике кластера-лидера. |
replace | Переопределение авторизованных субъектов заменяет авторизованные субъекты из базы данных-источника в кластере-лидере. |
union(default) | Авторизованные субъекты переопределения объединяются с авторизованными субъектами из базы данных-источника в кластере-лидере. |
Примечание
Если коллекция переопределенных авторизованных субъектов пуста, субъектов уровня базы данных не будет.
Переопределения политики таблиц и материализованных представлений
По умолчанию таблицы и материализованные представления в базе данных, за которой следует кластер подписчиков, сохраняют политику кэширования исходной сущности.
Однако политики кэширования таблиц и материализованных представлений можно переопределить в кластере подписчиков.
replace
Используйте параметр , чтобы переопределить политику кэширования исходной сущности.
Команды уровня базы данных
.show подписчик базы данных
Показывает базу данных (или базы данных), за которой следует другой кластер-лидер, в котором настроено одно или несколько переопределений уровня базы данных.
Синтаксис
.show
follower
database
Databasename
.show
follower
databases
(
Имя_базы данных1,
...,
DatabaseNameN)
Выходные данные
Выходной параметр | Тип | Описание |
---|---|---|
имя_базы_данных | string |
Имя отслеживаемой базы данных. |
LeaderClusterMetadataPath | string |
Путь к контейнеру метаданных кластера-лидера. |
CachingPolicyOverride | string |
Политика переопределения кэширования для базы данных, сериализованной как JSON или null. |
AuthorizedPrincipalsOverride | string |
Коллекция переопределений авторизованных субъектов для базы данных, сериализованная как JSON или null. |
AuthorizedPrincipalsModificationKind | string |
Тип изменения, применяемый с помощью AuthorizedPrincipalsOverride (none , union или replace ). |
CachingPoliciesModificationKind | string |
Тип изменения, применяемый с помощью политики кэширования на уровне базы данных или таблицы (none , union или replace ). |
IsAutoPrefetchEnabled | bool |
Указывает, выполняется ли предварительная выборка новых данных при каждом обновлении схемы. |
TableMetadataOverrides | string |
Если этот параметр определен, сериализация json свойства табличного уровня переопределяется. |
Кэширование политики базы данных .alter follower
Изменяет политику кэширования базы данных подписчиков, чтобы переопределить один набор в базе данных-источнике в кластере-лидере.
Примечания
- По умолчанию
modification kind
для политик кэширования используется значениеunion
. Чтобы изменитьmodification kind
, используйте.alter follower database caching-policies-modification-kind
команду . - Просмотреть политику или действующие политики после изменения можно с помощью
.show
команд: - Просмотр параметров переопределения в базе данных подписчиков после внесения изменений можно выполнить с помощью
.show follower database
Синтаксис
.alter
follower
database
Databasenamepolicy
caching
hot
=
HotDataSpan
Пример
.alter follower database MyDb policy caching hot = 7d
Кэширование политики базы данных .delete follower
Удаляет политику переопределения кэширования базы данных подписчиков. Это удаление приводит к тому, что политика, установленная в базе данных-источнике в кластере-лидере, является действующей.
Примечания
- Просмотреть политику или действующие политики после изменения можно с помощью
.show
команд: - Просмотр параметров переопределения в базе данных подписчика после изменения можно выполнить с помощью
.show follower database
Синтаксис
.delete
follower
database
Databasenamepolicy
caching
Пример
.delete follower database MyDB policy caching
.add follower database principals
Добавляет авторизованные субъекты в коллекцию базы данных подписчика переопределения авторизованных субъектов. Примечания
- По умолчанию
modification kind
для таких авторизованных субъектов используется значениеnone
. Для изменения используйтеmodification kind
параметр alter follower database principals-modification-kind. - Просмотреть действующую коллекцию субъектов после изменения можно с помощью
.show
команд: - Просмотр параметров переопределения в базе данных подписчика после изменения можно выполнить с помощью
.show follower database
Синтаксис
.add
follower
database
DatabaseName (admins
viewers
| users
| | monitors
) Role (
principal1,
...,
principalN)
['
примечания'
]
Пример
.add follower database MyDB viewers ('aadgroup=mygroup@microsoft.com') 'My Group'
Субъекты базы данных .drop follower
Удаляет авторизованные субъекты из коллекции базы данных подписчиков переопределения авторизованных субъектов.
Примечание
- Просмотреть действующую коллекцию субъектов после изменения можно с помощью
.show
команд: - Просмотр параметров переопределения в базе данных подписчика после изменения можно выполнить с помощью
.show follower database
Синтаксис
.drop
follower
database
DatabaseName (admins
viewers
| | | users
monitors
) (
principal1,
...,
principalN)
Пример
.drop follower database MyDB viewers ('aadgroup=mygroup@microsoft.com')
.alter follower database principals-modification-kind
Изменяет тип изменения авторизованных субъектов базы данных подписчиков.
Примечание
- Просмотреть действующую коллекцию субъектов после изменения можно с помощью
.show
команд: - Просмотр параметров переопределения в базе данных подписчика после изменения можно выполнить с помощью
.show follower database
Синтаксис
.alter
follower
database
Databasenameprincipals-modification-kind
= (none
| | union
replace
)
Пример
.alter follower database MyDB principals-modification-kind = union
.alter follower database caching-policies-modification-kind
Изменяет тип изменения политик кэширования для базы данных подписчика, таблицы и материализованных представлений.
Примечание
- Просмотр действующей коллекции политик кэширования на уровне базы данных или таблицы после изменения можно выполнить с помощью стандартных
.show
команд: - Просмотр параметров переопределения в базе данных подписчика после изменения можно выполнить с помощью
.show follower database
Синтаксис
.alter
follower
database
Databasenamecaching-policies-modification-kind
= (none
| | union
replace
)
Пример
.alter follower database MyDB caching-policies-modification-kind = union
.alter follower database prefetch-extents
Кластер подписчиков может дождаться получения новых данных из базового хранилища на SSD узлов (кэш), прежде чем делать эти данные запрашиваемыми.
Следующая команда изменяет конфигурацию базы данных подписчика для предварительной выборки новых экстентов при каждом обновлении схемы.
Предупреждение
- Этот параметр может снизить актуальность данных в базе данных подписчиков.
- По умолчанию используется
false
конфигурация , и рекомендуется использовать значение по умолчанию. - При выборе изменения параметра на
true
внимательно оцените влияние на актуальность в течение некоторого периода времени после изменения конфигурации.
Синтаксис
.alter
follower
database
Databasenameprefetch-extents
= (true
| false
)
Пример
.alter follower database MyDB prefetch-extents = false
Команды таблиц и материализованных представлений
Изменение таблицы подписчиков или политики кэширования материализованных представлений
Изменяет политику кэширования таблицы или материализованного представления в базе данных подписчика, чтобы переопределить набор политик для базы данных-источника в кластере-лидере.
Примечание
- Просмотреть политику или действующие политики после изменения можно с помощью
.show
команд: - Просмотр параметров переопределения в базе данных подписчика после изменения можно выполнить с помощью
.show follower database
Синтаксис
.alter
follower
database
DatabaseName table TableNamepolicy
=
caching
hot
HotDataSpan
.alter
follower
database
DatabaseName tables (
TableName1,
...,
TableNameN)
policy
caching
hot
=
HotDataSpan
.alter
follower
database
DatabaseName materialized-view ViewNamepolicy
=
caching
hot
HotDataSpan
.alter
follower
database
DatabaseName materialized-views (
ViewName1,
...,
ViewNameN)
policy
caching
hot
=
HotDataSpan
Примеры
.alter follower database MyDb tables (Table1, Table2) policy caching hot = 7d
.alter follower database MyDb materialized-views (View1, View2) policy caching hot = 7d
Удаление таблицы подписчиков или политики кэширования материализованных представлений
Удаляет переопределение для политики кэширования таблицы или материализованного представления в базе данных подписчиков. Политика, заданная для базы данных-источника в кластере-лидере, теперь будет действующей политикой.
Примечание
- Просмотреть политику или действующие политики после изменения можно с помощью
.show
команд: - Просмотр параметров переопределения в базе данных подписчика после изменения можно выполнить с помощью
.show follower database
Синтаксис
.delete
follower
database
Databasenametable
Tablenamepolicy
caching
.delete
follower
database
Databasenametables
(
Имя_таблицы1,
...,
TableNameN)
policy
caching
.delete
follower
database
Databasenamematerialized-view
ViewNamepolicy
caching
.delete
follower
database
Databasenamematerialized-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
,MyTable2
,MyTable3
, ...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 |
CachingPolicyOverride | null |
AuthorizedPrincipalsOverride | [] |
AuthorizedPrincipalsModificationKind | Нет |
IsAutoPrefetchEnabled | Неверно |
TableMetadataOverrides | |
CachingPoliciesModificationKind | Union |
Переопределение авторизованных субъектов
Замените коллекцию авторизованных субъектов для на 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; 55555555-4444-3333-2222-2d7cd011db47 | |
Средство просмотра базы данных MyDatabase | пользователь Microsoft Entra | Jill Kusto (upn: jack@contoso.com) | abcdefab-abcd-efef-1234-350bf486087b | aaduser=54321789-abcd-efef-1234-350bf486087b; 55555555-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; 55555555-4444-3333-2222-2d7cd011db47 |
aaduser=54321789-abcd-efef-1234-350bf486087b; 55555555-4444-3333-2222-2d7cd011db47 |
Переопределение политик кэширования
Замените коллекцию политик кэширования на уровне базы данных и таблиц для on MyDatabase
MyFollowerCluster
, задав для всех таблиц не кэшированные данные, за исключением двух конкретных таблиц ( MyTable1
, MyTable2
- которые будут кэшировать данные для периодов 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 |
CachingPolicyOverride | {"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 | Заменить |
IsAutoPrefetchEnabled | Неверно |
TableMetadataOverrides | {"MyTargetTable":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"3.00:00:00"}...},"MySourceTable":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"1.00:00:00"},...}}} |
CachingPoliciesModificationKind | Заменить |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по