Compartilhar via


New-SqlAvailabilityGroup

Cria um grupo de disponibilidade.

Sintaxe

New-SqlAvailabilityGroup
   -AvailabilityReplica <AvailabilityReplica[]>
   [-Database <String[]>]
   [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
   [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
   [-HealthCheckTimeout <Int32>]
   [-BasicAvailabilityGroup]
   [-DatabaseHealthTrigger]
   [-DtcSupportEnabled]
   [-Name] <String>
   [[-Path] <String>]
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-SqlAvailabilityGroup
   -AvailabilityReplica <AvailabilityReplica[]>
   [-Database <String[]>]
   [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
   [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
   [-HealthCheckTimeout <Int32>]
   [-BasicAvailabilityGroup]
   [-DatabaseHealthTrigger]
   [-DtcSupportEnabled]
   [-Name] <String>
   [-InputObject] <Server>
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

O cmdlet New-SqlAvailabilityGroup cria um grupo de disponibilidade em Grupos de Disponibilidade AlwaysOn. O parâmetro InputObject ou Path especifica o servidor que hospeda o réplica primário inicial.

Exemplos

Exemplo 1: Criar um grupo de disponibilidade

PS C:\> $PrimaryServer = Get-Item "SQLSERVER:\SQL\PrimaryServer\Instance22"
PS C:\> $SecondaryServer = Get-Item "SQLSERVER:\SQL\SecondaryServer\Instance22"
PS C:\> $PrimaryReplica = New-SqlAvailabilityReplica -Name "PrimaryServer\Instance22" -EndpointUrl "TCP://PrimaryServer.domain:5022" -FailoverMode "Automatic" -AvailabilityMode "SynchronousCommit" -AsTemplate -Version ($PrimaryServer.Version)
PS C:\> $SecondaryReplica = New-SqlAvailabilityReplica -Name "SecondaryServer\Instance22" -EndpointUrl "TCP://SecondaryServer.domain:5022" -FailoverMode "Automatic" -AvailabilityMode "SynchronousCommit" -AsTemplate -Version ($SecondaryServer.Version) 
PS C:\> New-SqlAvailabilityGroup -InputObject $PrimaryServer -Name "MainAG" -AvailabilityReplica ($PrimaryReplica, $SecondaryReplica) -Database @("Database01","Database02")

O primeiro comando obtém uma instância de SQL Server no servidor primário e, em seguida, armazena-a na variável $PrimaryServer.

O segundo comando obtém uma instância de SQL Server no servidor secundário e, em seguida, armazena-a na variável $SecondaryServer.

O terceiro comando cria um réplica que inclui a instância do servidor primário usando o cmdlet New-SqlAvailabilityReplica e, em seguida, armazena-o na variável $PrimaryReplica. O comando especifica a versão da instância do servidor usando a propriedade Version do $PrimaryServer.

O quarto comando cria uma réplica que inclui a instância do servidor secundário usando New-SqlAvailabilityReplica e, em seguida, armazena-a na variável $SecondaryReplica. O comando especifica a versão da instância do servidor usando a propriedade Version do $SecondaryServer.

O comando final cria o grupo de disponibilidade. Ele especifica o nome, o servidor primário, as réplicas e outras informações.

Parâmetros

-AutomatedBackupPreference

Especifica a preferência de backup automatizado para o grupo de disponibilidade. Os valores aceitáveis para esse parâmetro são:

  • Primária. Especifica que os backups sempre ocorrem no réplica primário. Essa opção dá suporte ao uso de recursos não disponíveis quando o backup é executado em um réplica secundário, como backups diferenciais.
  • SecondaryOnly. Especifica que os backups nunca são executados em réplicas primárias. Se o réplica primário for o único réplica online, o backup não ocorrerá.
  • Secundário. Especifica que os backups ocorrem em réplicas secundárias, a menos que o réplica primário seja o único réplica online. Em seguida, o backup ocorre na réplica primária.
  • Nenhum. Especifica que o status primário ou secundário não é levado em conta ao decidir qual réplica executa backups. Em vez disso, a prioridade de backup e as status online determinam qual réplica executa backups.
Tipo:AvailabilityGroupAutomatedBackupPreference
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-AvailabilityReplica

Especifica uma matriz de réplicas de disponibilidade que esse cmdlet inclui no grupo de disponibilidade. Para obter um objeto AvailabilityReplica , use o cmdlet New-SqlAvailabilityReplica . Especifique o parâmetro AsTemplate .

Tipo:AvailabilityReplica[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-BasicAvailabilityGroup

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Database

Especifica uma matriz de bancos de dados de usuário locais de leitura/gravação. Esses bancos de dados devem usar o modelo de recuperação completa e não devem usar AUTO_CLOSE. Estes bancos de dados não podem pertencer a outro grupo de disponibilidade e não podem ser configurados para espelhamento de banco de dados. Você deve especificar um valor para esse parâmetro.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DatabaseHealthTrigger

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DtcSupportEnabled

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-FailureConditionLevel

Especifica o comportamento de failover automático do grupo de disponibilidade. Os valores aceitáveis para esse parâmetro são:

  • OnServerDown. Faça failover ou reinicie se o serviço SQL Server for interrompido.
  • OnServerUnresponsive. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de quando o serviço SQL Server estiver conectado ao cluster e o limite healthCheckTimeout for excedido ou se a disponibilidade réplica atualmente na função primária estiver em um estado de falha.
  • OnCriticalServerError. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de quando ocorrer um erro interno crítico do Servidor, que inclui condição de memória insuficiente, violação grave de acesso de gravação ou despejo excessivo.
  • OnModerateServerError. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de ocorrer um erro moderado do Servidor, que inclui a condição de memória insuficiente persistente.
  • OnAnyQualifiedFailureConditions. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de ocorrer uma condição de falha qualificada, que inclui esgotamento de thread de trabalho do mecanismo e deadlock insolúvel detectado.
Tipo:AvailabilityGroupFailureConditionLevel
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-HealthCheckTimeout

Especifica o período de tempo, em milissegundos, após o qual os grupos de disponibilidade AlwaysOn declaram um servidor sem resposta como não íntegro.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifica a instância de SQL Server que hospeda o réplica primário do grupo de disponibilidade que esse cmdlet cria.

Tipo:Server
Cargo:3
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Especifica o nome do grupo de disponibilidade que esse cmdlet cria.

Tipo:String
Cargo:2
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Path

Especifica o caminho da instância de SQL Server que hospeda o réplica primário inicial do grupo de disponibilidade que esse cmdlet cria. Se você não especificar esse parâmetro, esse cmdlet usará o local de trabalho atual. Se você especificar um valor, o caminho deverá existir no momento.

Tipo:String
Cargo:3
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Script

Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa que este cmdlet executa.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

Microsoft.SqlServer.Management.Smo.Server

Você pode passar uma instância de servidor para esse cmdlet.

Saídas

Microsoft.SqlServer.Management.Smo.AvailabilityGroup

Esse cmdlet retorna um grupo de disponibilidade.