Set-SqlAvailabilityReplica
Imposta le impostazioni in una replica di disponibilità.
Sintassi
Set-SqlAvailabilityReplica
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-SqlAvailabilityReplica
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-InputObject] <AvailabilityReplica>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet Set-SqlAvailabilityReplica imposta o modifica un'ampia gamma di proprietà per una replica di disponibilità. Eseguire questo cmdlet nell'istanza del server che ospita la replica primaria.
Esempio
Esempio 1: Modificare una modalità di disponibilità della replica e il failover automatico
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Questo comando modifica la replica denominata Replica02
nel gruppo di disponibilità denominato MainAG
per usare synchronous-commit
la modalità di disponibilità e per supportare automatic failover
.
Esempio 2: Modificare una replica per supportare il failover manuale forzato
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Questo comando modifica la replica denominata Replica02
nel gruppo di disponibilità denominato MainAG
per l'uso asynchronous-commit
della modalità di disponibilità e per supportare solo forced manual failover
, che potrebbe comportare la perdita di dati.
Esempio 3: Consentire tutte le connessioni nel ruolo secondario
PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Questo comando modifica la replica Replica02
nel gruppo MainAG
di disponibilità per consentire tutte le connessioni nel ruolo secondario.
In questo modo è possibile eseguire l'offload dei carichi di lavoro di elaborazione dei dati di sola lettura nelle repliche secondarie.
Esempio 4: Configurare una replica primaria e una replica secondaria per il routing readonly
PS C:\> Set-Location "SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MainAG"
PS C:\> $PrimaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
PS C:\> $SecondaryReplica = Get-Item "AvailabilityReplicas\SecondaryServer"
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://PrimaryServer.domain.com:5022" -InputObject $PrimaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://SecondaryServer.domain.com:5022" -InputObject $SecondaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingList "SecondaryServer","PrimaryServer" -InputObject $PrimaryReplica
Il primo comando modifica la posizione in un percorso nel provider SQLSERVER: .
Il quarto comando assegna un URL di routing di sola lettura alla replica primaria. L'elenco di routing di sola lettura viene quindi impostato sulla replica primaria.
Esempio 5: Modificare la priorità di backup
PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Questo comando imposta la priorità di backup della replica Replica02
di disponibilità su 60
.
Questa priorità viene usata dall'istanza del server che ospita la replica primaria per decidere quale replica deve gestire una richiesta di backup automatizzata in un database nel gruppo di disponibilità. Viene scelta la replica con la priorità più alta.
Parametri
-AccessToken
Token di accesso usato per eseguire l'autenticazione per SQL Server, in alternativa all'autenticazione utente/password o Windows.
Può essere usato, ad esempio, per connettersi a SQL Azure DB
e SQL Azure Managed Instance
usando un Service Principal
oggetto o .Managed Identity
Il parametro da usare può essere una stringa che rappresenta il token o un PSAccessToken
oggetto restituito eseguendo Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AvailabilityMode
Specifica la modalità di disponibilità della replica.
È possibile specificare il valore $Null
.
Type: | AvailabilityReplicaAvailabilityMode |
Accepted values: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackupPriority
Specifica la priorità desiderata delle repliche durante l'esecuzione di backup. I valori accettabili per questo parametro sono numeri interi compresi tra 0 e 100. Del set di repliche online e disponibili, la replica con la priorità più alta esegue il backup.
Un valore pari a zero (0) indica che la replica non è un candidato.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Richiede la conferma dell'utente prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionModeInPrimaryRole
Specifica il modo in cui la replica di disponibilità gestisce le connessioni quando si trova nel ruolo primario. I valori validi per questo parametro sono:
- AllowReadWriteConnections. Consente connessioni di lettura/scrittura.
- AllowAllConnections. Consente tutte le connessioni.
Type: | AvailabilityReplicaConnectionModeInPrimaryRole |
Accepted values: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionModeInSecondaryRole
Specifica il modo in cui la replica di disponibilità gestisce le connessioni quando si trova nel ruolo secondario. I valori validi per questo parametro sono:
- AllowNoConnections. Impedisce le connessioni.
- AllowReadIntentConnectionsOnly. Consente solo connessioni con finalità di lettura.
- AllowAllConnections. Consente tutte le connessioni.
Type: | AvailabilityReplicaConnectionModeInSecondaryRole |
Accepted values: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Tipo di crittografia da utilizzare per la connessione a SQL Server.
Questo valore esegue il Encrypt
mapping alla proprietà SqlConnectionEncryptOption
nell'oggetto SqlConnection del driver Microsoft.Data.SqlClient.
Nella versione 22 del modulo il valore predefinito è Optional
(per compatibilità con la versione 21). Nella versione 23+ del modulo il valore predefinito sarà "Obbligatorio", che può creare una modifica di rilievo per gli script esistenti.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EndpointUrl
Specifica l'URL dell'endpoint del mirroring del database.
Questo URL è un indirizzo TCP nel formato seguente: TCP://system-address:port
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FailoverMode
Specifica la modalità di failover.
È possibile specificare il valore $Null
.
Type: | AvailabilityReplicaFailoverMode |
Accepted values: | Automatic, Manual, External, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Nome host da usare per la convalida del certificato TLS/SSL di SQL Server. È necessario passare questo parametro se l'istanza di SQL Server è abilitata per Forza crittografia e si vuole connettersi a un'istanza usando nome host/nome breve. Se questo parametro viene omesso, è necessario passare il nome di dominio completo (FQDN) a -ServerInstance per connettersi a un'istanza di SQL Server abilitata per Forza crittografia.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica il gruppo di disponibilità, come oggetto AvailabilityGroup, a cui appartiene la replica.
Type: | AvailabilityReplica |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LoadBalancedReadOnlyRoutingList
Specifica l'elenco di routing di sola lettura con carico bilanciato.
L'elenco di routing è un elenco di set con carico bilanciato, che a sua volta sono elenchi di repliche.
Ad esempio, passando un valore come
@('Server1','Server2'),@('Server3'),@('Server4')
significa il passaggio di 3 set con carico bilanciato: 1 con 2 repliche (Server1 e Server2) e 2 con un solo set (Server3 e Server4, rispettivamente).
In fase di esecuzione, SQL Server esaminerà in sequenza tutti i set con carico bilanciato fino a quando non ne trova uno in modo che almeno nella replica sia disponibile e lo usi per il bilanciamento del carico.
Nell'esempio precedente, se server1 e Server2 non sono disponibili, ma Server3 è, SQL Server selezionerà Server3.
Questo cmdlet imposta solo l'elenco di routing di sola lettura e non verifica la disponibilità delle repliche specificate.
Type: | String[][] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifica il percorso del gruppo di disponibilità a cui appartiene la replica. Se non si specifica questo parametro, questo cmdlet usa la posizione di lavoro corrente.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadonlyRoutingConnectionUrl
Specifica il nome di dominio completo (FQDN) e la porta da usare durante il routing alla replica per le connessioni di sola lettura, come nell'esempio seguente: TCP://DBSERVER8.manufacturing.Contoso.com:7024
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadOnlyRoutingList
Specifica un elenco ordinato di nomi di server di replica che rappresentano la sequenza di probe da usare per la directory di connessione durante il reindirizzamento delle connessioni di sola lettura tramite questa replica di disponibilità. Questo parametro si applica se la replica di disponibilità è la replica primaria corrente del gruppo di disponibilità.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indica che questo cmdlet restituisce uno script Transact-SQL che esegue l'attività eseguita da questo cmdlet.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SeedingMode
Specifica in che modo viene eseguito il seeding iniziale della replica secondaria.
Valori consentiti:
- Automatico. Abilita il seeding diretto. Questo metodo esegue il seeding della replica secondaria in rete. Non richiede l'esecuzione del backup e il ripristino di una copia del database primario nella replica.
- manuale. Specifica il seeding manuale. Questo metodo richiede la creazione di un backup del database nella replica primaria e il ripristino manuale del backup nella replica secondaria.
Type: | AvailabilityReplicaSeedingMode |
Accepted values: | Automatic, Manual |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionTimeout
Specifica il periodo di tempo, espresso in secondi, per attendere una risposta tra la replica primaria e la replica prima che la connessione non riesca.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Indica se il canale verrà crittografato durante il bypass della catena di certificati per convalidare l'attendibilità.
Nella versione 22 del modulo il valore predefinito è $true
(per compatibilità con la versione 21). Nella versione 23+ del modulo il valore predefinito sarà "$false", che può creare una modifica di rilievo per gli script esistenti.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Microsoft.SqlServer.Management.Smo.AvailabilityReplica