Configurar a disponibilidade usando o espelhamento de banco de dados do SQL Server (SharePoint Server 2010)
Aplica-se a: SharePoint Foundation 2010, SharePoint Server 2010
Tópico modificado em: 2016-11-30
Este artigo descreve como usar o espelhamento de banco de dados de alta disponibilidade para configurar a disponibilidade em um farm para o Microsoft SharePoint Server 2010. O artigo pressupõe que você esteja familiarizado com os conceitos e termos apresentados em Planejar a disponibilidade (SharePoint Server 2010).
O espelhamento de banco de dados do Microsoft SQL Server dá suporte à disponibilidade enviando transações diretamente de um servidor e um banco de dados principal para um servidor e banco de dados espelho quando o buffer de log de transações do banco de dados principal é gravado em disco. Para verificar a disponibilidade em um farm do Microsoft SharePoint Server 2010, você usa o espelhamento de banco de dados de alta disponibilidade, também conhecido como modo de alta segurança com failover automático. O espelhamento de banco de dados de alta disponibilidade envolve três instâncias de servidor: uma principal, um espelho e uma testemunha. O servidor testemunha permite que o SQL Server faça o failover automático do servidor principal para o servidor espelho. O failover do banco de dados principal para o banco de dados espelho normalmente leva alguns segundos.
Em um farm do SharePoint Server 2010, o espelhamento pode oferecer redundância para os bancos de dados de conteúdo e configuração e para muitos bancos de dados de serviço. Mesmo que os bancos de dados sejam espelhados no mesmo servidor, cada um deles realizará o failover individualmente. A figura a seguir mostra como o espelhamento é configurado para fornecer disponibilidade em um farm do SharePoint Server 2010.
O SharePoint Server 2010 tem reconhecimento de espelhamento. Para usar o espelhamento no ambiente, primeiro configure o espelhamento e, depois, defina o valor de banco de dados de failover no SharePoint Server.
Neste artigo:
Antes de começar
Configurar o espelhamento de banco de dados de alta disponibilidade
Configurar os Produtos do SharePoint 2010 para reconhecerem bancos de dados espelhados
Experiência do usuário durante um failover
Antes de começar
Antes de começar a configurar o espelhamento, verifique se o administrador de banco de dados está ciente dos requisitos e topologias com suporte a seguir.
Requisitos de espelhamento de banco de dados
Familiarize-se com as recomendações da lista a seguir e verifique se os bancos de dados e o sistema atendem a todos os requisitos antes de configurar o espelhamento de banco de dados para um ambiente do SharePoint Server:
Recomendamos que o sistema tenha latência de no máximo 1 milissegundo.
De preferência, a largura de banda do sistema deve ser de 1 gigabyte (GB) por segundo.
Os logs são copiados em tempo real entre o servidor principal e os servidores espelho, e a cópia pode afetar o desempenho. Verifique se há memória e largura de banda suficientes no servidor principal e no servidor espelho.
O servidor principal e o servidor espelho devem executar a mesma versão e edição do SQL Server e devem ser executados no mesmo idioma. O espelhamento de banco de dados está disponível apenas nas edições Standard, Developer e Enterprise. O servidor testemunha pode executar qualquer versão do SQL Server, inclusive o SQL Server 2008 Express.
O espelhamento funciona apenas com bancos de dados que usam o modelo de recuperação completa.
Por padrão, os bancos de dados do SharePoint Server 2010 são configurados para usar o modelo de recuperação simples. Para configurar o espelhamento de banco de dados, o modelo de recuperação do banco de dados deve ser definido como Completa. Para obter informações sobre como definir o modelo de recuperação para um banco de dados, consulte o artigo sobre como exibir ou alterar o modelo de recuperação de um banco de dados (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=132075&clcid=0x416).
Se você planeja espelhar bancos de dados, leve em conta que o tamanho dos logs de transações para esses bancos de dados pode se tornar muito grande. Para contornar o problema, você pode estabelecer um plano de recuperação para truncar os logs de transações, conforme necessário. Para obter mais informações, consulte o seguinte artigo na Base de Dados de Conhecimento Microsoft: Como impedir que o log de transações de um banco de dados do SQL Server cresça de forma inesperada (https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x416).
Cada sessão de espelhamento de banco de dados cria pelo menos dois threads para cada banco de dados. Verifique se o servidor de banco de dados tem threads suficientes para alocar o espelhamento a todos os bancos de dados com suporte. Se os threads forem insuficientes, o desempenho poderá ser reduzido à medida que mais bancos de dados forem adicionados a uma sessão.
Para obter mais informações sobre o desempenho para o espelhamento de banco de dados, consulte o artigo sobre práticas recomendadas e considerações sobre o desempenho para o espelhamento de banco de dados (https://go.microsoft.com/fwlink/?linkid=185119&clcid=0x416).
Se você vai configurar o espelhamento de banco de dados para bancos de dados do Microsoft Project Server 2010, consulte Configure availability by using SQL Server database mirroring (Project Server 2010) para obter informações específicas para o Project Server.
Segurança associada ao espelhamento de banco de dados
O espelhamento de banco de dados usa sessões TCP para transportar o log de transações de um servidor para outro e para monitorar a integridade atual do sistema para failovers automáticos. A autenticação é realizada no nível de sessão quando uma porta é aberta para conexão. O espelhamento de banco de dados dá suporte a certificados e autenticação do Windows (NTLM ou Kerberos).
A menos que a rede seja segura, os dados transmitidos durante a sessão devem ser criptografados. O espelhamento de banco de dados dá suporte aos algoritmos de criptografia AES e RC4. Para obter mais informações sobre a segurança associada ao espelhamento de banco de dados, consulte o artigo sobre segurança de transporte de espelhamento de banco de dados (https://go.microsoft.com/fwlink/?linkid=83569&clcid=0x416).
Segurança e servidores espelhados dos Produtos do SharePoint 2010
Quando você cria um banco de dados espelhado, os logons e permissões do SQL Server para o banco de dados a ser usado com um farm do SharePoint não são automaticamente configurados nos bancos de dados mestre e msdb no servidor espelho. Em vez disso, você deve configurar as permissões para os logons necessários. Eles incluem os itens a seguir (mas não estão limitados a eles):
A conta de pool de aplicativos da Administração Central deve ser membro das funções de servidor fixas dbcreator e securityadmin.
Todas as contas de pool de aplicativos, as contas de acesso de conteúdo padrão e quaisquer contas necessárias para aplicativos de serviço devem ter logons do SQL Server, embora não devam ser atribuídas a funções fixas de banco de dados ou de servidor do SQL Server.
Membros do grupo Administradores de Farm do SharePoint também devem ter logons do SQL Server e devem ser membros das mesmas funções do SQL Server que a conta de pool de aplicativos da Administração Central.
É recomendável transferir seus logons e permissões do servidor principal para o servidor espelho executando um script. Um exemplo de script está disponível no artigo da Base de Conhecimento 918992, Como transferir os logons e as senhas entre instâncias do SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x416). Para obter mais informações sobre como transferir metadados do SQL Server entre instâncias, consulte o artigo dos Livros do SQL Server Online sobre gerenciamento de metadados ao disponibilizar um banco de dados em outra instância do servidor (https://go.microsoft.com/fwlink/?linkid=122055&clcid=0x416).
Topologias com suporte
É recomendável manter um mapeamento de um-para-um do servidor principal e da instância do banco de dados para o servidor espelho e a instância do banco de dados, de modo a garantir a compatibilidade com o SharePoint Server 2010.
As topologias com suporte incluem espelhamento de todos os bancos de conteúdo, do banco de dados de configuração, do banco de dados de conteúdo da Administração Central e dos bancos de dados de aplicativo de serviço, exceto o banco de dados de Preparo do Web Analytics e o banco de dados de Sincronização de Perfil de Usuário.
Observação
Não é recomendável espelhar o banco de dados de Logs de Coleta de Dados de Uso e Integridade. Um ambiente do SharePoint poderá continuar a ser executado se esse banco de dados falhar, e esses dados poderão ser gerados novamente com rapidez.
Evite topologias que não têm instâncias de banco de dados e servidor principal e instâncias de banco de dados e servidor espelho correspondentes. Além disso, mantenha os bancos de dados de configuração e de administração de conteúdo no mesmo servidor.
Configurar o espelhamento de banco de dados de alta disponibilidade
É recomendável que um administrador de banco de dados do SQL Server configure o espelhamento de alta disponibilidade para um ambiente de produção. Para um ambiente de teste, fornecemos scripts Transact-SQL que você pode usar para configurar o ambiente. Para obter mais informações, consulte Sample script for configuring SQL Server mirroring (SharePoint Foundation).
Configurar os Produtos do SharePoint 2010 para reconhecerem bancos de dados espelhados
Para fazer com que o SharePoint Server 2010 reconheça que existem bancos de dados espelhados de failover, execute o procedimento a seguir para todos os bancos de dados de configuração e de conteúdo.
Observação
É recomendável usar cmdlets do Windows PowerShell para definir valores de banco de dados de failover. Embora possa usar o site da Administração Central para definir alguns valores do banco de dados de failover, você não pode usá-lo para todos os bancos de dados.
Para configurar os Produtos do SharePoint 2010 para reconhecerem bancos de dados espelhados usando o Windows PowerShell
Verifique se você atende aos requisitos mínimos: Consulte Add-SPShellAdmin.
No menu Iniciar, clique em Todos os Programas.
Clique em Produtos do Microsoft SharePoint 2010.
Clique em Shell de Gerenciamento do SharePoint 2010.
No prompt de comando do Windows PowerShell, digite os seguintes comandos e pressione ENTER:
$db = get-spdatabase | where {$_.Name -eq " nome do banco de dados "}
$db.AddFailoverServiceInstance(" nome do banco de dados espelhado ")
$db.Update()
Para obter mais informações, consulte Get-SPDatabase.
Experiência do usuário durante um failover
Enquanto o SQL Server está alternando para o uso de um banco de dados espelhado, os usuários de um site do SharePoint que é executado em relação ao banco de dados podem enfrentar breves problemas de conectividade e perda de dados.
Monitorando e solucionando problemas de espelhamento
Para monitorar o status e o desempenho do espelhamento em um farm, os administradores de banco de dados podem usar o Monitor de Espelhamento de Banco de Dados. O monitoramento permite determinar se os dados estão fluindo na sessão de espelhamento de banco de dados e com que eficácia. O Monitor de Espelhamento de Banco de Dados também é útil para solucionar problemas que causam fluxo de dados reduzido. Para obter mais informações, consulte o artigo sobre visão geral do Monitor de Espelhamento de Banco de Dados (https://go.microsoft.com/fwlink/?linkid=185068&clcid=0x416). Outro recurso para solução de problemas é o artigo dos Livros do SQL Server Online sobre solução de problemas de configuração de espelhamento de banco de dados (https://go.microsoft.com/fwlink/?linkid=185069&clcid=0x416).