Dicas AG – Criação de listener e adição de IP em arquiteturas AG multi-subnet

Resultado de imagem para esquilos familia

Olá, post rápido sobre listener com Always On Availability Groups, envolvendo redes diferentes.

Introdução extremamente simplificada 

O post chama Always On Availability Groups de AG pela simplicidade.
Dependendo da sua arquitetura de AG, existe a opção de adicionar um listener, nome virtual que pode ser utilizado pelas aplicações.
O listener (que é um nome) precisa estar vinculado a um ou mais IP’s.
O seu cluster que contém um AG pode envolver servidores e IP’s de uma única rede ou pode envolver IP’s de redes diferentes (multi-subnet).
Esse post pretende ajudar quem precisa adicionar um IP em listener já existente ou a partir de um novo listener (e por bônus, como remover)

 

Criar listener com diferentes IP’s (Multi-subnet AG)


USE MASTER;
ALTER AVAILABILITY GROUP [AGJennifer]
ADD LISTENER N'List001' (
WITH IP
(
(N'10.231.31.25', N'255.255.255.0'),
(N'10.91.1.25', N'255.255.255.0')
)
, PORT=1433);
GO

Caso seu cluster já tenha réplicas (aka servidores na linguagem AG) de redes diferentes ingressadas no AG, você pode criar um listener contendo os IP’s que atendam todos os nós envolvidos.

Caso por exemplo você adicione dois nós da rede A, e um nó da rede B, caso você crie um listener com apenas um endereço de IP  não reconhecido pela rede B, você receberá o seguinte erro:

Msg 19456, Level 16, State 0, Line 69
None of the IP addresses configured for the availability group listener can be hosted by the server ‘ReplicaEstrangeira’. Either configure a public cluster network on which one of the specified IP addresses can be hosted, or add another listener IP address which can be hosted on a public cluster network for this server.

 

Adicionar IP em um listener já existente

Bem comum quando você precisa ingressar uma máquina de outra rede (rede B por exemplo) no AG e já existe um listener que NÃO contém um IP reconhecido pela rede B. Nesse caso o recomendado é primeiro você adicionar o IP e depois a réplica (o contrário que seria adicionar a réplica antes do IP não dá bom).


USE [master]
GO
ALTER AVAILABILITY GROUP [AGJennifer]
MODIFY LISTENER N'List001' (
ADD IP(N'10.231.31.25', N'255.255.255.0'))

Após adicionar o IP de outra rede no listener, adicionar uma réplica desta rede deverá ocorrer sem problemas.

BONUS: Como remover um IP de um listener

Dessa vez a interface gráfica do Management Studio não ajuda, portanto, você tem duas boas opções:
a) Via powershell (Get-ClusterGroup <Nome AG> | Get-ClusterResource <Nome AG>_<IP_A_SER_REMOVIDO> | Remove-ClusterResource)
b) Via interface gráfica, no cluster manager

Até o próximo post, pessoal.

 

SQL Server 2016 – Modo de compatibilidade mais abrangente

Como todos sabem, o SQL Server 2016 trouxe diversas melhorias na engine e algumas delas extremamente bem vindas, por menores que possam parecer (tipo o comando TRUNCATE funcionando para partições, rs).

Uma delas é uma melhoria modo de compatibilidade que agora permite a compatibilidade mínima de três (3) versões inferiores à atual ao invés de duas (2) como nas últimas versões.

Segue matriz de compatibilidade:

 

matriz

Em suma, o SQL Server 2016 suporta até o nível de compatibilidade do SQL Server 2008.

Seguindo os padrões anteriores o mínimo de compatibilidade exigida seria o 110, que é o SQL Server 2012.

Logo, para quem tem interesse em fazer a migração e ainda manter o nível de compatibilidade no 2008 por qualquer motivo que seja (mas supondo, Cardinality Estimator e outras particularidades do 2008), agora existe tal possibilidade.

Att.

 

Dica – Renomear base com mesmo nome, texto em caixas diferentes

O motivo de postar esse sapo é pelo mesmo motivo que a O'reilly publica seus livros com animais na capa

Olá,

Dica rápida de hoje.
Como renomear uma base para o mesmo nome com o texto em diferentes caixas (caixas baixas e altas).
Exemplo: alterar EssEnOme para EsseNome.O post leva em consideração também apenas instâncias com case insensitive.

Pra renomear bases de dados é muito comum utilizar a sp_renamedb por bons motivos:

  •  Procedure antiga já. Bem conhecida;
  • Sintaxe simples: EXEC SP_RENAMEDB ‘NomeBaseAtual’, ‘NovoNome’;
  • Antes de trocar o nome, faz algumas verificações (óbvias, mas necessárias);

Entretanto, a mesma tarefa pode ser executada com o comando ALTER DATABASE:

Mas o que acontece ao renomear uma base com o mesmo nome, com diferenças apenas nas fontes minúsculas e maiúsculas?

Ao usar a SP_RENAMEDB

Resulta na seguite mensagem:

The database ‘DB_aCesso’ already exists. Specify a unique database name.

O comando ALTER DATABASE vai funcionar tranquilo, e favorável:

Vale lembrar que tanto a sp quanto o comando ALTER DATABASE necessitam de lock exclusivo para efetuar a mudança no nome da base. Além de que comandos que alteram o nome da base exigem permissões de db_creator (na base), control server ou sysadmin.

[]’s
Fonte:

SQL Server 2016 Public Preview anunciado!

Microsoft_SQL_Server_2016_fanartlogo

Logo não oficial

 

Foi anunciado no Ignite no dia 04/05/2015, evento gigante organizado pela Microsoft voltando pra grandes empresas  pelo gente fina CEO Mr. Satya Nadella, mais rápido que ligeiro, uma notícia de interesse nosso: SQL Server 2016 já tem versão public preview prevista pro verão (espere por novidades pelo período de Junho ~ Agosto).

 

“Mal mexi no 2014 e olha lá, já tem versão nova. Que coisa hein, rsrs”

 

Maiores informações podem ser lidas no blog do time de produto do SQL Server clicando aqui. Lá explicam “por cima” algumas novas features do produto.

Você tem mais informações no Datasheet que costumeiramente é disponibilizado nos anúncios do produto clicando aqui (PDF)

Interessante notar o direcionamento da empresa que está cada vez mais endereçado para  Analytics , Azure (bem interessante o Stretch Database, pra quem puder usar, é claro), além do reforço do OLTP In-memory e melhoria em outros recursos já conhecidos, como criptografia. É claro que não iam mostrar tudo o que o produto tem de novidade antes de lançar o public, então vamos aguardar…

A dica rápida, pra finalizar o post, é direta: acesse a página do public preview através deste link e espere por breves novidades 🙂

[]’s