Pergunta

estamos planejando implementar cluster do SQL Server 2005 no próximos meses. eu queria saber quais as medidas / precauções devem ser tomadas como um desenvolvedor de banco de dados ao tentar conseguir isso? precisamos mudar qualquer código ado.net (no front-end) / procedimentos armazenados etc etc? existem melhores práticas a serem seguidas?

razão que eu estou fazendo esta pergunta é: para balanceamento de carga asp.net, você tem que garantir o seu código para sessões / application / cache todos cumprem ambiente com balanceamento de carga. (Assim no caso de você estiver usando sessões InProc, você tem que reescrever o código para que ele funciona em ambiente de balanceamento de carga). agora este é o seu nível de servidor web. eu só queria as coisas certas para fazer ao tentar escalar a nível do servidor de banco de dados

Lamento se esta pergunta é estúpida. por favor, desculpe meu conhecimento limitado sobre o assunto: -)

Foi útil?

Solução

Você tem que fazer mudanças no front-end para implementar um cluster SQL Server, você simplesmente se conectar a uma instância do SQL Server como normal.

SQL Server failover clustering não é balanceamento de carga no entanto. Ele é usado para adicionar redundância deve qualquer hardware falhar em seu nó principal. Seu outro nó (secundário) não está fazendo nada até que seu principal falhar, caso em que o failover acontece automaticamente e seu banco de dados está servindo conexões novamente depois de um segundo de atraso 10-20.

Outra questão é o cache no nó secundário está vazio, assim que você pode ver alguns impacto no desempenho após failover. Você pode implementar um cache "quente" no seu servidor espelho usando espelhamento de banco de dados SQL Server , mas não há nenhuma maneira de fazer algo semelhante com clustering.

Outras dicas

agrupamento de banco de dados é diferente de balanceamento de carga. É alta disponibilidade, não "dimensionamento"

Basicamente:

  • 2 servidores (ou nós) com discos compartilhados (que só pode ser propriedade de um nó a qualquer momento)
  • um é "ativo" executando um servidor Windows virtual e instância do SQL Server
  • um está monitorando o outro ( "passivo")
  • você se conectar ao servidor Windows virtual.

Se o nó 1 fica fora de linha, o nó 2 assume. Ou pode ser failover manualmente.

Isso significa que: serviços são desligados no nó 1, nó 2 assume o controle dos discos e serviços e é iniciado. Qualquer conexão será quebrado, e nenhum Estado ou sessão é transferida.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top