Usuário com melhor resposta
Erro Login failed for user

Pergunta
-
Boas
Já instalei o SQL Server 2008 R2 versão trial.
Configurei o SQL conforme este link:
http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/
http://www.devmedia.com.br/post-3268-Erros-de-conexao-com-o-SQL-Server.html
http://sqlfromhell.wordpress.com/2009/05/24/habilitando-sql-authentication-e-o-usuario-sa/
A minha string é esta:
"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=colaboradores;Data Source=Flashed"
Pretendo dar acesso a toda a gente, assim evito de ter que criar usuários.
Deu-me esta mensagem de erro:
O erro no report viewer é este:
Como resolvo isto??
Obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.com- Editado Jonas São Paulo quinta-feira, 19 de janeiro de 2012 12:31
quinta-feira, 19 de janeiro de 2012 12:11
Respostas
-
Flashed
o comando é este...
pela tela gráfica http://forum.imasters.com.br/topic/335797-criando-usuario-no-sql-server-2008/
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Jonas São Paulo segunda-feira, 23 de janeiro de 2012 09:00
quinta-feira, 19 de janeiro de 2012 12:54 -
Flashed
a alteração seria no arquivo UDL, mas você ja comentou que conseguiu logar sem problemas
Execute os comandos abaixo e verifique se o usuario existe e se ele tem permissões
SELECT name, principal_id, type_desc, is_disabled, default_database_name, default_language_name FROM sys.server_principals WHERE name = 'dominio\nome_do_usuario' go SELECT suser_name(role_principal_id), suser_name(member_principal_id) FROM sys.server_role_members WHERE member_principal_id = suser_id( 'dominio\nome_do_usuario' ) go SELECT class_desc, suser_name(grantee_principal_id), permission_name, state_desc FROM sys.server_permissions WHERE grantee_principal_id = suser_id( 'dominio\nome_do_usuario' ) Go
O Erro 18456 é um pouco vago precisarámos saber qual o state deste erro, para isto execute o comando abaixo e tente localizar a mensagem "Login failed for user 'nome do usuario' e poste a mensagem completa e logo acima deve existe um codigo de erro 18456 e o state do erro
exec sp_readerrorlog
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Jonas São Paulo segunda-feira, 23 de janeiro de 2012 09:01
quinta-feira, 19 de janeiro de 2012 17:49 -
Flashed
O SQL é um Login SQL, e sua aplicação esta usando um Login Windows, no lugar de flashed\sa, vc deve informar o login do seu usuário
Ex. MSFT\billGatesOutra possibilidade é o SQL authentication
Vc pode criar um login no SQL e usar autenticaçã o SQL ao inves de autenticação WindowsUSE [master] GO CREATE LOGIN [teste] WITH PASSWORD=N'senha', DEFAULT_DATABASE=[dbTeste] GO USE [dbTeste] GO CREATE USER [teste] FOR LOGIN [teste] GO EXEC sp_addrolemember N'db_datareader', N'teste' GO EXEC sp_addrolemember N'db_datawriter', N'teste' GO
e vc altera sua connections string para usar o usuario que vc criou
"Provider=SQLOLEDB.1;User ID=teste;Password=senha;Persist Security Info=False;Initial Catalog=colaboradores;Data Source=Flashed"
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Jonas São Paulo segunda-feira, 23 de janeiro de 2012 08:59
quinta-feira, 19 de janeiro de 2012 19:52
Todas as Respostas
-
Flashed
você precisa criar o login no SQL para o usuáio windows que esta executando a aplicação
OBS. postei o comando em uma outra thread que vc abriu durante esta semana...
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodbaquinta-feira, 19 de janeiro de 2012 12:40 -
é este comando?
USE master go create login [dominio\usuario] from windows go USE seu_banco GO CREATE USER [dominio\usuario] FOR LOGIN [dominio\usuario] GO EXEC sp_addrolemember N'db_datareader', N'dominio\usuario' EXEC sp_addrolemember N'db_datawriter', N'dominio\usuario' GO
O meu programa vb vai precisar de ligar a dois banco de dados, o banco de dados "nomes" e o "referencias"
Não dá para fazer isso via menu?Quer dizer então que para cada pc que se liga os meus banco de dados tem que ter um login no sql?
Não dá para dar acesso a todos?
Desculpe alguma coisa mas é que ainda não percebi bem isto:(
Obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.com
- Editado Jonas São Paulo quinta-feira, 19 de janeiro de 2012 12:49
quinta-feira, 19 de janeiro de 2012 12:43 -
Este são os meus usuários.
o user sa está configurado conforme dala nos link´s que postei em cima.
Tenho que criar um user pró windows?
Obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 12:45 -
Flashed
o comando é este...
pela tela gráfica http://forum.imasters.com.br/topic/335797-criando-usuario-no-sql-server-2008/
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Jonas São Paulo segunda-feira, 23 de janeiro de 2012 09:00
quinta-feira, 19 de janeiro de 2012 12:54 -
Se for permissao de usuario, faça o teste com um usuario "sysadmn" e veja se conecta
Ja exprimentei via telnet e não é da porta.
Como testo o user via telnet?
A firewall esta desligada.
Obrigadfo
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 13:05 -
vc não vai consegui dar um telnet para o usuário
o que vc pode tentar é:
destativar firewall
habilitar os protocolos TCP/IP e Named Pipes no Configuration Manager
Habilitar o SQL Browser** todo este processo é válido se vc nao conseguir conectar nem o SA ou outro usuário sysadmin
Para testar o usuário:
crie um arqui teste.txt e renomeia para teste.UDL
execute o arquivo e selecio o provider no SQL e clique em next e informe o nome do seu SQL e clique em test
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodbaquinta-feira, 19 de janeiro de 2012 13:35 -
Boas
destativar firewall
habilitar os protocolos TCP/IP e Named Pipes no Configuration Manager
Habilitar o SQL BrowserEsta feito.
O arquivo teste.udl é apra exprimentar no meu pc ou do cliente?
No meu deu resultado ok.
OBriado
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 13:59 -
Já consegui fazer o teste através do UDL. O user que testei é o user sa.
Na minha string não tenho que fazer referencia ao user?
"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=colaboradores;Data Source=Flashed"
Flashed é o nome do pc que por acaso é o nome da instancia.
Fiz o comando select @@servername no sql server e deu-me um nome igual ao do pc.
A firewall está desactivada, consigo aceder via UDL e telnet ao meu servidor a partir do cliente. Porque que dá esta mensagem?
No Evente viewer apareceu-me esta mensagem de warning no SQL Broswer
The SQLBrowser service was unable to establish Analysis Services discovery
Como resolvo estes erros todos?
Obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 14:46 -
Flashed
o teste deve ser feito da estação que vc esta recebendo o erro...
vc deve marcar a opcao Use Windows NT Integrated Security, pois na sua string vc esta ifnormando o Integrate Security=SSPI, que significa que ele vai tentar conectar no SQL server com o login do Windows
Pela Mensagem o login não foi criado ou não tem acesso na base
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodbaquinta-feira, 19 de janeiro de 2012 17:23 -
Amigo eu usei o arquivo UDL no cliente e consegui estabelecer ligação com o login sa password 4 e vi as tabelas todas:)
No consigo é fazer isso via vb, pois aparece esse erro.
Vou fazer a alteração que voce fala. Onde fazo essa alteração?
Obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 17:31 -
Flashed
a alteração seria no arquivo UDL, mas você ja comentou que conseguiu logar sem problemas
Execute os comandos abaixo e verifique se o usuario existe e se ele tem permissões
SELECT name, principal_id, type_desc, is_disabled, default_database_name, default_language_name FROM sys.server_principals WHERE name = 'dominio\nome_do_usuario' go SELECT suser_name(role_principal_id), suser_name(member_principal_id) FROM sys.server_role_members WHERE member_principal_id = suser_id( 'dominio\nome_do_usuario' ) go SELECT class_desc, suser_name(grantee_principal_id), permission_name, state_desc FROM sys.server_permissions WHERE grantee_principal_id = suser_id( 'dominio\nome_do_usuario' ) Go
O Erro 18456 é um pouco vago precisarámos saber qual o state deste erro, para isto execute o comando abaixo e tente localizar a mensagem "Login failed for user 'nome do usuario' e poste a mensagem completa e logo acima deve existe um codigo de erro 18456 e o state do erro
exec sp_readerrorlog
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Jonas São Paulo segunda-feira, 23 de janeiro de 2012 09:01
quinta-feira, 19 de janeiro de 2012 17:49 -
Desculpe marcelo, mas onde executo esses comandos?
na maquina do cliente não tem instalado o sql server.
Esse erro 18456 dava antes, agora já não dá. Apenas aparece a mensagem de erro no cliente mas no meu event viewer nada aparece.
O que é estranho.
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 17:54 -
CA vai, isto foi executado no meu pc, o servidor.
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 18:01 -
Flashed
O SQL é um Login SQL, e sua aplicação esta usando um Login Windows, no lugar de flashed\sa, vc deve informar o login do seu usuário
Ex. MSFT\billGatesOutra possibilidade é o SQL authentication
Vc pode criar um login no SQL e usar autenticaçã o SQL ao inves de autenticação WindowsUSE [master] GO CREATE LOGIN [teste] WITH PASSWORD=N'senha', DEFAULT_DATABASE=[dbTeste] GO USE [dbTeste] GO CREATE USER [teste] FOR LOGIN [teste] GO EXEC sp_addrolemember N'db_datareader', N'teste' GO EXEC sp_addrolemember N'db_datawriter', N'teste' GO
e vc altera sua connections string para usar o usuario que vc criou
"Provider=SQLOLEDB.1;User ID=teste;Password=senha;Persist Security Info=False;Initial Catalog=colaboradores;Data Source=Flashed"
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Jonas São Paulo segunda-feira, 23 de janeiro de 2012 08:59
quinta-feira, 19 de janeiro de 2012 19:52 -
O erro deve-se ao datasource?
Então o MSFT é o nome da máquina, e o billGates é o nome do da conta do sql, certo?
Esta a dizer que na minha aplicação vb devo especificar o nome da maquina e o nome do login?
Ficaria então assim:
"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=colaboradores;Data Source=Flashed\sa"
Basta fazer isto? Desculpe mas não percebi se devo especificar melhor no datasource ou se devo usar a alternativa que falou.
sa no login do sql:
Obrigado
Aguardo ansiosamente por respostas :)
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comquinta-feira, 19 de janeiro de 2012 23:28 -
Boas
Desculpem a demora mas estive ausente estes dias.
O problema já esta resolvido, fiz o que o Marcelo disse e deu resultado.
Obrigado a todos pela grande ajuda :)
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.comsegunda-feira, 23 de janeiro de 2012 09:00