Usuário com melhor resposta
Problema conexao

Pergunta
-
Ola pessoal estou com um problema em algumas aplicacoes que algumas vezes durante o dia perdem conexao, porem monitoramos varias coisas no banco e nao encotramos nada, acredito que a requisicao nao esteja nem chegando no banco, abaixo segue um log (ATENCAO ELE ESTA DE BAIXO PRA CIMA) que a aplicacao gera...o estranho é que a base é SQL server 2008 R2 e nao 2005 como mostra o erro.
XXXXXXXXX.Tools.LocalLogger rss=12398592 thr=5 id=0000000f @@ DATABASE ERROR: Ocorreu um erro ao estabelecer uma conexão com o servidor. Ao conectar ao SQL Server 2005, essa falha pode ser causada porque, dentro das configurações padrão, o SQL Server não permite conexões remotas. (provider: Provedor de Pipes Nomeados, error: 40 - Não foi possível abrir uma conexão com o SQL Server)[ em System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
em System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
em System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
em System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
em System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
em System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
em System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
em System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
em System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
em System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
em System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
em System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
em System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
em System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
em System.Data.SqlClient.SqlConnection.Open()
em XXXXXXXXX.DataHandlerLayer.SqlDataHandler.PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, String cmdText, SqlParameter[] cmdParms)
em XXXXXXXXX.DataHandlerLayer.SqlDataHandler.ExecuteNonQuery(String connString, CommandType cmdType, String cmdText, SqlParameter[] cmdParms)
em XXXXXXXXX.DataHandlerLayer.QueryBuilderClass.ExecuteNonReader(String cmdText, CommandType cmdType)
em XXXXXXXXX.DataHandlerLayer.QueryBuilderClass.ExecuteInsert()
em XXXXXXXXX.Time.Data.EventTable.InsertItem(Int32 p_Id_Machine, Int32 p_Cd_Type, DateTime p_Dt_Start)
em XXXXXXXXX.Time.Module.TimeClass.SaveDB(TimeItem _item)];XXXXXXXXX
viniciuseroico
Respostas
-
Rapaz, o erro diz que o seu sql não está configurado para acessar remotamente. Você só conseguirá acessar o sql pela aplicação se ele estiver configurado corretamente.
Você não deve ter problemas em configurar isto. basta procurar no google sobre o assunto pra achar bastante coisa. A configuração básica pra aceitar acesso remoto é esta:
Clique com o botão direito sobre o nó da conexão no sql server. Então clique em "Proprerties". Na aba "Connections" habilite "Allow remote connections to this server".
Se isso não bastar, procure no google artigos com o passo a passo.
Abraço!
- Marcado como Resposta Ricardo RussoModerator terça-feira, 8 de janeiro de 2013 12:08
Todas as Respostas
-
-
-
Sempre que for utilizar sua conexão faça assim:
using (SqlConnection con = new SqlConnection("sua string de conexao"))
{
con.open();
// processamento restante...
}
Dessa forma, você estará garantindo que sua conexão fechará depois do processamento.
-
-
Rapaz, o erro diz que o seu sql não está configurado para acessar remotamente. Você só conseguirá acessar o sql pela aplicação se ele estiver configurado corretamente.
Você não deve ter problemas em configurar isto. basta procurar no google sobre o assunto pra achar bastante coisa. A configuração básica pra aceitar acesso remoto é esta:
Clique com o botão direito sobre o nó da conexão no sql server. Então clique em "Proprerties". Na aba "Connections" habilite "Allow remote connections to this server".
Se isso não bastar, procure no google artigos com o passo a passo.
Abraço!
- Marcado como Resposta Ricardo RussoModerator terça-feira, 8 de janeiro de 2013 12:08
-
-
o que pode estar acontecendo é o limite de conexões sendo estouradas, ai o sql rejeita novas conexões dando o erro similar ao que voe esta tendo.
tente monitorar os usuários conectados no SQL Server e procure por algum limite de conexões.