18
abr
10

Habilitando a conexão remota no SQL Server 2008

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://sqlfromhell.wordpress.com/2009/05/24/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.

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

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

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.

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

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

E recomendo definir a porta de conexão:

Se você quiser configurar outras portas para o SQL Server, dê uma olhada neste artigo:
http://sqlfromhell.wordpress.com/2009/09/05/portas-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:

Se tudo ocorrer como previsto, teremos a 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://sqlfromhell.wordpress.com/2009/05/24/habilitando-sql-authentication-e-o-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 2005 para se conectar a um SQL Server 2008, 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.

Na internet, encontrei outros dois artigos bons sobre o assunto:

Instalando e Configurando o SQL Server 2005 Express – Nilton Pinheiro:
http://www.mcdbabrasil.com.br/downloads/install_sqlexpress.pdf

Como configurar Conexão Remota no SQL Server 2005 – Diego Nogare:
http://www.linhadecodigo.com.br/artigo/1260/como-configurar-conexao-remota-no-sql-server-2005.aspx


23 Respostas para “Habilitando a conexão remota no SQL Server 2008”


  1. 1 Ulisses Cavalcante
    29/06/2010 às 23:06

    Cara excelente explicação com os prints e tudo mais eu fiz aqui em casa com meu PC e Netbook e o banco instalado no netbook e no PC eu rodando uma aplicação feita em C# por mim e tudo rodou que era uma maravilha é a mesma coisa que se a aplicação estivesse rodando na maquina que está o bando(netbook)

    Valeu msm

  2. 2 Tiago
    10/07/2010 às 15:18

    Obrigado pela ajuda!
    É a primeira vez que instalo o ambiente pra programar em ASP.NET do zero(IIS, SQL SERVER, ASP.NET). Não estava conseguindo configurar o SQL Server para o acesso remoto, tão pouco conseguia fazer funcionar a string de conexão pois não sabia como configurar usuários para SQL authentication. Agora está tudo funcionando e posso seguir com o estudo!
    Valeu!

  3. 3 Jonathas
    22/07/2010 às 18:11

    Estalei o Xp-Mode e o Sql2008 e o Sp1. Consigo acessar a máquina através do \\NomeMaquina mas quando temto acessar o Sql2008 não consigo. Na Máquina vitual eu consigo mas da minha máquina não. Fiz todos esse s passos mas não deu certo será que existe algo mais a ser feito?

  4. 5 roberto
    17/08/2010 às 16:28

    obrigado pelas dicas, vlw!

    ajudo muito aqui, nao estava conseguindo conectar

    obrigado mesmo!

  5. 6 Rodrigo
    03/12/2010 às 17:31

    O seu artigo está excelente!!!
    Mas me surgiu uma dúvida. Eu consigo conectar com esses passos o SQL Server pela internet?

  6. 8 Felipe
    14/04/2011 às 10:35

    PerfeitO! Funcionou aqui.

  7. 9 Diego de Sousa Oliveira
    11/06/2011 às 21:14

    Muito bom seu artigo man. Me ajudou muito! Obrigado.

  8. 28/06/2011 às 20:26

    olá, gostei extremamente do artigo, prém aqui no meu notebook e meu pc não funfo,

    defini a string de conexão no vb.net assim ‘Data Source=192.168.1.2; Initial Catalog=MEUBANCODEDADOS; Integrated Security=SSPI; Persist Security Info = False’

    ALTEREI NO SQLSERVER MANAGER O PROTOCOLO TCP/IP PARA ENABLED = TRUE E TAMBÉM DENTRO DELE AS OPÇÇOES ENABLED E A PORTA 1433,

    PORÉM DA ERRO DE CONEXÃO TANTO VIA SQL COMO VIA VB.NET

    O QUE SERÁ QUE ESTÁ DANDO ERRO??

    SE PUDER AJUDAR EU FICO AGRADECIDO.

    BOA NOITE.

  9. 06/07/2011 às 11:10

    Parabéns garoto muito boa explicação, agora o melhor foi os motivos para você não estar na Internet..rs

    Um Abraço,

    Neto

  10. 13 Filipe
    24/07/2011 às 19:14

    PauloP, parabéns cara, vc é demais, salvou meu dia, eu to aqui num cliente me matando desde as 9 da manha, no domingo e graças à sua explicação eu consegui fazer a conexao por ip, acredita que li em varios lugares que o sqlexpress nao funcionava por IP? Mas eu sabia que tinha alguma coisa, e era a porta, pois aqui ele tinha definido uma porta aleatoria e nao a 1433. Muito obrigado mesmo.

    SQL From Hell Rules!!!!

  11. 24/08/2011 às 12:14

    Observe que a string de coneãxo ado em para sql server compátivel com o 2000 e diferente das versões superiores. altere o tipo de compatibilidade em propriedades, opções (properties, options)

  12. 15 Romario
    02/09/2011 às 23:03

    Cara tou com seguinte problema em conecta com banco de dados sql serve 2005 quando o banco esta em uma pasta compartilhada da rede .
    por exemplo
    quando o banco esta na minha maquina utilizo essa string :

    string strcon = “Data Source=.\\SQLEXPRESS;AttachDbFilename=’C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data\\banco.mdf’;Integrated Security=True;Connect Timeout=30;User Instance=True”;

    funciona normal

    mais quando coloco caminho da pasta compartilhada aplicação não consege conectar ao banco
    exemplo :

    string strcon = “Data Source=.\\SQLEXPRESS;AttachDbFilename=’P:\\TI\\banco.mdf’;Integrated Security=True;Connect Timeout=30;User Instance=True”;

    você pode me ajuda ??

  13. 16 Assis
    03/09/2011 às 11:27

    como faço para instalar um banco de dados para desenvolvimento no netbook Aspire one

  14. 18 erice
    18/10/2011 às 20:01

    Agradeço muito pele dica…… agora estou com um bom laboratório com minhas maquinas virtuais……..

  15. 19 Rodrigo Dutra
    04/11/2011 às 19:51

    cara muito bom!!
    porem o management studio ficou muito lento, parece que toda hora ele tenta ir ao servidor e voltar..
    com isso a edição de query no management studio ta ficando muito ruim.. toda hora ele da uma travadinha..
    sabe como posso resolver isso!?

    quando eu conecto localmente não da a minima travada.

    • 07/11/2011 às 21:03

      Boa noite Rodrigo, é possível que exista fatores externos que prejudiquem o desempenho do SSMS, como a velocidade da rede entre a máquina cliente e o servidor, ou o próprio desempenho da máquina cliente ou do servidor.

  16. 10/11/2011 às 20:05

    Muito bom o post, bem explicativo… E sem falar que me ajudou muito.

    Parabéns

  17. 22 clevanio f. brito
    06/01/2012 às 16:38

    Para o Sql Express 2008 o procedimento é o mesmo ?

    • 06/01/2012 às 16:58

      Sim, é o mesmo procedimento.

      Só é importante levar em consideração que por causa do SQL Server Express utilizar uma instância nomeada “\SQLEXPRESS”, será necessário que o serviço do SQL Server Browser esteja rodando.


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s


Sobre o blog

Blog que há três anos trata de SQL Server, .NET Framework, PowerShell, soluções para problemas comuns e não tão comuns assim, informações sobre ferramentas diversas e o que vier na cabeça do MCT Paulo R. Pereira.

Twitter


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 491 other followers