Comandi di follower

Comandi di gestione per la gestione della configurazione dei follower. Questi comandi vengono eseguiti in modo sincrono, ma vengono applicati all'aggiornamento periodico successivo dello schema, che può causare un breve ritardo fino a quando non viene applicata la nuova configurazione.

I comandi follower includono comandi a livello di database e comandi a livello di tabella.

Autorizzazioni

Per eseguire questo comando è necessario disporre almeno delle autorizzazioni di Amministrazione database.

Override dei criteri di database

Un database leader può eseguire l'override dei criteri a livello di database seguenti nel cluster follower: Criteri di memorizzazione nella cache e entità autorizzate.

Criteri di memorizzazione nella cache

I criteri di memorizzazione nella cache predefiniti per il cluster follower usano i criteri di memorizzazione nella cache a livello di tabella e del database del cluster leader.

Opzione Descrizione
Nessuno I criteri di memorizzazione nella cache usati sono i criteri definiti nel database di origine nel cluster leader.
replace Il database di origine nel database del cluster leader e i criteri di memorizzazione nella cache a livello di tabella vengono rimossi (impostato su null). Questi criteri vengono sostituiti dai criteri di override a livello di database e a livello di tabella, se definito.
union(default) Il database di origine nel database del cluster leader e i criteri di memorizzazione nella cache a livello di tabella vengono combinati con i criteri definiti nei criteri di override a livello di database e a livello di tabella.

Nota

  • Se la raccolta di criteri di memorizzazione nella cache a livello di tabella e database di override è vuota, tutto viene memorizzato nella cache per impostazione predefinita.
  • È possibile impostare l'override dei criteri di memorizzazione nella cache a livello di database su 0de non verrà memorizzato nella cache per impostazione predefinita.

Entità autorizzate

Opzione Descrizione
Nessuno Le entità autorizzate sono definite nel database di origine del cluster leader.
replace Le entità autorizzate di override sostituiscono le entità autorizzate dal database di origine nel cluster leader.
union(default) Le entità autorizzate di override vengono combinate con le entità autorizzate dal database di origine nel cluster leader.

Nota

Se la raccolta di entità autorizzate di override è vuota, non saranno presenti entità a livello di database.

I criteri tabelle e visualizzazioni materializzate vengono ignorati

Per impostazione predefinita, le tabelle e le viste materializzate in un database seguito da un cluster follower mantengono i criteri di memorizzazione nella cache dell'entità di origine. È tuttavia possibile eseguire l'override dei criteri di memorizzazione nella cache della tabella e della visualizzazione materializzata nel cluster follower. Usare l'opzione per eseguire l'override replace dei criteri di memorizzazione nella cache dell'entità di origine.

Comandi a livello di database

.show follower database

Mostra un database (o database) seguito da un altro cluster leader, con una o più sostituzioni a livello di database configurate.

Sintassi

.showfollowerdatabaseDatabasename

.showfollowerdatabases(DatabaseName1,...,DatabaseNameN)

Output

Parametro di output Tipo Descrizione
DatabaseName string Nome del database da seguire.
LeaderClusterMetadataPath string Percorso del contenitore di metadati del cluster leader.
CachingPolicyOverride string Criteri di memorizzazione nella cache di override per il database, serializzati come JSON o Null.
AuthorizedPrincipalsOverride string Raccolta di override di entità autorizzate per il database, serializzate come JSON o Null.
AuthorizedPrincipalsModificationKind string Tipo di modifica da applicare usando AuthorizedPrincipalsOverride (none, o unionreplace).
CachePoliciesModificationKind string Tipo di modifica da applicare usando i criteri di memorizzazione nella cache a livello di tabella o di database (none, uniono replace).
IsAutoPrefetchEnabled bool Indica se i nuovi dati vengono pre-recuperati in ogni aggiornamento dello schema.
TableMetadataOverrides string Se definito, la serializzazione JSON delle proprietà a livello di tabella esegue l'override.

Memorizzazione nella cache dei criteri del database con estensione alter follower

Modifica un criterio di memorizzazione nella cache del database di follower per eseguire l'override di quello impostato nel database di origine nel cluster leader.

Note

Sintassi

.alterfollowerdatabaseDatabasenamepolicycachinghot=HotDataSpan

Esempio

.alter follower database MyDb policy caching hot = 7d

Memorizzazione nella cache dei criteri di database di follower .delete

Elimina un database di follower che esegue l'override dei criteri di memorizzazione nella cache. Questa eliminazione causa il set di criteri nel database di origine nel cluster leader quello effettivo.

Note

Sintassi

.deletefollowerdatabaseDatabasenamepolicycaching

Esempio

.delete follower database MyDB policy caching

.add follower database principals

Aggiunge entità autorizzate alla raccolta di database follower delle entità autorizzate di override. Note

Sintassi

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

Esempio

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

Entità di database con estensione drop follower

Elimina le entità autorizzate dalla raccolta di database follower delle entità autorizzate di override.

Nota

Sintassi

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

Esempio

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

.alter follower database principals-modification-kind

Modifica il tipo di modifica delle entità autorizzate del database follower.

Nota

Sintassi

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

Esempio

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

.alter follower database caching-policies-modification-kind

Modifica il tipo di modifica dei criteri di memorizzazione nella cache per il database, la tabella e le viste materializzate dei follower.

Nota

  • Visualizzazione dell'efficace raccolta di criteri di memorizzazione nella cache a livello di database/tabella dopo la modifica può essere eseguita usando i comandi standard .show :
  • Visualizzazione delle impostazioni di override nel database dei follower dopo la modifica può essere eseguita usando .show follower database

Sintassi

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

Esempio

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

.alter follower database prefetch-extents

Il cluster follower può attendere che i nuovi dati vengano recuperati dalla risorsa di archiviazione sottostante all'unità SSD (cache) dei nodi prima di rendere questi dati querybili.

Il comando seguente modifica la configurazione del database follower di prelettura dei nuovi extent al momento dell'aggiornamento dello schema.

Avviso

  • Questa impostazione può ridurre la freschezza dei dati nel database follower.
  • La configurazione predefinita è falsee si consiglia di usare l'impostazione predefinita.
  • Quando si sceglie di modificare l'impostazione su true, valutare attentamente l'impatto sull'aggiornamento per un periodo di tempo dopo la modifica della configurazione.

Sintassi

.alterfollowerdatabaseDatabasenameprefetch-extents = (true | false)

Esempio

.alter follower database MyDB prefetch-extents = false

Comandi tabelle e viste materializzate

Modificare la tabella dei follower o i criteri di memorizzazione nella cache delle viste materializzate

Modifica i criteri di memorizzazione nella cache di una tabella o di una vista materializzata nel database follower per eseguire l'override dei criteri impostati nel database di origine nel cluster leader.

Nota

Sintassi

.alterfollowerdatabaseTabella DatabaseNamepolicyhotcaching=HotDataSpan

.alterfollowerdatabaseTabelle DatabaseName1(,...,TableNameN)policycachinghot=HotDataSpan

.alterfollowerdatabaseDatabaseName materializzato-view ViewNamepolicy=cachinghotHotDataSpan

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

esempi

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

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

Eliminare la tabella dei follower o i criteri di memorizzazione nella cache delle visualizzazioni materializzate

Elimina un override per i criteri di memorizzazione nella cache di una tabella o di una vista materializzata nel database follower. I criteri impostati nel database di origine nel cluster leader saranno ora i criteri effettivi.

Nota

Sintassi

.deletefollowerdatabaseDatabasenametableTablenamepolicycaching

.deletefollowerdatabaseDatabasenametables(TableName1,...,TableNameN)policycaching

.deletefollowerdatabaseDatabasenamematerialized-viewViewnamepolicycaching

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

Esempio

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

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

Configurazione di esempio

Di seguito sono riportati i passaggi di esempio per configurare un database di follower.

Esempio:

  • Il cluster MyFollowerCluster follower seguirà il database MyDatabase dal cluster leader, MyLeaderCluster.

    • MyDatabase include N tabelle: MyTable1, MyTable2, MyTable3, ... MyTableN (N> 3).
    • In MyLeaderCluster:
    MyTable1 memorizzazione nella cache dei criteri MyTable2 memorizzazione nella cache dei criteri MyTable3...MyTableN memorizzazione nella cache dei criteri MyDatabase Entità autorizzate
    intervallo di dati ad accesso frequente = 7d intervallo di dati ad accesso frequente = 30d intervallo di dati ad accesso frequente = 365d Visualizzatori = aadgroup=scubadivers@contoso.com; Amministratori = aaduser=jack@contoso.com
    • Su MyFollowerCluster vogliamo:
    MyTable1 memorizzazione nella cache dei criteri MyTable2 memorizzazione nella cache dei criteri MyTable3...MyTableN memorizzazione nella cache dei criteri MyDatabase Entità autorizzate
    intervallo di dati ad accesso frequente = 1d intervallo di dati ad accesso frequente = 3d hot data span = 0d (non viene memorizzato nella cache) = aaduser=jack@contoso.comAmministratori, Visualizzatori = aaduser=jill@contoso.com

Importante

Sia che MyFollowerClusterMyLeaderCluster devono trovarsi nella stessa area.

Passaggi da eseguire

Prerequisito: Configurare il cluster MyFollowerCluster per seguire il database MyDatabase dal cluster MyLeaderCluster.

Nota

È previsto che l'entità che esegue i comandi di gestione sia nel DatabaseAdmin database MyDatabase.

Mostra la configurazione corrente

Vedere la configurazione corrente in base alla quale MyDatabase viene seguita su MyFollowerCluster:

.show follower database MyDatabase
| evaluate narrow() // just for presentation purposes
Colonna valore
DatabaseName Mydatabase
LeaderClusterMetadataPath https://storageaccountname.blob.core.windows.net/cluster
CachingPolicyOverride Null
AuthorizedPrincipalsOverride []
AuthorizedPrincipalsModificationKind Nessuno
IsAutoPrefetchEnabled Falso
TableMetadataOverrides
CachingPoliciesModificationKind Union

Eseguire l'override delle entità autorizzate

Sostituire la raccolta di entità autorizzate per MyDatabase on MyFollowerCluster con una raccolta che include un solo utente Microsoft Entra come amministratore del database e un utente Microsoft Entra come visualizzatore di database:

.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

Solo queste due entità specifiche sono autorizzate ad accedere MyDatabase a MyFollowerCluster

.show database MyDatabase principals
Ruolo PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN Note
Database MyDatabase Amministrazione Microsoft Entra utente Jack Kusto (upn: jack@contoso.com) 12345678-abcd-efef-1234-350bf486087b aaduser=87654321-abcd-efef-1234-350bf486087b; 55555555-4444-3333-2222-2d7cd011db47
Visualizzatore Database MyDatabase Microsoft Entra utente 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

Eseguire l'override dei criteri di memorizzazione nella cache

Sostituire la raccolta di criteri di memorizzazione nella cache a livello di database e di tabella per MyDatabaseMyFollowerCluster impostando tutte le tabelle in modo che i dati non siano memorizzati nella cache, escludendo due tabelle specifiche, MyTable1MyTable2 che avranno i dati memorizzati nella cache rispettivamente per periodi di 1d e :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

Solo le due tabelle specifiche includono dati memorizzati nella cache e il resto delle tabelle ha un periodo di dati ad accesso frequente di 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"}}} }

Riepilogo

Vedere la configurazione corrente in cui MyDatabase viene seguito in MyFollowerCluster:

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