Comandos do seguidor

Comandos de gestão para gerir a configuração do seguidor. Estes comandos são executados de forma síncrona, mas são aplicados na próxima atualização periódica do esquema, o que pode resultar num curto atraso até que a nova configuração seja aplicada.

Os comandos do seguidor incluem comandos ao nível da base de dados e comandos ao nível da tabela.

Permissões

Tem de ter, pelo menos, permissões de Administração base de dados para executar este comando.

Substituições da política de base de dados

Uma base de dados de coordenador pode substituir as seguintes políticas ao nível da base de dados no cluster de seguidores: Política de colocação em cache e Principais autorizados.

Política de colocação em cache

A política de colocação em cache predefinida para o cluster de seguidores utiliza a base de dados de cluster líder e as políticas de colocação em cache ao nível da tabela.

Opção Descrição
Nenhuma As políticas de colocação em cache utilizadas são as políticas definidas na base de dados de origem no cluster de coordenadores.
substituir A base de dados de origem na base de dados do cluster líder e as políticas de colocação em cache ao nível da tabela são removidas (definidas como null). Estas políticas são substituídas pelas políticas de substituição ao nível da base de dados e da tabela, se definidas.
união(predefinição) A base de dados de origem na base de dados do cluster líder e as políticas de colocação em cache ao nível da tabela são combinadas com as políticas definidas nas políticas de substituição ao nível da base de dados e da tabela.

Nota

  • Se a coleção de políticas de colocação em cache ao nível da tabela e da base de dados de substituição estiver vazia, tudo será colocado em cache por predefinição.
  • Pode definir a substituição da política de colocação em cache ao nível da base de dados como 0de nada será colocado em cache por predefinição.

Principais autorizados

Opção Descrição
Nenhuma Os principais autorizados são definidos na base de dados de origem do cluster de coordenadores.
substituir Os principais autorizados de substituição substituem os principais autorizados da base de dados de origem no cluster de coordenadores.
união(predefinição) Os principais autorizados de substituição são combinados com os principais autorizados da base de dados de origem no cluster de coordenadores.

Nota

Se a coleção de principais autorizados de substituição estiver vazia, não haverá principais ao nível da base de dados.

Substituições de políticas de tabelas e vistas materializadas

Por predefinição, as tabelas e as vistas materializadas numa base de dados que está a ser seguida por um cluster de seguidores mantêm a política de colocação em cache da entidade de origem. No entanto, as políticas de colocação em cache de tabelas e vistas materializadas podem ser substituídas no cluster de seguidores. Utilize a opção replace para substituir a política de colocação em cache da entidade de origem.

Comandos ao nível da base de dados

.show follower database

Mostra uma base de dados (ou bases de dados) seguida de outro cluster líder, que tem uma ou mais substituições ao nível da base de dados configuradas.

Syntax

.showfollowerdatabaseDatabaseName

.showfollowerdatabases(DatabaseName1,...,DatabaseNameN)

Saída

Parâmetro de saída Tipo Description
DatabaseName string O nome da base de dados a ser seguida.
LeaderClusterMetadataPath string O caminho para o contentor de metadados do cluster de coordenadores.
CachingPolicyOverride string Uma política de colocação em cache de substituição para a base de dados, serializada como JSON ou nula.
AuthorizedPrincipalsOverride string Uma coleção de substituição de principais autorizados para a base de dados, serializada como JSON ou nula.
AuthorizedPrincipalsModificationKind string O tipo de modificação a aplicar com AuthorizedPrincipalsOverride (none, unionou replace).
CachingPoliciesModificationKind string O tipo de modificação a aplicar com substituições da política de colocação em cache ao nível da base de dados ou da tabela (none, unionou replace).
IsAutoPrefetchEnabled bool Se os novos dados são previamente obtidos em cada atualização de esquema.
TableMetadataOverrides string Se definido, uma serialização JSON da propriedade ao nível da tabela substitui.

Colocação em cache da política de base de dados .alter follower

Altera uma política de colocação em cache de base de dados de seguidores, para substituir a que está definida na base de dados de origem no cluster de classificação.

Notas

Syntax

.alterfollowerdatabaseDatabaseNamepolicycachinghot=HotDataSpan

Exemplo

.alter follower database MyDb policy caching hot = 7d

Colocação em cache da política de base de dados do seguidor .delete

Elimina uma política de colocação em cache de uma base de dados de seguidores. Esta eliminação faz com que a política definida na base de dados de origem no cluster de coordenador seja efetiva.

Notas

Syntax

.deletefollowerdatabaseDatabaseNamepolicycaching

Exemplo

.delete follower database MyDB policy caching

.add follower database principals (.add follower database principals)

Adiciona principais autorizados à coleção de bases de dados de seguimento de principais autorizados de substituição. Notas

Syntax

.addfollowerdatabaseDatabaseName (adminsviewers | users | | monitors) Role (principal1,...,principalN) ['notas']

Exemplo

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

.drop follower database principals (Principais de base de dados do seguidor .drop)

Remove os principais autorizados da coleção de bases de dados de seguimento de principais autorizados de substituição.

Nota

Syntax

.dropfollowerdatabaseDatabaseName (adminsviewers | | | usersmonitors) (principal1,...,principalN)

Exemplo

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

.alter follower database principals-modification-kind

Altera o tipo de modificação de principais autorizados da base de dados de seguidores.

Nota

Syntax

.alterfollowerdatabaseDatabaseNameprincipals-modification-kind = (none | | unionreplace)

Exemplo

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

.alter follower database caching-policies-modification-kind

Altera o tipo de modificação de políticas de colocação em cache para a base de dados, tabela e vistas materializadas do seguidor.

Nota

  • Ver a coleção efetiva de políticas de colocação em cache ao nível da base de dados/tabela após a alteração poder ser feita com os comandos padrão .show :
  • Ver as definições de substituição na base de dados do seguidor depois de a alteração poder ser efetuada com .show follower database

Syntax

.alterfollowerdatabaseDatabaseNamecaching-policies-modification-kind = (none | | unionreplace)

Exemplo

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

.alter follower database prefetch-extents

O cluster de seguidores pode aguardar que os novos dados sejam obtidos do armazenamento subjacente ao SSD (cache) dos nós antes de tornar estes dados que podem ser consultados.

O comando seguinte altera a configuração da base de dados do seguidor de obter previamente novas extensões em cada atualização de esquema.

Aviso

  • Esta definição pode degradar a frescura dos dados na base de dados do seguidor.
  • A configuração predefinida é false, e é recomendado utilizar a predefinição.
  • Ao optar por alterar a definição para true, avalie de perto o impacto na atualização durante algum período de tempo após a alteração da configuração.

Syntax

.alterfollowerdatabaseDatabaseNameprefetch-extents = (true | false)

Exemplo

.alter follower database MyDB prefetch-extents = false

Tabelas e comandos de vistas materializadas

Alterar a tabela do seguidor ou a política de colocação em cache de vista materializada

Altera a política de colocação em cache de uma tabela ou de uma vista materializada na base de dados do seguidor, para substituir a política definida na base de dados de origem no cluster principal.

Nota

Syntax

.alterfollowerdatabaseTabela DatabaseNameTableNamepolicy=cachinghotHotDataSpan

.alterfollowerdatabaseTabelas (DatabaseNameTableName1,...,TableNameN)policycachinghot=HotDataSpan

.alterfollowerdatabaseDatabaseName materialized-view ViewNamepolicy=cachinghotHotDataSpan

.alterfollowerdatabaseDatabaseName materialized-views (ViewName1,...,ViewNameN)policycachinghot=HotDataSpan

Exemplos

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

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

Eliminar tabela de seguidores ou política de colocação em cache de vista materializada

Elimina uma substituição da política de colocação em cache de uma tabela ou de uma vista materializada na base de dados do seguidor. A política definida na base de dados de origem no cluster leader será agora a política efetiva.

Nota

Syntax

.deletefollowerdatabaseDatabaseNametableTableNamepolicycaching

.deletefollowerdatabaseDatabaseNametables(TableName1,...,TableNameN)policycaching

.deletefollowerdatabaseDatabaseNamematerialized-viewViewNamepolicycaching

.deletefollowerdatabaseDatabaseNamematerialized-views(ViewName1,...,ViewNameN)policycaching

Exemplo

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

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

Configuração de exemplo

Seguem-se passos de exemplo para configurar uma base de dados de seguidores.

Neste exemplo:

  • O nosso cluster MyFollowerCluster de seguidores seguirá a base de dados MyDatabase do cluster leader, MyLeaderCluster.

    • MyDatabase tem N tabelas: MyTable1, MyTable2, , MyTable3... MyTableN (N> 3).
    • Em MyLeaderCluster:
    MyTable1 política de colocação em cache MyTable2 política de colocação em cache MyTable3...MyTableN política de colocação em cache MyDatabase Principais autorizados
    intervalo de dados frequente = 7d intervalo de dados frequente = 30d intervalo de dados frequente = 365d Visualizadores = aadgroup=scubadivers@contoso.com; Administradores = aaduser=jack@contoso.com
    • Queremos MyFollowerCluster :
    MyTable1 política de colocação em cache MyTable2 política de colocação em cache MyTable3...MyTableN política de colocação em cache MyDatabase Principais autorizados
    intervalo de dados frequente = 1d intervalo de dados frequente = 3d intervalo de dados frequente = 0d (nada é colocado em cache) Administradores = aaduser=jack@contoso.com, Visualizadores = aaduser=jill@contoso.com

Importante

Ambos MyFollowerCluster e MyLeaderCluster têm de estar na mesma região.

Passos a executar

Pré-requisito: Configure o cluster MyFollowerCluster para seguir a base de dados MyDatabase do cluster MyLeaderCluster.

Nota

Espera-se que o principal que executa os comandos de gestão seja uma base de DatabaseAdmin dados MyDatabase.

Mostrar a configuração atual

Veja a configuração atual de acordo com a qual MyDatabase está a ser seguida em MyFollowerCluster:

.show follower database MyDatabase
| evaluate narrow() // just for presentation purposes
Coluna Valor
DatabaseName MyDatabase
LeaderClusterMetadataPath https://storageaccountname.blob.core.windows.net/cluster
CachingPolicyOverride nulo
AuthorizedPrincipalsOverride []
AuthorizedPrincipalsModificationKind Nenhuma
IsAutoPrefetchEnabled Falso
TableMetadataOverrides
CachingPoliciesModificationKind União

Substituir principais autorizados

Substitua a coleção de principais autorizados para ativar MyFollowerCluster por MyDatabase uma coleção que inclui apenas um utilizador Microsoft Entra como administrador da base de dados e um Microsoft Entra utilizador como visualizador de bases de dados:

.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

Apenas esses dois principais específicos estão autorizados a aceder MyDatabase em MyFollowerCluster

.show database MyDatabase principals
Função PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN Notas
Base de Dados MyDatabase Administração Microsoft Entra utilizador Jack Kusto (upn: jack@contoso.com) 12345678-abcd-efef-1234-350bf486087b aaduser=87654321-abcd-efef-1234-350bf486087b; 55555555-4444-3333-2222-2d7cd011db47
Visualizador de Base de Dados MyDatabase Microsoft Entra utilizador 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

Substituir políticas de Colocação em Cache

Substitua a coleção de políticas de colocação em MyFollowerCluster cache ao nível da base de dados e da tabela ao MyDatabase definir todas as tabelas para não colocarem os dados em cache, excluindo duas tabelas específicas , MyTable1, MyTable2 que terão os respetivos dados em cache durante períodos de 1d e 3d, respetivamente:

.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

Apenas essas duas tabelas específicas têm dados em cache e as restantes tabelas têm um período de dados frequente de 0d:

.show tables details
| summarize TableNames = make_list(TableName) by CachingPolicy
CachingPolicy Nomes de Tabela
{"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"}}}}

Resumo

Veja a configuração atual onde MyDatabase está a ser seguido em MyFollowerCluster:

.show follower database MyDatabase
| evaluate narrow() // just for presentation purposes
Coluna Valor
DatabaseName 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 Substituir
IsAutoPrefetchEnabled Falso
TableMetadataOverrides {"MyTargetTable":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"3.00:00:00"}...},"MySourceTable":{"CachingPolicyOverride":{"DataHotSpan":{"Value":"1.00:00:00"},...}}}
CachingPoliciesModificationKind Substituir