Criar um Grupo de disponibilidade (SQL Server PowerShell)
Esse tópico descreve como usar os cmdlets do PowerShell para criar e configurar um grupo de disponibilidade AlwaysOn usando o PowerShell no SQL Server 2012. Um grupo de disponibilidade define um conjunto de bancos de dados de usuários que realizará o failover como uma única unidade e um conjunto de parceiros de failover, conhecido como réplicas de disponibilidade, que oferece suporte a failover.
Observação |
---|
Para obter uma introdução aos grupos de disponibilidade, consulte Visão geral de grupos de disponibilidade AlwaysOn (SQL Server). |
Antes de começar:
Pré-requisitos, restrições e recomendações
Segurança
Resumo de tarefas e cmdlets de PowerShell correspondentes
Para configurar e usar o provedor do SQL Server PowerShell
Para criar e configurar um grupo de disponibilidade usando: Usando o PowerShell para criar e configurar um grupo de disponibilidade
**Exemplos: ** Usando o PowerShell para criar um grupo de disponibilidade
Tarefas relacionadas
Conteúdo relacionado
Observação |
---|
Como alternativa para o uso dos cmdlets do PowerShell, você pode usar o assistente para Criar Grupo de Disponibilidade ou o Transact-SQL. Para obter mais informações, consulte Usar a caixa de diálogo Novo Grupo de Disponibilidade (SQL Server Management Studio) ou Criar um grupo de disponibilidade (Transact-SQL). |
Antes de começar
É recomendável que você leia esta seção antes de tentar criar seu primeiro grupo de disponibilidade.
Pré-requisitos, restrições e recomendações
- Antes de criar um grupo de disponibilidade, verifique se cada instância de host do SQL Server reside em um nó diferente do WSFC (Windows Server Failover Clustering) de um único cluster de failover do WSFC. Verifique também se suas instâncias de servidor atendem aos outros pré-requisitos de instância de servidor, se todos os outros requisitos do Grupos de Disponibilidade AlwaysOn são atendidos e se você está ciente das recomendações. Para mais informações, nós recomendamos fortemente que você leia Pré-requisitos, restrições e recomendações para grupos de disponibilidade AlwaysOn (SQL Server).
[Top]
Segurança
Permissões
Requer associação na função de servidor fixa sysadmin e a permissão de servidor CREATE AVAILABILITY GROUP, ou a permissão ALTER ANY AVAILABILITY GROUP ou a permissão CONTROL SERVER.
[Top]
Resumo de tarefas e cmdlets de PowerShell correspondentes
A tabela a seguir lista as tarefas básicas envolvidas na configuração de um grupo de disponibilidade e indica as tarefas com suporte nos cmdlets do PowerShell. As tarefas Grupos de Disponibilidade AlwaysOn devem ser executadas na sequência em que são apresentadas na tabela.
Tarefa |
Cmdlets do PowerShell (se disponíveis) ou instrução Transact-SQL |
Onde executar a tarefa* |
||
---|---|---|---|---|
Criar ponto de extremidade de espelhamento de banco de dados (uma vez por instância do SQL Server) |
New-SqlHadrEndPoint |
Executar em cada instância de servidor que não tem ponto de extremidade de espelhamento de banco de dados.
|
||
Criar grupo de disponibilidade |
Primeiro, use o cmdlet New-SqlAvailabilityReplica com o parâmetro -AsTemplate para criar um objeto da réplica de disponibilidade na memória para cada uma das duas réplicas de disponibilidade que você pretende incluir no grupo de disponibilidade. Em seguida, crie o grupo de disponibilidade usando o cmdlet New-SqlAvailabilityGroup e referenciando os objetos da réplica de disponibilidade. |
Execute na instância de servidor que deve hospedar a réplica primária inicial. |
||
Unir a réplica secundária ao grupo de disponibilidade |
Join-SqlAvailabilityGroup |
Execute em cada instância de servidor que hospeda uma réplica secundária. |
||
Preparar os banco de dados secundários |
Backup-SqlDatabase e Restore-SqlDatabase |
Crie backups na instância de servidor que hospeda a réplica primária. Restaure backups em cada instância de servidor que hospeda uma réplica secundária, usando o parâmetro de restauração NoRecovery. Se os caminhos dos arquivos forem diferentes nos computadores que hospedam a réplica primária e a réplica secundária de destino, use também o parâmetro de restauração RelocateFile. |
||
Iniciar a sincronização de dados unindo cada banco de dados secundário ao grupo de disponibilidade |
Add-SqlAvailabilityDatabase |
Execute em cada instância de servidor que hospeda uma réplica secundária. |
* Para executar uma tarefa específica, altere o diretório (cd) para as instâncias de servidor indicadas.
[Top]
Para configurar e usar o provedor do SQL Server PowerShell
[Top]
Usando o PowerShell para criar e configurar um grupo de disponibilidade
Observação |
---|
Para exibir a sintaxe e um exemplo de um cmdlet, use o cmdlet Get-Help no ambiente do SQL Server PowerShell. Para obter mais informações, consulte Obter Ajuda do SQL Server PowerShell. |
Altere o diretório (cd) para a instância do servidor que hospeda a réplica primária.
Crie um objeto da réplica de disponibilidade na memória para a réplica primária.
Crie um objeto da réplica de disponibilidade na memória para cada réplica secundária.
Crie o grupo de disponibilidade.
Observação O tamanho máximo de um nome de grupo de disponibilidade é 128 caracteres.
Una a nova réplica secundária ao grupo de disponibilidade. Para obter mais informações, consulte Unir uma réplica secundária a um grupo de disponibilidade (SQL Server).
Para cada banco de dados do grupo de disponibilidade, crie um banco de dados secundário restaurando backups recentes do banco de dados primário, usando RESTORE WITH NORECOVERY.
Una cada novo banco de dados secundário ao grupo de disponibilidade. Para obter mais informações, consulte Unir uma réplica secundária a um grupo de disponibilidade (SQL Server).
Se desejar, use o comando dir do Windows para verificar o conteúdo do novo grupo de disponibilidade.
Observação |
---|
Se as contas de serviço do SQL Server das instâncias de servidor forem executadas em contas de usuário de domínios diferentes, em cada instância de servidor, crie um logon para a outra instância de servidor e conceda a esse logon a permissão CONNECT ao ponto de extremidade de espelhamento de banco de dados local. |
[Top]
Exemplo: usando o PowerShell para criar um grupo de disponibilidade
O exemplo doe PowerShell a seguir cria e configura um grupo de disponibilidade simples denominado MyAG com duas réplicas de disponibilidade e um banco de dados de disponibilidade. O exemplo:
Faz backup do MyDatabase e de seu log de transações.
Restaura o MyDatabase e seu log de transação, usando a opção -NoRecovery.
Cria uma representação na memória da réplica primária, que será hospedada pela instância local do SQL Server (denominada PrimaryComputer\Instance).
Cria uma representação na memória da réplica secundária, que será hospedada por uma instância do SQL Server (denominada SecondaryComputer\Instance).
Cria um grupo de disponibilidade denominado MyAG.
Une a réplica secundária ao grupo de disponibilidade.
Une o banco de dados secundário ao grupo de disponibilidade.
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "SecondaryComputer\Instance" `
-RestoreAction Log `
-NoRecovery
# Create an in-memory representation of the primary replica.
$primaryReplica = New-SqlAvailabilityReplica `
-Name "PrimaryComputer\Instance" `
-EndpointURL "TCP://PrimaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create an in-memory representation of the secondary replica.
$secondaryReplica = New-SqlAvailabilityReplica `
-Name "SecondaryComputer\Instance" `
-EndpointURL "TCP://SecondaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "MyAG" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "MyDatabase"
# Join the secondary replica to the availability group.
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "MyAG"
# Join the secondary database to the availability group.
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\MyAG" -Database "MyDatabase"
Tarefas relacionadas
Para configurar uma instância de servidor para grupos de disponibilidade AlwaysOn
Para configurar um grupo de disponibilidade e propriedades de réplica
Alterar o modo de disponibilidade de uma réplica de disponibilidade (SQL Server)
Alterar o modo de failover de uma réplica de disponibilidade (SQL Server)
Criar ou configurar um ouvinte de grupo de disponibilidade (SQL Server)
Configurar backup em réplicas de disponibilidade (SQL Server)
Configurar o acesso somente leitura em uma réplica de disponibilidade (SQL Server)
Configurar o roteamento somente leitura para um grupo de disponibilidade (SQL Server)
Alterar o período de tempo limite da sessão de uma réplica de disponibilidade (SQL Server)
Para concluir a configuração do grupo de disponibilidade
Unir uma réplica secundária a um grupo de disponibilidade (SQL Server)
Preparar um banco de dados secundário manualmente para um grupo de disponibilidade (SQL Server)
Unir um banco de dados secundário a um grupo de disponibilidade (SQL Server)
Criar ou configurar um ouvinte de grupo de disponibilidade (SQL Server)
Maneiras alternativas de criar um grupo de disponibilidade
Usar a caixa de diálogo Assistente de Novo Grupo de Disponibilidade (SQL Server Management Studio)
Usar a caixa de diálogo Novo Grupo de Disponibilidade (SQL Server Management Studio)
Para solucionar problemas de configuração de grupos de disponibilidade AlwaysOn
[Top]
Conteúdo relacionado
Blogs:
Configurando o AlwaysOn com o SQL Server PowerShell
Blogs da equipe do SQL Server AlwaysOn: O blog oficial da equipe do SQL Server AlwaysOn
Vídeos:
White papers:
White papers da Microsoft para SQL Server 2012
White papers da equipe de consultoria do cliente do SQL Server
[Top]
Consulte também
Conceitos
O ponto de extremidade de espelhamento de banco de dados (SQL Server)
Visão geral de grupos de disponibilidade AlwaysOn (SQL Server)