Comandos del seguidor

Comandos de administración para administrar la configuración del seguidor. Estos comandos se ejecutan sincrónicamente, pero se aplican en la siguiente actualización periódica del esquema, lo que puede dar lugar a un breve retraso hasta que se aplique la nueva configuración.

Los comandos del seguidor incluyen comandos de nivel de base de datos y comandos de nivel de tabla.

Permisos

Debe tener al menos permisos de Administración de base de datos para ejecutar este comando.

Invalidaciones de directiva de base de datos

Una base de datos líder puede invalidar las siguientes directivas de nivel de base de datos en el clúster del seguidor: directiva de almacenamiento en caché y entidades de seguridad autorizadas.

Directiva de almacenamiento en caché

La directiva de almacenamiento en caché predeterminada para el clúster del seguidor usa la base de datos de clúster líder y las directivas de almacenamiento en caché de nivel de tabla.

Opción Descripción
None Las directivas de almacenamiento en caché usadas son esas directivas definidas en la base de datos de origen del clúster líder.
replace La base de datos de origen de la base de datos del clúster líder y las directivas de almacenamiento en caché de nivel de tabla se quitan (se establece en null). Estas directivas se reemplazan por las directivas de invalidación de nivel de tabla y de base de datos, si se definen.
union(default) La base de datos de origen de la base de datos del clúster líder y las directivas de almacenamiento en caché de nivel de tabla se combinan con las directivas definidas en la base de datos y las directivas de invalidación de nivel de tabla.

Nota

  • Si la colección de directivas de almacenamiento en caché de nivel de tabla y base de datos de invalidación está vacía, todo se almacena en caché de forma predeterminada.
  • Puede establecer la invalidación de la directiva de almacenamiento en caché de nivel de base de datos en 0dy no se almacenará nada en caché de forma predeterminada.

Entidades de seguridad autorizadas

Opción Descripción
None Las entidades de seguridad autorizadas se definen en la base de datos de origen del clúster líder.
replace Las entidades de seguridad autorizadas invalidan a las entidades de seguridad autorizadas de la base de datos de origen del clúster líder.
union(default) Las entidades de seguridad autorizadas de invalidación se combinan con las entidades de seguridad autorizadas de la base de datos de origen del clúster líder.

Nota

Si la colección de entidades de seguridad autorizadas de invalidación está vacía, no habrá ninguna entidad de seguridad de nivel de base de datos.

Invalidaciones de directiva de vistas materializadas y tablas

De forma predeterminada, las tablas y las vistas materializadas de una base de datos seguidas por un clúster seguidor mantienen la directiva de almacenamiento en caché de la entidad de origen. Sin embargo, las directivas de almacenamiento en caché de tablas y vistas materializadas se pueden invalidar en el clúster del seguidor. Use la replace opción para invalidar la directiva de almacenamiento en caché de la entidad de origen.

Comandos de nivel de base de datos

Base de datos .show follower

Muestra una base de datos (o bases de datos) seguidas de otro clúster líder, que tienen configuradas una o varias invalidaciones de nivel de base de datos.

Sintaxis

.showfollowerdatabaseDatabasename

.showfollowerdatabases(DatabaseName1,...,DatabaseNameN)

Salida

Parámetro de salida Tipo Descripción
DatabaseName string Nombre de la base de datos que se va a seguir.
LeaderClusterMetadataPath string Ruta de acceso al contenedor de metadatos del clúster líder.
CachingPolicyOverride string Una directiva de almacenamiento en caché de invalidación para la base de datos, serializada como JSON o null.
AuthorizedPrincipalsOverride string Colección de invalidaciones de entidades de seguridad autorizadas para la base de datos, serializada como JSON o null.
AuthorizedPrincipalsModificationKind string El tipo de modificación que se va a aplicar mediante AuthorizedPrincipalsOverride (none, uniono replace).
CachingPoliciesModificationKind string El tipo de modificación que se va a aplicar mediante invalidaciones de directiva de almacenamiento en caché de nivel de tabla o base de datos (none, uniono replace).
IsAutoPrefetchEnabled bool Si los nuevos datos se capturan previamente en cada actualización del esquema.
TableMetadataOverrides string Si se define, se invalida una serialización JSON de la propiedad de nivel de tabla.

Almacenamiento en caché de la directiva de base de datos .alter follower

Modifica una directiva de almacenamiento en caché de la base de datos del seguidor para invalidar la establecida en la base de datos de origen del clúster líder.

Notas

Sintaxis

.alterfollowerdatabaseDatabasenamepolicycachinghot=HotDataSpan

Ejemplo

.alter follower database MyDb policy caching hot = 7d

Almacenamiento en caché de la directiva de base de datos del seguidor .delete

Elimina una directiva de almacenamiento en caché de invalidación de la base de datos de seguimiento. Esta eliminación hace que la directiva establecida en la base de datos de origen del clúster líder sea efectiva.

Notas

Sintaxis

.deletefollowerdatabaseDatabasenamepolicycaching

Ejemplo

.delete follower database MyDB policy caching

.add follower database principals

Agrega entidades de seguridad autorizadas a la colección de bases de datos del seguidor de entidades de seguridad autorizadas de invalidación. Notas

Sintaxis

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

Ejemplo

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

Entidades de seguridad de base de datos del seguidor .drop

Quita las entidades de seguridad autorizadas de la colección de bases de datos del seguidor de invalidar las entidades de seguridad autorizadas.

Nota

Sintaxis

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

Ejemplo

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

.alter follower database principals-modification-kind

Modifica el tipo de modificación de entidades de seguridad autorizadas de la base de datos de seguimiento.

Nota

Sintaxis

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

Ejemplo

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

.alter follower database caching-policies-modification-kind

Modifica el tipo de modificación de directivas de almacenamiento en caché para las vistas materializadas, tabla y base de datos del seguidor.

Nota

  • Ver la colección eficaz de directivas de almacenamiento en caché de nivel de tabla o base de datos después de que se pueda realizar el cambio mediante los comandos estándar .show :
  • Ver la configuración de invalidación en la base de datos del seguidor después de que se pueda realizar el cambio mediante .show follower database

Sintaxis

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

Ejemplo

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

.alter follower database prefetch-extents

El clúster del seguidor puede esperar a que se capturen nuevos datos desde el almacenamiento subyacente hasta el SSD (caché) de los nodos antes de hacer que estos datos sean consultables.

El siguiente comando modifica la configuración de la base de datos del seguidor de la captura previa de nuevas extensiones en cada actualización de esquema.

Advertencia

  • Esta configuración puede degradar la actualización de los datos en la base de datos del seguidor.
  • La configuración predeterminada es falsey se recomienda usar el valor predeterminado.
  • Al elegir modificar la configuración en true, evalúe detenidamente el impacto en la actualización durante algún período de tiempo después del cambio de configuración.

Sintaxis

.alterfollowerdatabaseDatabasenameprefetch-extents = (true | false)

Ejemplo

.alter follower database MyDB prefetch-extents = false

Tablas y comandos de vistas materializadas

Modificar la tabla del seguidor o la directiva de almacenamiento en caché de vistas materializadas

Modifica la directiva de almacenamiento en caché de una tabla o una vista materializada en la base de datos del seguidor para invalidar el conjunto de directivas en la base de datos de origen del clúster líder.

Nota

Sintaxis

.alterfollowerdatabaseTabla DatabaseNameTableNamepolicy=cachinghotHotDataSpan

.alterfollowerdatabaseTablas( De DatabaseName TableName1,...,TableNameN)policycachinghot=HotDataSpan

.alterfollowerdatabaseDatabaseName materialized-view ViewNamepolicy=cachinghotHotDataSpan

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

Ejemplos

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

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

Eliminar la tabla del seguidor o la directiva de almacenamiento en caché de vistas materializadas

Elimina una invalidación de la directiva de almacenamiento en caché de una tabla o de una vista materializada en la base de datos del seguidor. La directiva establecida en la base de datos de origen del clúster líder ahora será la directiva efectiva.

Nota

Sintaxis

.deletefollowerdatabaseDatabasenametableTablenamepolicycaching

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

.deletefollowerdatabaseDatabasenamematerialized-viewViewNamepolicycaching

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

Ejemplo

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

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

Configuración de ejemplo

A continuación se muestran los pasos de ejemplo para configurar una base de datos de seguidor.

En este ejemplo:

  • Nuestro clúster MyFollowerCluster del seguidor, seguirá la base de datos MyDatabase del clúster líder, MyLeaderCluster.

    • MyDatabase tiene N tablas: MyTable1, MyTable2, MyTable3, ... MyTableN (N> 3).
    • En MyLeaderCluster:
    MyTable1 Directiva de almacenamiento en caché MyTable2 Directiva de almacenamiento en caché MyTable3...MyTableN Directiva de almacenamiento en caché MyDatabase Entidades de seguridad autorizadas
    intervalo de datos activos = 7d intervalo de datos activos = 30d intervalo de datos activos = 365d Visores = aadgroup=scubadivers@contoso.com; Administradores = aaduser=jack@contoso.com
    • En MyFollowerCluster lo que queremos:
    MyTable1 Directiva de almacenamiento en caché MyTable2 Directiva de almacenamiento en caché MyTable3...MyTableN Directiva de almacenamiento en caché MyDatabase Entidades de seguridad autorizadas
    intervalo de datos activos = 1d intervalo de datos activos = 3d intervalo de datos activos = 0d (nada se almacena en caché) Administradores, visores = aaduser=jack@contoso.com = aaduser=jill@contoso.com

Importante

Tanto como MyFollowerClusterMyLeaderCluster deben estar en la misma región.

Pasos para ejecutar

Requisito previo: Configure el clúster MyFollowerCluster para seguir la base de datos MyDatabase del clúster MyLeaderCluster.

Nota

Se espera que la entidad de seguridad que ejecuta los comandos de administración sea en DatabaseAdmin la base de datos MyDatabase.

Mostrar la configuración actual

Consulte la configuración actual según la cual MyDatabase se sigue en MyFollowerCluster:

.show follower database MyDatabase
| evaluate narrow() // just for presentation purposes
Columna Valor
DatabaseName MyDatabase
LeaderClusterMetadataPath https://storageaccountname.blob.core.windows.net/cluster
CachingPolicyOverride null
AuthorizedPrincipalsOverride []
AuthorizedPrincipalsModificationKind None
IsAutoPrefetchEnabled False
TableMetadataOverrides
CachingPoliciesModificationKind Union

Invalidación de entidades de seguridad autorizadas

Reemplace la colección de entidades de seguridad autorizadas para MyDatabase en MyFollowerCluster por una colección que incluya solo un usuario Microsoft Entra como administrador de base de datos y un usuario Microsoft Entra como visor de base de datos:

.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 esas dos entidades de seguridad específicas están autorizadas para acceder MyDatabase a en MyFollowerCluster

.show database MyDatabase principals
Rol PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN Notas
Base de datos MyDatabase Administración Usuario de Microsoft Entra Jack Kusto (upn: jack@contoso.com) 12345678-abcd-efef-1234-350bf486087b aaduser=87654321-abcd-efef-1234-350bf486087b; 55555555-4444-3333-2222-2d7cd011db47
Visor myDatabase de base de datos Usuario de 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

Invalidar directivas de almacenamiento en caché

Reemplace la colección de directivas de almacenamiento en caché de nivel de tabla y de base de datos para MyDatabase activadas MyFollowerCluster estableciendo que todas las tablas no tienen sus datos almacenados en caché, excepto dos tablas específicas ( MyTable1, MyTable2 ) que tendrán sus datos almacenados en caché durante períodos de 1d y 3d, respectivamente:

.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 esas dos tablas específicas tienen datos almacenados en caché y el resto de las tablas tienen un período de datos frecuente de 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"}}}

Resumen

Consulte la configuración actual en la que MyDatabase se sigue en MyFollowerCluster:

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