locked
Conectar o SQL Server pela rede RRS feed

  • Pergunta

  • Boa tarde a todos,

    Estou com um grande problema, migrei a minha aplicação do Access para o SQL Server 2000 utilizando o VB 2005.

    Instalei o SQL Server Enterprise Manager em uma máquina nova (servidor) e o não coloquei uma instancia, deixei como default, o meu aplicativo rodou legal.

    Porém não consigo me conectar pelas estações, a string de conexão que estou utilizando é: Data Source=SERVIDORLOCAL;Initial Catalog=NOMEBANCO; Integrated Security=True

    com esta mesma conexão me conecto pelo servidor e deveria pelas estações, pois foi assim que me conectava com o Access.

    Ao tentar me conectar pelo aplicativo aparece a mensagem: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    Ao tentar me conectar via ODBC ou Query aparece a mensagem: [DBNETLIB][ConnectionOpen (Connect()).] SQL Server inexistente ou acesso negado

    Em TCP/IP no servidor esta configurado a porta 1433 e nas estações desativei o Firewall do Windows e adicionei a porta TCP 1433 e UDP 1432, mas mesmo assim não consigo conexão com o SQL do Servidor, mesmo antes de configurar as portas não tinha conseguido.

    Obs.: Todas as máquinas são WinXP Prof + SPk3 e SQL v5.1 mas não sei qual o SPK, mas é inferior ao 3.

    Já deixei pingando o servidor pelo comando ping servidor -t  e não tive nenhuma perda.

    O que devo fazer, alguma configuração adicional ou devo mudar a string de conexão.

    Por favor me ajudem.

    Obrigado.

     

     

     

     

    quinta-feira, 17 de junho de 2010 18:26

Respostas

  • André,

             Olha, eu não recomendaría vc se conectar com o usuario sa, pq ele tem permissões de administrador (na verdade o sa é uma conta reservada para administração). Como vc não tem controles de senha na sua rede, eu acho que sería melhor vc mudar o modo de autenticação para misto (mixed authentication), criar uma conta dentro do seu sql server para a sua aplicação, aplicar o privilégios e permissões necessários nesta conta, etc. A sua string de conexão contería o usuário que vc criou no banco: Data Source=meuServidor;Initial Catalog=meuBanco;User Id=NomeUsuario;Password=SenhaUsuario


    att.

    Rafael

    terça-feira, 22 de junho de 2010 18:36

Todas as Respostas

  • André,

    Voce jah verificou se esta marcado a opcao para permitir conexões remota no seu Servidor Sql?. Para verificar, visualize a propriedades do servidor sql +connections. (Verificar se está setado "allow remote connection").

     

    att.

    Rafael

    quinta-feira, 17 de junho de 2010 19:08
  • André,

    Verifique se esta liberado no seu firewall a troca de dados sobre as portas TCP/IP 1433 e 1434.

    Você instalou em suas estações de trabalho o SQL Server Connection Client?

    Agora, você destacou que esta utilizando o SQL Server 2000, não seria o caso de pensar em pelo menos migrar para o 2005?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quinta-feira, 17 de junho de 2010 23:27
    Moderador
  • Boa noite Junior,

    Quando você diz troca de dados esta se referindo a liberação destas portas ?, pq se for, já adicionei estas portas TCP/IP nas estações, senão, onde posso verificar ?

    Eu só instalei uma versão do SQL, que foi no servidor.. eu terei que instalar alguma versão do SQL nas estações para que eu possa me comunicar com o servidor ?

    Eu só não migrei para o SQL 2005 Express porque a unida estação para o Desenvolvimento eu não estou conseguindo instalar.. hehe, nao sei o porque mas quando eu instalo eu não consigo me comunicar porque eu já tinha instalado nesta máquina anteriormente, e engraçado que ao instalar novamente ele atribuio o mesmo usuário que eu tinha na epoca, e nem lembro mais a senha.

    no aguardo,

     

     

     

    sexta-feira, 18 de junho de 2010 00:26
  • Boa noite Rafael,

    Eu já vefirique em Propriedades+Connections do SQL, esta ticado a opção Allow other SQL Servers to connect remotely to this SQL Server using RPC,

    Eu até defini a quantidade de usuários para 10, mas não tiquei nada em Default connection options.

    O que mais eu devo fazer ?

    no aguardo.

    Abraços,

    sexta-feira, 18 de junho de 2010 00:31
  • André...

    Veja se este post pode te ajudar..

    http://social.msdn.microsoft.com/Forums/pt-BR/520/thread/6491a2f8-8c0d-48a7-9fec-645c38d63e87

    att.

    Rafael

    sexta-feira, 18 de junho de 2010 17:10
  • Boa tarde Rafael,

    Eu já tinha analisado este post, e respondendo ele:

     1 - o server ( usuario e senha ) estao ok ? - Não defini senha no server

     2 - vc. tem um firewall ativo ? - Desabilitei o Firewall do Windows de todas as máquinas

     3 - se for um msde esta liberado para conexao remota ? - Não é um MSDE é a versão Full do SQL Enterprise Manager

     4 - vc. consegue dar um ping com o nome da maquina onde esta o sql server ? - Sim, deixei pingando por alguns minutos e não teve perda

      5 - se estiver usando um windows 2003 e seu servidor for sql server 2000 vc. precisa do service pack 3 pelo menos instalado no sql server - Em todas as máquinas é WIN XP PRO

    Configuração da conexão de TimeOut do seu servidor SQL Server? - Em propriedades do SQL/Connections esta padrão o Query time-out 600, ja diminui e aumentei e permanece o problema

    2 - Nas estações de trabalho, verifique através da ferramenta Client Network Utility(Cliconfg), como esta a configuração dos seus alias se acesso, talvez esta configurado algum endereço IP ou Nome do Servidor incorreto. -  Não instalei nenhuma versão do SQL nas estações, terei que instalar ???

    3 - Em algum local do código fonte da sua aplicação, esta fazendo alguma mudança no nome do usuário, senha, ou até mesmo nome do servidor. -  Pelo código fonte do sistema eu leio um arquivo .ini para trocar o nome do SERVIDOR, então faço os testes por lá, a mesma coneção na máquina que esta instalado o SQL o sistema roda legal, só ne rede mesmo que estou com este problema.

    O que devo fazer para resolver este problema, me ajudem por favor, alguma solução...

    O que estou fazendo de errado, instalei o SQL em uma máquina e quero me comunicar com esta maquina/SQL pela rede...

    Alguém tem ai algum procedimento de instalação e configuração em rede para eu refazer o meu trabalho ?

    Obrigado.

     

     

    sexta-feira, 18 de junho de 2010 20:08
  • Boa tarde André...

    Quanto a sua pergunta, se é necessário instalar o sql nas estações, a resposta é não... a não ser que vc instale somente um client para se conectar visualmente em seu server...

    Outro detalhe, ví que vc nao especifica um usuário na sua string de conexão, pq vc tem Integrated Security=True, que significa que a autenticação é efetuada com as credenciais do usuário que está logado no Windows. Sendo assim, é válido verificar se este(s) usuário(s) tem permissão de acesso no seu DB.

    André, não sou expert em DB muito menos em string de conexão....rsrsrs, mas vê se isso te ajuda..

    att.

    Rafael Melo

    sexta-feira, 18 de junho de 2010 20:49
  • Ok, na verdade o meu Banco de Dados não tem usuários com permissão, ou seja qualquer um poderá acessa-lo.

    Estava vendo agora no SQL/Security/Remote Services, vi que só tem um Servidor remoto (MINHA MAQUINA) lá esta ticado RPC e Map remote logins to different... e na Grid não tem nada. Será que esta ai o problema ? não tinha visto esta configuração antes.

    no aguardo,

    Obrigado.

    sexta-feira, 18 de junho de 2010 22:54
  • André...

         Mais uma pergunta, qual é modo de autenticaçao usado no seu servidor sql? Mista ou Windows Authentication?. Pq a única lógica agora de a aplicaçao funcionar no seu server e não nos clientes, é que vc deve estar executando a aplicacao(no server) com o mesmo usuário que vc procedeu a instalacao do sql, que provalvemente é um administrador. Então, caso tenha deixado a autenticacao como windows authentication (a que vem default), os únicos usuários que teríam permissão é o usuário sa ou o administrador do windows(servidor). E mais, os seu usuários clientes são usuários de domínio?

    att.

    Rafael Melo

    sábado, 19 de junho de 2010 12:28
  • Boa tarde Rafael,

    Eu instalei como Windows Authentication, neste caso você recomenda que eu utilize senha "sa" para me conectar, para que eu não tenha problema com os usuários da rede, pois na minha rede eu não tenho senha para me conectar a ela, e no servidor, coloquei somente uma máquina dedicada para eu gravar os dados e para internet.

    Como devo proceder, colocando senha para conectar ao SQL ?

    no aguardo,

    Att,

    André.

     

     

    terça-feira, 22 de junho de 2010 16:35
  • André,

             Olha, eu não recomendaría vc se conectar com o usuario sa, pq ele tem permissões de administrador (na verdade o sa é uma conta reservada para administração). Como vc não tem controles de senha na sua rede, eu acho que sería melhor vc mudar o modo de autenticação para misto (mixed authentication), criar uma conta dentro do seu sql server para a sua aplicação, aplicar o privilégios e permissões necessários nesta conta, etc. A sua string de conexão contería o usuário que vc criou no banco: Data Source=meuServidor;Initial Catalog=meuBanco;User Id=NomeUsuario;Password=SenhaUsuario


    att.

    Rafael

    terça-feira, 22 de junho de 2010 18:36
  • Ok,  Obrigado,

    Vou fazer este teste depois nos falamos.

    Att,

    André.

    quinta-feira, 24 de junho de 2010 01:56