SQL Server 2005 Express pela LAN - Falha de logon para 'Nome_do_servidor \ Convidado'

1

Postei minha pergunta aqui porque tenho certeza de que é menos um problema de programa e mais um problema no Servidor.

Estou desenvolvendo um programa C # que acessará um banco de dados em um servidor. Se eu executar o programa no meu PC (o servidor, o servidor PC), ele funciona bem.

Copiando os programas para dois outros computadores (tentei apenas um de cada vez) conectado ao meu PC via rede e, de repente, o programa não consegue se conectar.

Em um PC com XP, a mensagem de erro é "Login falhou para o usuário Server-PC \ Guest"

Enquanto em um PC com o Vista, a mensagem de erro é "O login falhou para o usuário 'null'. O usuário não está associado a uma conexão confiável do SQL Server."

Este é o meu código de conexão:

\SQLEXPRESS;Database=GGDBase;Integrated Security=SSPI;Trusted_Connection=true;Persist Security Info=False;

Agora, não sei muito sobre a configuração do SQL Server, adicionando permissões de usuário e coisas do tipo, mas fiz o seguinte:

  • Ativou o protocolo TCP / IP no Gerenciador de configuração do servidor
  • Defina o servidor como "Modo de autenticação do SQL Server e do Windows"
  • Permitiu o programa através do firewall.

Por favor, posso ter algum conselho sobre isso? Simplesmente não vai funcionar. O que mais eu poderia fazer? Obrigado a todos que responderam.

P.S. Caso seja importante:

  1. Meu servidor está executando o Windows 7.
  2. Os outros dois computadores que usei para tentar conectar estão em execução Windows XP (SP3) e Vista. Eles estão todos conectados a uma rede. Sim, eles podem compartilhar arquivos entre si.
  3. Estou usando a edição EXPRESS do SQL Server 2005.
  4. O programa que estou desenvolvendo é um aplicativo de desktop criado em C #, então duvido que as soluções "faça algo no IIS" sejam aplicadas.
por zack_falcon 08.11.2011 / 19:52

2 respostas

1

Eu diria que esses computadores não são membros de um domínio do Windows. Você está tentando se conectar aos computadores usando a autenticação do Windows, o que não funcionará, pois não há um repositório de senhas comum, como um domínio do Windows Active Directory.

Para corrigir isso, você precisa criar um login no SQL Server e dar a ele direitos dentro do banco de dados. Para fazer isso, conecte-se ao SQL Server com o Management Studio no console do servidor. Navegue até Segurança > Logins Clique com o botão direito em Logins e selecione "New Login" no menu suspenso. Na nova janela, selecione "Autenticação do SQL Server" em um nome de usuário e senha. Desmarque todas as caixas de seleção. Vá para a página User Mapping (white pain à esquerda) e dê ao login os direitos de que precisa no banco de dados. Em seguida, altere sua string de conexão no aplicativo para o que eu mostro abaixo, substituindo myUsername e myPassword pelo nome de usuário e senha que você especificou quando criou o login.

\SQLEXPRESS;Database=GGDBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
    
por 08.11.2011 / 20:57
1

Tente especificar algumas credenciais na sua string de conexão. Parece que está tentando fazer login como uma conta de convidado e ser rejeitado.

Você pode ter que criar uma nova conta SQL com as permissões adequadas para realizar isso.

Se você estiver tentando autenticar de alguma outra forma, eu verificaria as permissões para o usuário que você está tentando autenticar.

    
por 08.11.2011 / 20:30