anunciad

sexta-feira, 22 de fevereiro de 2013

SQL – Procedimentos pré migração




Antes de iniciarmos qualquer migração de banco de dados devemos garantir que nenhuma alteração será realizada na base entre o período de backup, restore e alteração da aplicação apontando para o novo servidor. Mesmo o cliente informando que parou a aplicação e que nenhum usuário se encontra na empresa, é muito importante executar o procedimento abaixo para garantir a integridade dos dados pois uma terceira aplicação pode estar rodando sem o conhecimento dos envolvidos e um usuário não mapeado pode estar acessando remotamente.

Alterar a porta padrão


Abra o SQL Server Configuration Manager
Clique em Iniciar | Todos os programas | Microsoft SQL 2008 R2 | Configuration Tools | SQL Server Configuration Manager

Desative o protocolo Shared Memory
Clique com o botão direito em SQL Server Network Configuration | Protocols for MSSQLSERVER | Shared Memory e clique em disabled.



Altere a porta de conexão do SQL Server
Clique em SQL Server Network Configuration | Protocols for MSSQLSERVER | TCP/IP e abra a caixa propriedades.
Na guia IP Address, utilize a barra de rolagem para encontrar IPALL.
Mude a porta de 1433 para 14333 e aplique.




Reinicie a instância

Clique com o direito em SQL Server Services | SQL Server (MSSQLSERVER) | Restart




Pare o SQL Server Agent

Na mesma janela onde reiniciou a instância, pare o serviço do SQL Server Agent.





Somente você deve estar online



Altere a base para single user

Abra o SQL Server Management Studio. Para se conectar, utilize o nome do servidor, uma vírgula e o número atual da porta.




Clique em New Query (Ctrl+N) e execute a instrução abaixo:

ALTER DATABASE NomeBase SET SINGLE_USER WITH ROLLBACK IMMEDIATE

Verifique se somente sua sessão está aberta para a base a ser migrada:

SELECT spid, status, loginame as 'user', hostname, db_name(dbid) as 'database', cmd
FROM master..sysprocesses
WHERE db_name(dbid) = 'NomedaBase' -- coloque o nome da base migrada aqui

O resultado deve ser em branco, a não ser que alguma sessão ainda esteja aberta ou você mesmo esteja no escopo da base.



O ideal é o servidor estar isolado, sem interfaces de rede ativas e você logado na console, de frente pra máquina. Vai que alguém acessa o servidor por remote desktop porque não consegue se conectar, percebe que a porta foi alterada e "arruma". Falo isso em casos onde os servidores ficam isolados em CPDs ou em Data Centers.

Nenhum comentário:

Postar um comentário