locked
Erro com conexão SQL Server na rede RRS feed

  • Pergunta

  • Não estou conseguindo configurar a rede corretamente. Já fiz tudo o que diz em vários sites, até aqui no da Microsoft. Abri portas, configurei tudo.
    tenho instalado o Sql Express e o Sql management studio Express 2005. No outro computador, instalei apenas o SQl Server mesmo.
    Estava logando como Windows Autentication, mas não seria o ideal. Minha conexão é assim:
    Copiei do XML Configuration File. Eu acho que falta o IP. Tem como criptografar e colocar senha também? No meu caso, eu também nem sei mais se tem senha no meu. Teria que desinstalar? Sei também que é difícil desinstalá-lo, pois não sai totalmente.

    <add name="Sistema_de_Producao.My.MySettings.LoginConnSQL" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\PRODUÇÃO\Login.mdf;Integrated Security=True;Persist Security Info=False;Connect Timeout=30;Encrypt=False;User Instance=False;Context Connection=False"
                providerName="System.Data.SqlClient" />
    terça-feira, 4 de agosto de 2009 01:09

Todas as Respostas

  • Boa Noite,

    Sua string de conexão está errada. O SQL Server é um banco de dados e não um gerenciador de arquivos e colocar o arquivo na string de conexão não funciona (a menos que você esteja utilizando o péssimo e confuso recurso de User Instances). Recomendo retirar o parâmetro AttachDbFileName, colocar o parâmetro Initial Catalog e colocar o nome do banco (e não o nome do arquivo).

    Maiores detalhes em:
    www.connectionstrings.com/

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Piores Práticas – Utilizar o comando BACKUP LOG com a opção WITH TRUNCATE_ONLY
    Parte 01 - http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!670.entry
    Parte 02 - http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!671.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Luiz Ferraz terça-feira, 14 de fevereiro de 2017 17:05
    terça-feira, 4 de agosto de 2009 02:38
  • Já testei mudando a String de conexão como mostra no site www.bufaloinformatica.com.br
    Outra coisa, estou testando usando o meu notebook e um PC. No meu notebook está o banco de dados. Como seria a String de conexão local minha e no outro PC que vai ser o usuário que vai abrir o banco de dados na rede, como seria a String de conexão?
    Uso Visual Studio 2008 Professional. No meu notebook tem o SQl Server Express e o SQL Studio Management 2005 Express. O problema talvez seja que eu teria que ter configurado desde o início da instalação do SQl Studio o login e senha, mas infelizmente eu devo ter escolhido Windows Autentication. Será que eu teria que desinstalar e instalar novamente? Depois eu escolheria Mixed Mode para ter o SQl Autentication, que deve ser o melhor? Sei que mesmo desinstalando ainda fica rastros.

    Ou vou logo te informar como configurei, pois acho que é problema de configuração mesmo.
    SQl Server 2005 Services> do lado esquerdo> Ativei os 3 ítens> SQL Server (SQLEXPRESS) , o SQl Server Browser e o SQl Server FullText Search (SQLEXPRESS). Em propriedades do lado direito de qualquer um destes 3 serviços está Buit-account >Local System.......
    seri Network Service para a rede?

    Configurei em > SQL Server Configuration Manager>Protocols for SQLEXPRESS> ativei todos os 4 do lado direito.
    Em VIA > default port 0:1433
                    Enabled:Yes
                    Listen info:   0:1433

    TCP/IP  IP1
    general >Enabled=Yes
    Ip adress > Active=yes ,  Enabled=yes , IP 192.168.2.101
    Tcp dynamic Ports> está em branco
    Tcp port> 1433

    Ip2 eu desativei, pois não sei se precisa.
    Em IpAll
    Tcp Dynamic Ports > 3226
    Tcp Port> 1433

    Named Pipes>Enable =yes
    Pipe name> \\.\pipe\MSSQL$SQLEXPRESS\sql\query


    Em SQl server Area Configuration for services and Conections > Remote Conections>Local and Remote conections> Using both TCP/IP and named pipes.
    Todos os demais serviços estão sendo executados todos >automático.

    Essa é a configuração do meu notebook. Lembrando que no caso do Local System, no computador que vai puxar o banco de dados seria então Network service?
    Será que essa seria a configuração para o cliente se conectar, mais  a String de conexão correta?
    Lembrando que gravo o caminho do banco no Settings do VB para poder ser alterado quando for colocar na rede, aí abro o configuration File XML dentro da pasta Release e altero a conexão.  Queria , se possível que me mostrasse usando o assistente no Settings do VB, na Connnection String, quais são as opções que posso marcar e que tenho preencher para funcionar na rede, ou que depois funcione na rede.
    outra coisa, será que eu teria que ter feito isso no SQL Server management Studio? O pior é que a Microsoft só complica e nem explica isso direito.
    terça-feira, 4 de agosto de 2009 22:33
  • No Firewall cliquei em> Adicionar porta>
    Nome > Porta UDP 1434
    Selecionei UDP >
    número da porta>1434

    Em Adicionar Programa> Adicionei> C:\Arquivos de programas\Microsoft SQL Server\90\Shared\sqlbrowser.exe
    Adicionei também> C:\Arquivos de programas\Microsoft SQL Server\MSSQL.2\MSSQL\Binn\sqlservr.exe

    Assim, posso deixar o Firewall ativo.
    Já tentei até desativado mas nada. No caso, tentei no outro PC, pois no notebook é local e pega tranquilo. Talvez seja porque o outro tem que usar a instância como já testei sem SQL Server management Studio 2005 Express. Já como no meu notebook que está instalado o SQl Server Studio, tem que colocar User Instances=false e se não colocar o Attach não pega.
    Todas essas são as etapas.   
    --------------------------------------------------------
    Lembrando que tinha feito como se fosse no Access, compartilhei uma pasta e coloquei na rede e puxei o caminho da rede, mas não pode ser assim.
    terça-feira, 4 de agosto de 2009 22:48
  • Markaj_AR,

    Você configurou a ferramenta SQL Server Surface Area Configuration para permitir acesso a esta instância SQL Server tanto local como remoto?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 5 de agosto de 2009 00:08
    Moderador
  • De acordo com o citado, fiz apenas o que está descrito lá. A String de conexão foi gravada no Settings do VB para eu modificar quando for na rede, mas acho que está errado. Quais seriam as opções que eu escolheria no Settings em Connection String? Outra soisa, parece que não estou logando no modo servidor, mas windows autentication. A senha padrão não funciona. Eu teria que reinstalar novamente? Com relação ao SQL Server Management Studio, tem que configurar algo lá? Queria que fosse criptografada também e queria saber como é que faz a rede virtual que uma pessoa do fórum me disse. Não é para ser compartilhado assim.
    Outra coisa, estou com os Relatórios feitos em Crystal Reports e na rede ele também nem funciona. Teria que criar uma classe ou algo assim?
    quarta-feira, 5 de agosto de 2009 00:50
  • Markaj, li tudo que vc escreveu e não identifiquei esta resposta, desculpe se não há vi, mas bem basicamente, vc já conseguiu se conectar no SQL Server via Management Studio? OU seja do management do seu PC para o notebook conecta?

    Se conectar, não há problema na comunicação entre os micros, se não conectar antes de ver string de conexão temos que fazer a comunicação ficar ativa.

    Outra coisa, o serviço SQl Server Browser  é recomendavel por segurança ficar desabilitado, se vc configurar no configuration manager as portas corretamente não há necessidade deste serviço.
    DBA SQL Server MCTS - SQL Server 2005 | ITIL Foundation V2 http://www.bydocs.com
    quinta-feira, 6 de agosto de 2009 22:46
  • Markaj, li tudo que vc escreveu e não identifiquei esta resposta, desculpe se não há vi, mas bem basicamente, vc já conseguiu se conectar no SQL Server via Management Studio? OU seja do management do seu PC para o notebook conecta?

    Se conectar, não há problema na comunicação entre os micros, se não conectar antes de ver string de conexão temos que fazer a comunicação ficar ativa.

    Outra coisa, o serviço SQl Server Browser  é recomendavel por segurança ficar desabilitado, se vc configurar no configuration manager as portas corretamente não há necessidade deste serviço.
    DBA SQL Server MCTS - SQL Server 2005 | ITIL Foundation V2 http://www.bydocs.com
    No notebook local que tem o banco de dados conecta. Quero saber como seria a string de conexão então, para o computador que vai acessar o banco da rede. o meu banco de dados tem que ficar em outro drive também? Nao pode ser no C: mesmo?
    É isso que quero. Quase conseguia aqui. Eu tinha colocado o IP do computador e mostrava que não podia acessar 'admin' mais ou menos isso. Queria saber a String correta em VB.NET para eu colocar e testar. No caso, seria para o computador da rede. o nome do meu servidor do notebook que tem o banco de dados eu acho que é Home/SQLExpress, que é o usuário que logo no SQl Studio Management Express e com Windows Autentication. Eu não tenho mais a senha para logar com SQL Autentication. Queria então a String de conexão correta para que eu pudesse tentar acessar e aí eu te passo o erro que deu. Eu só estava mesmo colocando dados aleatórios, mas ainda não achei, pesquisando muito na internet, a String de conexão correta para a rede e queria saber se o banco de dados pode ficar no servidor mesmo.
    Outra coisa, notei que no SQl Management Studio tem as permissões com os Logins. Eu tenho que mexer nisso?
    sexta-feira, 7 de agosto de 2009 03:04
  • Markaj_AR,

    Você configurou a ferramenta SQL Server Surface Area Configuration para permitir acesso a esta instância SQL Server tanto local como remoto?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA

    No notebook local que tem o banco de dados conecta. Quero saber como seria a string de conexão então, para o computador que vai acessar o banco da rede. o meu banco de dados tem que ficar em outro drive também? Nao pode ser no C: mesmo?
    É isso que quero. Quase conseguia aqui. Eu tinha colocado o IP do computador e mostrava que não podia acessar 'admin' mais ou menos isso. Queria saber a String correta em VB.NET para eu colocar e testar. No caso, seria para o computador da rede. o nome do meu servidor do notebook que tem o banco de dados eu acho que é Home/SQLExpress, que é o usuário que logo no SQl Studio Management Express e com Windows Autentication. Eu não tenho mais a senha para logar com SQL Autentication. Queria então a String de conexão correta para que eu pudesse tentar acessar e aí eu te passo o erro que deu. Eu só estava mesmo colocando dados aleatórios, mas ainda não achei, pesquisando muito na internet, a String de conexão correta para a rede e queria saber se o banco de dados pode ficar no servidor mesmo.
    Outra coisa, notei que no SQl Management Studio tem as permissões com os Logins. Eu tenho que mexer nisso?
    sexta-feira, 7 de agosto de 2009 03:04
  • Boa Noite,

    Sua string de conexão está errada. O SQL Server é um banco de dados e não um gerenciador de arquivos e colocar o arquivo na string de conexão não funciona (a menos que você esteja utilizando o péssimo e confuso recurso de User Instances). Recomendo retirar o parâmetro AttachDbFileName, colocar o parâmetro Initial Catalog e colocar o nome do banco (e não o nome do arquivo).

    Maiores detalhes em:
    www.connectionstrings.com/

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Piores Práticas – Utilizar o comando BACKUP LOG com a opção WITH TRUNCATE_ONLY
    Parte 01 - http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!670.entry
    Parte 02 - http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!671.entry


    Classifique as respostas. O seu feedback é imprescindível

    No notebook local que tem o banco de dados conecta. Quero saber como seria a string de conexão então, para o computador que vai acessar o banco da rede. o meu banco de dados tem que ficar em outro drive também? Nao pode ser no C: mesmo?
    É isso que quero. Quase conseguia aqui. Eu tinha colocado o IP do computador e mostrava que não podia acessar 'admin' mais ou menos isso. Queria saber a String correta em VB.NET para eu colocar e testar. No caso, seria para o computador da rede. o nome do meu servidor do notebook que tem o banco de dados eu acho que é Home/SQLExpress, que é o usuário que logo no SQl Studio Management Express e com Windows Autentication. Eu não tenho mais a senha para logar com SQL Autentication. Queria então a String de conexão correta para que eu pudesse tentar acessar e aí eu te passo o erro que deu. Eu só estava mesmo colocando dados aleatórios, mas ainda não achei, pesquisando muito na internet, a String de conexão correta para a rede e queria saber se o banco de dados pode ficar no servidor mesmo.
    Outra coisa, notei que no SQl Management Studio tem as permissões com os Logins. Eu tenho que mexer nisso?
    sexta-feira, 7 de agosto de 2009 03:04
  • Markaj, antes da string de conexão, vc consegue se logar do outro micro no sql server através do management studio? sim ou nao? ou não tentou?
    DBA SQL Server MCTS - SQL Server 2005 | ITIL Foundation V2 http://www.bydocs.com
    sexta-feira, 7 de agosto de 2009 12:14
  • Não tentei ainda, pois o SQl Server Management Studio deve ser instalado apenas no Pc que tem o banco de dados. Se eu for instalar no outro não sei se vaoi fazer diferença, pois não sei a String de conexão correta mesmo.

    sexta-feira, 7 de agosto de 2009 22:27
  • Markaj_AR,

    Realmente não é para ter diferença, mas seria interessante fazer um teste.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sábado, 8 de agosto de 2009 00:33
    Moderador
  • Markaj_AR,

    Realmente não é para ter diferença, mas seria interessante fazer um teste.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    Se eu pedir para atachar o banco no outro que eu instalar o o servidor completo, talvez funcione. Vou tentar assim.
    sábado, 8 de agosto de 2009 00:48
  • Markaj, O Management Studio pode ser instalado em qualquer micro, não é necessário ter o serviço de SQL Server para instalar o management studio, o objetivo do teste de descobrir de fato de os dois micros estão se comunicando como deveria.

    Vocë poderia fazer isso através do telnet também vendo se a porta que liberou no firewall está ativa e se comunicando.

    A idéia de utilizar o management para se logar no sql a partir do micro que está tentado criar a string de conexão é simplesmente para ir descartando os problemas aos poucos, caso consiga fazer a conexão, teriamos resposta como: a liberação do firewall está ok?, o modo de autenticação que vc está conseguindo usar (windows e sql ou apenas windows)? o sql está aceitando conexões remotas ou apenas locais?, ou seja são resposta uteis antes de partimos diretamente para declarar um string de conexão, pois o problema pode não estar na string onde está todo mundo quebrando a cabeça, ou pode estar na string e ainda mais alguma coisa.

    Se possivel realize o teste e tente conectar no sql server de outro micro através do management studio.
    DBA SQL Server MCTS - SQL Server 2005 | ITIL Foundation V2 http://www.bydocs.com
    domingo, 9 de agosto de 2009 00:31
  • Cleyton,

    Isso mesmo, desta forma, estaremos realizando um teste como se fosse um ambiente client/servidor.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    domingo, 9 de agosto de 2009 02:25
    Moderador
  • Não deu certo. Queria saber o seguinte: no notebook, configurei um IP e PC outro IP. Os 2 tem a mesma porta 1433. Cada tem que ter portas diferentes ou não?
    Se possível, passe as etapas para eu ver como configurar nos 2 e o que vai fazer a conexão pela rede, a String de conexão correta. Outra coisa, eu estava era compartilhando uma pasta e pelo que sei não poderia ser assim. Já tentei ver se tinha em tutoriais do SQl Server, mas nada que mostrasse direito como fazer isso direito. O jeito mesmo vai ser passar do SQl Server para o MySQL mesmo, que talvez seja mais simples, porém menos inferior ou então vou pagar alguém que saiba para configurar para mim.
    domingo, 9 de agosto de 2009 19:16
  • Markaj sugiro que leia este artigo de um membro da comunidade Nilton Pinheiro que poderá te ajudar a consfigurar de forma adequada seu sql server.
    http://www.mcdbabrasil.com.br/modules.php?name=News&file=article&sid=67

    DBA SQL Server MCTS - SQL Server 2005 | ITIL Foundation V2 http://www.bydocs.com
    segunda-feira, 10 de agosto de 2009 19:54
  • Tem mostrando como configurar, vou testar hoje a noite. O problema é que não tem mostrando qual a string de conexão usada. Onde deve ficar o banco de dados, etc.
    terça-feira, 11 de agosto de 2009 03:39
  • Markaj_AR,

    Este artigo é muito bom, com certeza vai ajudar em muito.

    Agora se problema esta relacionado com a configuração das sua rede, isso deixa de lado algumas possíveis causas em falhas de acesso ao SQL Server, o importante é descatar que a porta 1433 deve ser configurada para servidores e a porta 1434 para estações de trabalho.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 12 de agosto de 2009 02:47
    Moderador
  • E ai Markaj alguma novidade deu certo a instalação?
    DBA SQL Server MCTS - SQL Server 2005 | ITIL Foundation V2 http://www.bydocs.com
    sexta-feira, 14 de agosto de 2009 20:51
  • Não. Estou usando o MySQL. vou testar também o PostgreSQL que já tenho aqui. Vou testar na rede e se funcionar, vou usar ou o PostGreSQl ou compro o MySQ mesmo. deve custar uns U$ 220,00 apenas.
    domingo, 13 de setembro de 2009 21:09
  • Estou usando o MySQL Server e funciona tranquilo na rede. vou usar agora também o Firebird e o PostGreSQL que tem base de dados ilimitada e é grátis. O SQL Server cada empresa tem que adquirir e isso fica inviável, porque muitos não querem pagar caro por um banco de dados, a não ser que a empresa seja muito grande e o diretor dela entenda de banco de dados. Usuários leigos em banco de dados nunca comprariam o SQL server. é apenas uma afirmação, mas é real.
    terça-feira, 27 de julho de 2010 19:00
  • Pois bem, o SQL SERVER é um Sistema gerenciador de Banco de Dados (SGDB), e não um banco de dados e sim sua string de conexão está errada.
    • Editado João Becker terça-feira, 14 de fevereiro de 2017 16:59 outra ideia
    terça-feira, 14 de fevereiro de 2017 16:57