Usando o Espelhamento de Banco de Dados do SQL Server com o Office SharePoint Server e o Windows SharePoint Services Publicado em março de 2007 As informações contidas neste documento representam a visão atual da Microsoft Corporation sobre os assuntos discutidos até a data da publicação. A Microsoft deve reagir às constantes alterações nas condições do mercado, e sendo assim este documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação aqui apresentada após a data de publicação. Este Informe Oficial tem propósito exclusivamente informativo. A MICROSOFT NÃO OFERECE GARANTIAS, EXPRESSAS, IMPLÍCITAS OU REGULAMENTARES ACERCA DAS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO. É de responsabilidade do usuário o respeito a toda a legislação de copyright aplicável. Sem restringir os direitos autorais da marca, nenhuma parte deste documento poderá ser reproduzida, armazenada, ou introduzida num sistema de buscas, ou transmitida de qualquer forma (eletrônica, mecânica, através de fotocópias, ou outra), com qualquer propósito, e sem o consentimento expresso e por escrito da Microsoft Corporation. A Microsoft pode possuir patentes, aplicações de patentes, marcas registradas, copyright ou outros direitos de propriedade intelectual assegurando os assuntos abordados neste documento. Exceto quando expressamente declarado, através de acordo por escrito da Microsoft, a posse deste documento não dá direito ao uso das patentes, marcas registradas, copyright ou outra propriedade intelectual. 2007 Microsoft Corporation. Todos os direitos reservados. Microsoft, SharePoint, SQL Server, e Windows são marcas ou marcas registradas da Microsoft Corporation nos Estados Unidos e/ou outros países. Os nomes de produtos e empresas reais mencionados neste documento podem ser marcas registradas de seus respectivos donos. Índice Usando o Espelhamento de Banco de Dados do SQL Server com o Office SharePoint Server e o Windows SharePoint Services....1 Introdução ao Espelhamento de Banco de Dados ............................................................................................................................1 Modos do Espelhamento de Banco de Dados ..............................................................................................................................2 Segurança Associada ao Espelhamento de Banco de Dados ........................................................................................................2 Como Instalar o Espelhamento de Banco de Dados com os Produtos e Tecnologias SharePoint .....................................................4 Pré-Requisitos ..............................................................................................................................................................................4 Topologias Recomendadas ...........................................................................................................................................................4 Limites Recomendados para Bancos de Dados ............................................................................................................................6 Desempenho e Escalabilidade ......................................................................................................................................................7 Etapas da Instalação .....................................................................................................................................................................7 Espelhamento de Banco de Dados com Certificados e Recuperação Completa......................................................................8 Instalação de um Servidor “Testemunha” .............................................................................................................................11 Recuperação de uma Falha .............................................................................................................................................................14 Tipos de Failover ........................................................................................................................................................................14 Failover Automático ..............................................................................................................................................................14 Failover Manual .....................................................................................................................................................................15 Failover Forçado (possível perda de dados) ..........................................................................................................................15 Notificando os Produtos e Tecnologias SharePoint quando Ocorrer um Failover .....................................................................16 Banco de Dados de Configuração e Banco de Dados de Conteúdo de Administração ..........................................................17 Banco de Dados de Conteúdo ...............................................................................................................................................17 Banco de Dados de Pesquisa .................................................................................................................................................18 Banco de Dados de Provedor de Serviços Compartilhados (somente para o Office SharePoint Server)...............................18 Usando o Espelhamento de Banco de Dados do SQL Server com o Office SharePoint Server e o Windows SharePoint Services Introdução ao Espelhamento de Banco de Dados O espelhamento de banco de dados é uma nova tecnologia do software de banco de dados do Microsoft® SQL Server™ 2005 que pode fornecer soluções de alta disponibilidade e alto desempenho para a redundância de bancos de dados. No espelhamento de banco de dados, as transações são enviadas diretamente de um banco de dados e servidor principal para um banco de dados e servidor espelho, sempre que o buffer de registro de transações do banco de dados principal é gravado em disco. Essa técnica pode manter o banco de dados espelho quase totalmente atualizado em relação ao banco de dados principal. Opcionalmente, pode ser usado um terceiro servidor, um servidor “Testemunha”, para ativar o failover automático do servidor principal para o servidor espelho. O espelhamento de banco de dados é uma solução básica de software para o aumento da disponibilidade do banco de dados. O espelhamento é implementado numa base por banco de dados e trabalha somente com banco por meio de registros em massa n de dados que usam o modelo de recuperação completo. Os modelos de recuperação simples e não suportam o espelhamento de banco de dados. O espelhamento de banco de dados oferece uma melhoria significativa em disponibilidade em relação ao nível anteriormente possível com o SQL Server e fornece uma alternativa ou suplemento fácil de gerenciar para o clustering failover ou log shipping. Quando uma sessão de espelhamento de banco de dados é sincronizada, o espelhamento de banco de dados fornece um servidor standby que suporta failover rápido, sem perda de dados das transações confirmadas. Durante uma sessão típica de espelhamento, após uma falha no servidor de produção, as aplicações do cliente podem ser recuperadas rapidamente pela reconexão com o servidor standby. Para mais informações sobre o espelhamento de banco de dados, consulte Espelhamento de Banco de Dados no SQL Server 2005 (http://go.microsoft.com/fwlink/?LinkId=83566&clcid=0x409). Os administradores de servidores que executam o Microsoft Office SharePoint® Server 2007 ou o Microsoft Windows® SharePoint Services podem usar o espelhamento de banco de dados e notificar o Office SharePoint Server ou o Windows SharePoint Services se o servidor de banco de dados se altera para recuperar-se rapidamente de falhas no banco de dados. 1 Modos do Espelhamento de Banco de Dados O espelhamento de banco de dados oferece três modos de implementação. A opção selecionada depende da maneira desejada para manipular o processo de failover. Alta disponibilidade Essa opção de modo operacional permite sincronizar a gravação dos registros de transações para ambos os servidores e ativa o failover automático. Para que essa opção funcione, também é necessário possuir um servidor “Testemunha”. Alta proteção Essa opção permite sincronizar a gravação dos registros de transações para ambos os servidores, mas o failover é manual. Como o failover automático não faz parte dessa opção, o servidor “Testemunha” não é usado. Alto desempenho Essa opção não sincroniza a gravação dos registros de transações para os servidores e, portanto, oferece alguns ganhos em desempenho. Quando essa opção é usada, considera-se que tudo correrá bem com o espelho. Essa opção permite somente failover manual, e o servidor “Testemunha” não é usado. Lembre-se que o failover automático para uma cópia secundária de seus dados é o benefício real do espelhamento de banco de dados. Portanto, a maior parte da implementação provavelmente usará o modo de alta disponibilidade. As demais opções também oferecem um processo interno para failover, mas é possível que você esteja mais interessado em possuir um failover automático, caso surja um problema. Segurança Associada ao Espelhamento de Banco de Dados O espelhamento de banco de dados usa sessões de TCP para transportar o registro de transações de um servidor de para outro e para monitorar a saúde atual do sistema para failovers automáticos. A autenticação é feita no nível da sessão quando uma porta é aberta para conexão. O espelhamento de banco de dados permite dois tipos de autenticação do SQL. Autenticação do Windows (NTLM ou Kerberos) Certificados Este documento demonstra como usar o espelhamento de banco de dados com certificados. Para informações sobre o uso da autenticação do Windows com o espelhamento de banco de dados, consulte Exemplo: Instalação do Espelhamento de Banco de Dados Usando a Autenticação do Windows (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=83567&clcid=0x409). A menos que a rede seja segura, os dados transmitidos durante a sessão devem ser criptografados. Este documento fornece um esboço de como instalar a criptografia nos dados transmitidos por fio usando RC4, embora o espelhamento de banco de dados suporte tanto os algoritmos de criptografia AES quanto RC4. Para mais informações sobre segurança associada ao espelhamento de banco de dados, consulte 2 Segurança do Transporte no Espelhamento de Banco de Dados (http://go.microsoft.com/fwlink/?LinkId=83569&clcid=0x409). 3 Como Instalar o Espelhamento de Banco de Dados com os Produtos e Tecnologias SharePoint Pré-Requisitos Este documento descreve como usar o espelhamento de banco de dados do SQL Server com o Windows SharePoint Services 3.0 ou o Office SharePoint Server 2007. Este documento considera que você possui uma implantação de farm de servidores, e a topologia da implantação contém no mínimo um servidor da Web de front-end e um servidor de banco de dados de back-end. Se você não usa um farm de servidores, o espelhamento de banco de dados não lhe será útil. Assegure-se de que o servidor principal e o servidor espelho estejam executando a mesma edição do Microsoft SQL Server 2005. O espelhamento de dados está disponível somente nas edições Standard, Developer e Enterprise do SQL Server 2005 com o service pack mais recente. O servidor “Testemunha” pode executar qualquer versão do SQL Server 2005. Topologias Recomendadas Recomenda-se manter um mapeamento um para um do servidor principal para o servidor espelho, para assegurar a conformidade com os Produtos e Tecnologias SharePoint. As seguintes ilustrações demonstram algumas topologias suportadas. 4 Topologia suportada 1 Topologia suportada 2 5 Quaisquer topologias que não sejam compatíveis com o servidor principal e com o servidor espelho devem ser evitadas. Além disso, o banco de dados de configuração e o banco de dados de conteúdo de administração devem ser mantidos no mesmo servidor. O diagrama a seguir ilustra uma topologia não suportada. Topologia não suportada Limites Recomendados para Bancos de Dados O número recomendado de bancos de dados usados em uma única sessão de espelhamento deve ser de no máximo 10. Cada sessão de espelhamento de banco de dados cria no mínimo dois threads para cada banco de dados. À medida que mais bancos de dados são adicionados à sessão, o desempenho pode piorar progressivamente, até que o sistema não seja mais capaz de responder. Para mais informações sobre as práticas recomendadas para o uso do espelhamento de banco de dados, consulte Espelhamento de Banco de Dados no SQL Server 2005 (http://go.microsoft.com/fwlink/?LinkId=83566&clcid=0x409). 6 Desempenho e Escalabilidade O desempenho e a escalabilidade do espelhamento de banco de dados estão além do escopo deste informe. O desempenho e a escalabilidade dependem de vários fatores diferentes, incluindo o que segue: A latência da rede é o principal fator para o desempenho. Os registros são copiados em tempo real entre o servidor principal e o servidor espelho, e a cópia pode causar impacto no desempenho. Possuir mais de um servidor espelho não afeta a escalabilidade. O processo não usa log shipping e, assim, evita o impacto sobre o desempenho. Para mais informações sobre desempenho e escalabilidade, consulte Espelhamento de Banco de Dados no SQL Server 2005 (http://go.microsoft.com/fwlink/?LinkId=83566&clcid=0x409). Etapas da Instalação As etapas desta seção fornecem instruções para o uso do Transact-SQL para instalar o espelhamento de banco de dados em um banco de dados do SQL Server. Para instalar o espelhamento de banco de dados com os Produtos e Tecnologias SharePoint, você deve concluir as etapas para cada banco de dados em sua implantação. O Windows SharePoint Services usa os seguintes bancos de dados: Um banco de dados de configuração Um banco de dados de conteúdo de administração Um ou mais bancos de dados de conteúdo Um ou mais bancos de dados de pesquisa O Office SharePoint Server usa os seguintes bancos de dados: Um banco de dados de configuração Um banco de dados de conteúdo de administração Um ou mais bancos de dados de conteúdo Um ou mais bancos de dados de pesquisa Um ou mais bancos de dados de Provedor de Serviços Compartilhados 7 As etapas seguintes mostram como instalar o espelhamento de banco de dados com recuperação completa. Se você deseja desativar a recuperação completa e executar no modo de alto desempenho, consulte Espelhamento de Banco de Dados Assíncrono (Modo de Alto Desempenho) (http://go.microsoft.com/fwlink/?LinkId=83579&clcid=0x409). Recomenda-se o uso da recuperação completa para manter o banco de dados sincronizado e reduzir as chances de perda dos dados. Espelhamento de Banco de Dados com Certificados e Recuperação Completa Cada etapa registra o servidor em que o espelhamento deve ser executado. Use o Transact-SQL para enviar esses comandos ao SQL Server. As informações do espaço reservado são especificadas com os sinais de menor e maior (<>). Substitua o conteúdo, em especial as senhas de exemplo, com as informações específicas para sua implantação. 1. No servidor principal, crie um certificado e abra uma porta para o espelhamento. --No banco de dados mestre, crie uma Chave Mestra para o banco de dados, se necessário. CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->'; GO -- Crie um certificado para essa instância de servidor. USE master; CREATE CERTIFICATE <MASTER_HostA_cert> WITH SUBJECT = '<Master_HostA certificate>'; GO --Crie uma extremidade de espelhamento para a instância do servidor usando o certificado. CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert> , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO --Faça backup do certificado do HOST_A e copie-o para o outro sistema, HOST_B. BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>'; GO 2. No servidor principal, faça o backup do banco de dados. Esse código usa o banco de dados de configuração como exemplo. Faça o mesmo para todos os bancos de dados. USE master; --Assegure-se de que SharePoint_Config usa o modelo de recuperação completa. ALTER DATABASE SharePoint_Config 8 SET RECOVERY FULL; GO USE SharePoint_Config BACKUP DATABASE SharePoint_Config TO DISK = '<c:\SharePoint_Config.bak>' WITH FORMAT GO BACKUP Log SharePoint_Config TO DISK = '<c:\SharePoint_Config_log.bak>' WITH FORMAT GO 3. Copie o arquivo de backup para o servidor espelho. Faça o mesmo para todos os bancos de dados. 4. No servidor espelho, crie um certificado e abra uma porta para o espelhamento. --No banco de dados mestre, crie a Chave Mestra para o banco de dados, se necessário. USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>'; GO -- Crie um certificado na instância do servidor do HOST_B. CREATE CERTIFICATE <HOST_HostB> WITH SUBJECT = '<HOST_HostB certificate for database mirroring>'; GO --Crie uma extremidade de espelhamento para a instância do servidor em HOST_B. CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <HOST_HostB> , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO --Faça backup do certificado do HOST_B. BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>'; GO 5. Usando qualquer método seguro de cópia, copie o arquivo de certificado de backup (C:\HOST_HostB_cert.cer, por exemplo) para o servidor principal. 6. No servidor espelho, restaure o banco de dados a partir dos arquivos de backup. Esse código usa o banco de dados de configuração como exemplo. Faça o mesmo para todos os bancos de dados. RESTORE DATABASE SharePoint_Config FROM DISK = '<c:\SharePoint_Config.bak>' WITH NORECOVERY GO 9 RESTORE log SharePoint_Config FROM DISK = '<c:\SharePoint_Config_log.bak>' WITH NORECOVERY GO 7. No servidor espelho, crie um login para o servidor principal. --Crie um login no HOST_B para o HOST_A USE master; CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->'; GO --Crie um usuário para esse login. CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>; GO --Associe o certificado ao usuário. CREATE CERTIFICATE <MASTER_HostA_cert> AUTHORIZATION <MASTER_HostA_user> FROM FILE = '<c:\MASTER_HostA_cert.cer>' --não tente usar um caminho de rede, o SQL Server informará um erro de que a chave não é válida GO --Conceda permissão de CONNECT no login para a extremidade de espelhamento remoto. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>]; GO 8. No servidor principal, crie um login para o servidor espelho. --Crie um login no HOST_A para o HOST_B USE master; CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Crie um usuário para esse login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associe o certificado ao usuário CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' -- não tente usar um caminho de rede, o SQL Server informará um erro de que a chave não é válida GO -- Conceda permissão de CONNECT no login para a extremidade de espelhamento remoto. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO 9. No servidor principal, inicie o espelhamento de banco de dados. Esse código usa o banco de dados de configuração como exemplo. Faça o mesmo para todos os bancos de dados. --No HOST_A, configure a instância do servidor no HOST_B como parceiro (servidor espelho). ALTER DATABASE SharePoint_Config SET PARTNER = '<TCP://databasemirror.adatum.com:5024>'; GO 10 10. No servidor espelho, inicie o espelhamento de banco de dados. Esse código usa o banco de dados de configuração como exemplo. Faça o mesmo para todos os bancos de dados. --No HOST_B, configure a instância do servidor no HOST_A como parceiro (servidor principal): ALTER DATABASE SharePoint_Config SET PARTNER = '<TCP://databasemaster.adatum.com:5024>'; GO Instalação de um Servidor “Testemunha” Cada etapa registra o servidor em que ele deve ser executado. Use o Transact-SQL para enviar esses comandos ao SQL Server. As informações do espaço reservado são especificadas com os sinais de menor e maior (<>). Substitua o conteúdo, em especial as senhas de exemplo, com as informações específicas para sua implantação. 1. No servidor “Testemunha”, instale o certificado e abra a porta. -- No banco de dados mestre, crie uma Chave Mestra para o banco de dados, se necessário CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->'; GO -- Crie um certificado para essa instância de servidor. USE master; CREATE CERTIFICATE <WITNESS_HostC_cert> WITH SUBJECT = '<Witness_HostC certificate>'; GO -- Crie uma extremidade de espelhamento para a instância do servidor usando o certificado. CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert> , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO --Faça backup do certificado do HOST_C BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>'; GO 2. Usando qualquer método seguro de cópia, copie o arquivo de certificado de backup (C:\WITNESS_HOSTC_cert.cer, por exemplo) para o servidor principal e para o servidor espelho. 11 3. No servidor “Testemunha”, crie logins para o servidor principal e para o servidor espelho. --Crie um login no HOST_C “Testemunha” para o HOST_A Principal USE master; CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->'; GO --Crie um usuário para esse login. CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>; GO --Associe o certificado ao usuário CREATE CERTIFICATE <MASTER_HostA_cert> AUTHORIZATION <MASTER_HostA_user> FROM FILE = '<c:\MASTER_HostA_cert.cer>' --não tente usar um caminho de rede, o SQL Server informará um erro de que a chave não é válida GO --Conceda permissão de CONNECT no login para a extremidade de espelhamento remoto. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>]; GO --Crie um Login para o Host B Espelho CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Crie um usuário para esse login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associe o certificado ao usuário CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' --não tente usar um caminho de rede, o SQL Server informará um erro de que a chave não é válida GO --Conceda permissão de CONNECT no login para a extremidade de espelhamento remoto. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO 4. No servidor principal, crie um login para o servidor “Testemunha”. Faça o mesmo para o servidor espelho. --Crie um login no HostA Mestre para o HostC “Testemunha” USE master; CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->'; GO --Crie um usuário para esse login. CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>; GO --Associe o certificado ao usuário CREATE CERTIFICATE <WITNESS_HostC_cert> AUTHORIZATION <WITNESS_HostC_user> FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --não tente usar um caminho de rede, o SQL Server informará um erro de que a chave não é válida GO --Conceda permissão de CONNECT no login para a extremidade de espelhamento remoto. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>]; 12 GO 5. No servidor principal, anexe o servidor “Testemunha”. Esse código usa o banco de dados de configuração como exemplo. Faça o mesmo para todos os bancos de dados. --Instale o Servidor “Testemunha” ALTER DATABASE SharePoint_Config SET WITNESS = '<TCP://databasewitness.adatum.com:5024>' GO 13 Recuperação de uma Falha Tipos de Failover Quando ocorre uma falha com o servidor principal, o servidor espelho pode assumir o comando, usando um dos três mecanismos possíveis de failover: Failover automático Failover manual Failover forçado A tabela abaixo fornece as bases possíveis de failover, dependendo do modo que sua configuração utiliza. Alto desempenho Modo de segurança de alta proteção sem “Testemunha” Modo de segurança de alta disponibilidade com “Testemunha” Failover automático Não Não Sim Failover manual Não Sim Sim Failover forçado Sim Sim Não Failover Automático O failover automático ocorre quando o servidor principal perde a comunicação com o restante da configuração de espelhamento de banco de dados e, ao mesmo tempo, o espelho e a “Testemunha” mantêm a comunicação. Entretanto, se todas as instâncias do servidor perdem a comunicação, não ocorre o failover automático, mesmo que o servidor espelho e o servidor “Testemunha” recuperem a comunicação posteriormente. O seguinte processo ocorre quando o failover automático é ativado: 1. Se o servidor principal ainda estiver sendo executado, ele muda o estado do banco de dados principal para DESCONECTADO e desconecta todos os clientes do banco de dados principal. 2. O servidor espelho e o servidor “Testemunha” registram que o servidor principal está indisponível. 3. Se qualquer registro estiver esperando na fila de refazer, o servidor espelho interrompe a progressão do banco de dados de espelho. A quantidade de tempo necessária para aplicar o registro depende da velocidade do sistema, da recente carga de trabalho e da quantidade de registros na fila de refazer. 14 4. O banco de dados espelho anterior move-se on-line como o novo banco de dados principal, e a recuperação organiza todas as transações não confirmadas, revertendo-as o mais rapidamente possível. Bloqueios isolam essas transações. 5. Quando o servidor principal anterior se reconecta à sessão, reconhece que seu parceiro de failover agora possui a função principal. O servidor principal anterior assume a função de servidor espelho, tornando seu banco de dados o banco de dados espelho. O novo servidor espelho sincroniza o novo banco de dados espelho com o banco de dados principal o mais rapidamente possível. Assim que o novo servidor espelho tiver sincronizado os bancos de dados, o failover é novamente possível, mas na direção contrária. Para uma descrição mais detalhada do failover automático, consulte Failover Automático (http://go.microsoft.com/fwlink/?LinkId=83690&clcid=0x409). Failover Manual Em geral, o failover manual ocorre quando o servidor principal e o servidor espelho ainda estão sendo executados. O administrador toma uma decisão consciente ao trocar o banco de dados ativo do principal para o espelho. Isso pode ser feito por diversas razões, como a atualização de um software no servidor principal. O seguinte processo ocorre durante um failover manual: 1. O administrador se conecta ao servidor principal e aciona os seguintes comandos do SQL para cada banco de dados: USE master; ALTER DATABASE <database_name> SET PARTNER FAILOVER; -- onde database_name é o banco de dados espelhado. Isso inicia uma transição imediata do servidor espelho para a função principal. 2. No servidor principal anterior, os clientes são desconectados do banco de dados e as transações não confirmadas são revertidas. Se você executar um failover manual com uma instalação de failover automático que inclui um servidor “Testemunha”, o principal e o espelho mudam automaticamente de funções. Failover Forçado (possível perda de dados) Em certas situações, o administrador pode querer forçar o failover. Um failover forçado só pode ocorrer se não houver comunicação entre o servidor principal e o servidor espelho. Forçar o failover pode causar perda de dados. A perda de dados é possível porque o servidor espelho não pode se comunicar com o servidor principal e, portanto, não pode garantir que os dois bancos de dados estejam sincronizados. O failover forçado inicia uma nova bifurcação de recuperação. Como o banco de dados principal e o banco de dados espelho originais estão em diferentes bifurcações de recuperação, cada banco de dados contém agora dados que não estão incluídos no outro banco de dados: o banco de dados principal original contém quaisquer mudanças que ainda não tenham sido enviadas de sua fila de envio para o banco de dados espelho anterior (o registro não enviado); o banco 15 de dados espelho anterior contém quaisquer mudanças que tenham ocorrido depois que o serviço foi forçado. O seguinte processo ocorre durante um failover forçado. 1. O administrador se conecta ao servidor espelho e aciona os seguintes comandos do SQL para cada banco de dados: ALTER DATABASE <database_name> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS; --onde <database_name> é o banco de dados espelhado. ALTER DATABASE <database_name> SET PARTNER OFF; RESTORE DATABASE SharePoint_Config WITH RECOVERY; --se o SQL concluir a espera sobre o comando acima, execute este para impor a recuperação do banco de dados 2. O servidor espelho muda imediatamente para servidor principal, e o espelhamento é suspenso. Notificando os Produtos e Tecnologias SharePoint quando Ocorrer um Failover Após o failover dos servidores, o servidor espelho será o servidor ativo que hospeda seus bancos de dados. Você deve notificar o Windows SharePoint Services ou o Office SharePoint Server sobre essa mudança. Cada banco de dados precisa ser tratado de forma diferente quando ocorre um failover. O Windows SharePoint Services usa os seguintes bancos de dados: Um banco de dados de configuração Um banco de dados de conteúdo de administração Um ou mais bancos de dados de conteúdo Um ou mais bancos de dados de pesquisa O Office SharePoint Server usa os seguintes bancos de dados: Um banco de dados de configuração Um banco de dados de conteúdo de administração Um ou mais bancos de dados de conteúdo Um ou mais bancos de dados de pesquisa Um ou mais bancos de dados de Provedor de Serviços Compartilhados Embora este informe enfoque as etapas manuais necessárias para notificar os Produtos e Tecnologias SharePoint, o processo pode ser feito por meio de scripts e automatizado ao executar as etapas durante um evento de falha de espelhamento. Para mais informações sobre esse processo, consulte Alerta sobre Eventos de Espelhamento de Banco de Dados (http://go.microsoft.com/fwlink/?LinkId=83691&clcid=0x409). 16 Banco de Dados de Configuração e Banco de Dados de Conteúdo de Administração O banco de dados de configuração e o banco de dados de conteúdo de administração estão estreitamente integrados e sempre devem existir no mesmo servidor de banco de dados. Se um desses bancos de dados falhar, o outro também precisará efetuar failover. As etapas para notificar os Produtos e Tecnologias SharePoint sobre falhas nos bancos de dados são as mesmas. Complete as seguintes etapas em cada servidor Web front-end. 1. Da linha de comando, execute o seguinte comando: stsadm.exe -o renameserver -oldservername <OldPrincipalServer> -newservername <NewPrincipalServer> 2. Reinicie o servidor Web front-end. Banco de Dados de Conteúdo Quando houver falha em um banco de dados de conteúdo, complete as seguintes etapas em somente um servidor Web front-end. 1. Clique em Start, aponte para Programs, Administrative Tools, e então clique em SharePoint 3.0 Central Administration. 2. No site da Administração Central, clique em Application Management. 3. Na página de Gerenciamento de Aplicações, na seção SharePoint Web Application Management clique em Content databases. 4. Na página Gerenciar Bancos de Dados de Conteúdo, clique no nome do banco de dados de conteúdo que tenha efetuado failover. 5. Na página Gerenciar Configurações de Bancos de Dados de Conteúdo, na seção Remove Content Database, selecione a caixa de seleção Remove content database e clique em OK. 6. Na página Gerenciar Bancos de Dados de Conteúdo, clique em Add a content database. 7. Digite as informações do banco de dados de conteúdo que você acabou de remover, mas substitua as informações no Database Server com o nome do novo servidor principal. 8. Repita as etapas de 4 a 7 para cada banco de dados de conteúdo que tenha efetuado failover. Você também pode usar a linha de comando para executar a mesma operação. 1. Para excluir o banco de dados com falha, digite o seguinte comando: stsadm -o deletecontentdb -url "<http:// websitename:port>" -databasename "<ContentDBName>" -databaseserver "<OldPrincipalServer>" 2. Para adicionar novamente o banco de dados, digite o seguinte comando: 17 stsadm -o addcontentdb -url "<http:// backupservername:port>" -databasename " <ContentDBName>" -databaseserver "<NewPrincipalServer>" Banco de Dados de Pesquisa Quando houver falha em um banco de dados de pesquisa, complete as seguintes etapas em somente um servidor de front-end da Web, mas uma vez para cada banco de dados que tenha falhado. Da linha de comando, execute o seguinte comando: stsadm –o editssp –title <SearchName> –ssplogin <username> –ssppassword <userpassword> searchdatabaseserver <newSSPSearchDatabaseServerName> Nota <username> pode ser no formato DOMAIN\username. Banco de Dados de Provedor de Serviços Compartilhados (somente para o Office SharePoint Server) Quando ocorrer falha em um banco de dados de Provedor de Serviços Compartilhados (Shared Service Provider – SSP), complete as seguintes etapas em somente um servidor de front-end da Web, mas uma vez para cada banco de dados que tenha falhado. Da linha de comando, execute o seguinte comando: stsadm –o editssp –title <SSPName> –ssplogin <username> –ssppassword <userpassword> sspdatabaseserver <newSSPDatabaseServerName> Nota <username> pode ser no formato DOMÍNIO\nome_usuário. 18