Habilitando a conexão remota no SQL Server

Segurança

E ai pessoas, como tenho recebido alguns e-mails pedindo para mostrar “como fazer para que outros computadores acessem o meu banco de dados” e “habilitar o acesso remoto do SQL Server 2008”, então vamos à demonstração!

Antes de começar, se o servidor estiver fora de um “domínio” ou você não saiba o que é “domínio”, dê uma olhada neste artigo:
http://www.sqlfromhell.com/habilitando-sql-authentication-e-o-usuario-sa/

Em seguida, habilitamos o Firewall do Windows (permitindo exceções). Mas para ambientes de teste não há problema em deixá-lo desabilitado.

Firewall

Dentre as diversas exceções, adicionamos mais uma porta:

Portas

Para boa parte dos cenários, a porta TCP 1433 já vai suprir as necessidades:

Porta TCP 1433 e UPD 1434

Em outros cenários mais específicos, pode existir a necessidade de habilitar as portas UPD 1434, TCP 1434 e outras (at. http://msdn.microsoft.com/en-us/library/ms175483.aspx ).

No SQL Server Management Studio, verifique se nas propriedades do servidor esta habilitada a opção “Allow remote connections to this server”. Caso não esteja habilitada, será necessário habilitá-la.

Allow remote connections to this server

No SQL Server Configuration Manager, mais precisamente nos protocolos da sua instância (ex.: SQLEXPRESS, SQL2005, MSSQLSERVER…), entre nas propriedades do protocolo TCP/IP:

SQL Server Configuration Manager

E habilite o protocolo TCP/IP. Em alguns cenários também se faz necessário habilitar o protocolo “Named Pipes”.

Protocolo TCP/IP

E recomendo definir a porta de conexão:

Portas de acesso

Se você quiser configurar outras portas para o SQL Server, dê uma olhada neste artigo:
http://www.sqlfromhell.com/alterando-as-portas-de-conexao-do-sql-server/

Reinicie o serviço do SQL Server da sua instância e o SQL Server Browser, depois em uma máquina cliente, tente se conectar ao servidor com um usuário válido:

SQL Server Browser

Se tudo ocorrer como previsto, teremos a conexão:

Conexão

Bem, estou usando uma VM “zerada” que até o momento tem o Windows Server 2003 R2 e o SQL Server 2008, assim existe grande possibilidade de não funcionar em outros cenários.

Pontos a levar em consideração para tratar outros cenários:

  • Se você não conseguir ao menos dar um “ping” ou compartilhar uma pasta do servidor à rede ou conectar remoto com o Remote Desktop Connection (mstsc.exe), isso pode ser sinal que tem algo errado com o firewall ou a rede ou até mesmo com o Windows (então não é culpa do SQL Server, ainda…).
  • Programas de Antivírus ou Firewall de terceiros, também são grandes culpados por problemas com o acesso remoto, tanto no servidor como no cliente.
  • O usuário que você esta utilizando para se conectar pode não ter permissão para se conectar ou o servidor não esta no domínio (at. http://www.sqlfromhell.com/habilitando-sql-authentication-usuario-sa/ ). Para “testar”, no servidor tente se conectar ao SQL Server com o usuário que você esta utilizando na máquina cliente.
  • Para “testar”, não utilize o SQL Server Management Studio antigo para se conectar a um SQL Server mais novo, pois algumas vezes isso não dá muito certo.

Mais uma coisa, se eu não responder um comentário em 24h é sinal que não estou com acesso à internet, pois possivelmente estarei preso na ilha de LOST (probabilidade 0,001%) ou estou numa “missão” extraordinária pelo Exército Brasileiro (probabilidade 4%) ou estou apagando algum incêndio em alguma consultoria (probabilidade 85%) ou dedicado a algum trabalho acadêmico (probabilidade 10%), então também vale a pena procurar os fóruns do MSDN e/ou o suporte da Microsoft.

One thought on “Habilitando a conexão remota no SQL Server

Deixe uma resposta