none
Erro de conexão RRS feed

  • Pergunta

  • Olá a todos, estamos desenvolvendo um webservice que ficará em uma máquina “A” que tem o IIS. Este webservice deverá retornar as informações que estão em um SQL Server 2000 que estão em uma máquina “B”. Acontece que pelo Visual Studio isso funciona usando o IIS emulado dele, mas quando eu instalo (copiando os arquivos mesmo) o webservice em um IIS, no caso a máquina “A” ele passa a não mais conectar no banco de dados SQL Server 2000.

    A mensagem de erro é esta:

     

    System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

       at System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)

       at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)

       at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

       at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)

       at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)

       at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)

       at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)

       at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)

       at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

       at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

       at System.Data.SqlClient.SqlConnection.Open()

       at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

       at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

       at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)

       at Service.HelloWorld()

     

    O estranho é que criamos uma aplicação bem simples e mesmo assim está dando o mesmo problema. O mais estranho ainda é que ele fala que não consegue conectar no SQL 2005, e nós nem temos instalado o SQL 2005, é tudo SQL 2000. Segue abaixo o código que eu chamo no WebMethod HelloWord

     

     

    <WebMethod()> _

    Public Function HelloWorld() As DataSet

    Dim da As New SqlDataAdapter("select top 30 CODIGO, DESCRICAO from registro", "Persist Security Info=False;User ID=sa;Initial Catalog=BANCOA;Data Source=B")

    Dim ds As New DataSet

    da.Fill(ds)

    Return ds

    End Function

     

     

    Se alguém puder me ajudar eu agradeço!

     

     

    quarta-feira, 21 de março de 2007 13:58

Todas as Respostas

  • A máquina ta com firewall habilitado? Voce consegue conectar no sql server por essa máquina usando o query analyzer? Não faltou a senha nessa string de conexão não?
    sexta-feira, 23 de março de 2007 01:48
  • Ola Marcelo,

    Por padrão, os arquivos Web.Config herdam as configurações do machine.config e, consequentemente, tem uma connectionString adicionada lá para o Sql Server (talvez versão Express) 2005.

    Tente fazer o seguinte no seu arquivo Web.Config:

    <?xml version="1.0"?>
    <configuration>
      <connectionStrings>
        <clear/>
      </connectionStrings>
      <system.web>
         <!-- outras configuracoes -->
      </system.web>
    </configuration>
    sexta-feira, 23 de março de 2007 11:48
  • Olá a todos, obrigado pelas respostas e desculpem a demora na resposta.

    Quanto a primeira pergunta do  Mateus, todas máquina estão com os firewalls desativados. Pelo query analizer ele conecta beleza... sem problemas, e a string de conexão... cara eu gerei a string de conexão pelo arquivo udl, pegamos da internet, de várias formas e todas dão o mesmo erro.

    Quanto a sua sugestão Israel, tentamos colocar o <clear/> mas tb não funcionou... continuou dando pau. Aliás abaixo deste <clear/> ficou nossa string de conexão com o banco de dados, é assim que tem que ficar?

    O engraçado é que no ambiente do VS (aquele que ele cria um servidor virtual) ele funciona certo, conecta normal com qualquer máquina... só dá pau quando sai do VS e fica publicado no IIS.  Instalamos uma versão do SQL 2005 Developer e somente mudamos a string de conexão e tudo funcionou!!! Tentamos instalar Service Packs do SQL Server  2000 e tb nada funcionou. Como o site hospedado em uma máquina com IIS ele não conecta no SQL Ser ver 2000 de forma alguma. Ahh, fizemos um outro teste que acho que vale a pena reportar.... ligamos o profiler do SQL Server e tentamos no ambiente do VS....  ele aparece o login no banco conforme nossa consulta.... se publicar no IIS não aparecer nada, parece que nem chega o pedido de conexão no banco!! Estranho né?

    Se alguém tiver outra idéia eu agradeço!!! Obrigado pela atenção de todos!!!

     

    Marcelo

     

    segunda-feira, 26 de março de 2007 11:59
  • Eu aposto que o problema é da string de conexao. O usuário sa está sem senha mesmo? O servidor se chama "B" mesmo? O SQL foi instalado na instancia default ou tem um nome de instância para ele?
    terça-feira, 27 de março de 2007 04:05
  • Fala Mateus, eu tenho certeza que não é problema da string de conexão!!! Isso porque eu criei um arquivo UDL, conectei por ele e copiei a string de conexão (sem o provider é claro) para  o arquivo. A senha do 'sa' com certeza está em branco e já tentamos com outro usuário cadastrado e tb não dá certo. Com o Query Analyzer dá tudo certo... conecta com qualquer usuário de qualquer máquina.

    Mais alguma idéia?

     

     

    Agradeço a atenção de todos!!!

     

    terça-feira, 27 de março de 2007 17:40
  • Quando você diz que conseguiu conectar pelo UDL, foi exatamente da mesma máquina que roda o IIS?
    terça-feira, 27 de março de 2007 20:50
  • Cara, parece brincadeira, mas o único jeito que não funciona é pelo IIS, pela UDL, pelo query analyzer e pelo VS tudo conecta normalmente, quando eu publico ele para de funcionar. Como disse, colocamos o profiler monitorando e quando está pelo VS ele mostra o login, quando a gente publica ele não funciona e nem aparece a tentativa de conexão no SQL Server.

    Para exemplificar melhor estamos fazendo assim:

    2 computadores:

    Computador "A", tem o Visual Studio 2005 Professional, tem o Query Analyzer, o IIS e MSDE.

    Computador "B" tem o MSDE.

     

    Quando estamos desenvolvendo no Computador "A" acessando o SQL Server no Computador "B" funciona normal. Ai colocamos os arquivos no IIS e ele não funciona. Se mudarmos o DataSource da string de conexão (fica no web.config nem compilados novamente, mudamos no próprio diretório do IIS) para o MSDE do Computador "A" funciona normalmente. Do Computador "A" pela UDL e pelo Query Analyzer ele conecta no SQL do Computador "B" normalmente.

     

    Agradeço a atenção e a ajuda de todos!!!

    Marcelo

     

     

     

    quarta-feira, 28 de março de 2007 11:56
  • Siga esses 3 passos que eu acho que vai funcionar:

     

    https://blogs.msdn.com/sqlexpress/archive/2005/05/05/415084.aspx

     

    quarta-feira, 28 de março de 2007 21:34
  • Olá Mateus, este passo a passo é para o SQL 2005, no SQL 2005, em outra máquina, nós já fizemos isso e está funcionando, só não funciona no SQL 2000 mesmo. Tá uma novela isso mesmo!!!

     

    Obrigado pela atenção!!

    Marcelo

    sexta-feira, 30 de março de 2007 19:10
  • Sim, mas existem passos similares para o 2000, na configuração do cliente, você pode definir o protocolo como TCP/IP também.

     

    Aliás, já que você está usando MSDE, por que não usar o SQL 2005 express?

    domingo, 1 de abril de 2007 00:41
  • Ola Marcelo,

    Deixe-me ver o seu Web.Config.
    segunda-feira, 2 de abril de 2007 11:54
  • Fala Israel, o web.config está exatamente assim:

    <?xml version="1.0"?>

    <!--

    Note: As an alternative to hand editing this file you can use the

    web admin tool to configure settings for your application. Use

    the Website->Asp.Net Configuration option in Visual Studio.

    A full list of settings and comments can be found in

    machine.config.comments usually located in

    \Windows\Microsoft.Net\Framework\v2.x\Config

    -->

    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

    <appSettings/>

    <connectionStrings>

    <clear/>

    <add name="cn" connectionString="Persist Security Info=False;User ID=sa;Initial Catalog=FW_TESTE;Data Source=desenvolv03"

    providerName="System.Data.SqlClient"/>

    </connectionStrings>

    <system.web>

    <!--

    Set compilation debug="true" to insert debugging

    symbols into the compiled page. Because this

    affects performance, set this value to true only

    during development.

    -->

    <compilation debug="true"/>

    <!--

    The <authentication> section enables configuration

    of the security authentication mode used by

    ASP.NET to identify an incoming user.

    -->

    <authentication mode="Windows"/>

    <!--

    The <customErrors> section enables configuration

    of what to do if/when an unhandled error occurs

    during the execution of a request. Specifically,

    it enables developers to configure html error pages

    to be displayed in place of a error stack trace.

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

    <error statusCode="403" redirect="NoAccess.htm" />

    <error statusCode="404" redirect="FileNotFound.htm" />

    </customErrors>

    -->

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

    <error statusCode="403" redirect="NoAccess.htm" />

    <error statusCode="404" redirect="FileNotFound.htm" />

    </customErrors>

    <!-- -->

    <webServices>

    <protocols>

    <add name="HttpSoap"/>

    <add name="HttpPost"/>

    <add name="HttpGet"/>

    <add name="Documentation"/>

    </protocols>

    </webServices>

    </system.web>

    </configuration>

     

     

    Como disse, a maq03 tem o SQL Server e o IIS com o WebService fica na máquina maq04, se precisar saber mais alguma coisa me avisa!!!

     

    Agradeço a atenção!

    Marcelo

     

    segunda-feira, 2 de abril de 2007 16:58
  • Olá Mateus, cara a configuração do TCP/IP ei já vi e ele está ativado, aliás está no NamePipes e o TCP/IP. Quanto a utilização do SQL 2005, ainda temos muitas aplicações em 2000 e não dá pra migrar equanto os clientes não pedirem entendeu?

    Obrigado por toda atenção e paciência!!!

     

    segunda-feira, 2 de abril de 2007 17:01
  • Ok, experimenta remover o named pipes e deixar o tcp/ip em primeiro e o multi protocol em segundo.
    segunda-feira, 2 de abril de 2007 21:10
  • Me esta dando exactamente o mesmo erro.

    Ja conseguio resolver?

    quinta-feira, 12 de abril de 2007 10:21
  • Eu estou tendo o mesmo erro, mas não é o tempo todo. Não consigo localizar a origem do problema. Estou usando SQL Server 7, Windows 2000 Server e VS 2005. Não se trata de um webservice e sim de um site que roda em nossa intranet. Este site possui 3000 visualizações diárias aproximadamente e realiza umas 15 consultas ao banco para montar a página principal. São abertas 3 conexões com o bancos diferentes, mas não ao mesmo tempo. Para uma dessas conexões eu aumentei o Connection Timeout para 6 segundos e o erro parou de ocorrer com tanta freqüência para essa conexão. Na conexão onde o erro continua ocorrendo eu também aumentei o Connection Timeout e não resolveu. Quero dizer, para a primeira conexão aberta eu realizo umas 6 operações com o banco e para essa segunda, que está dentro de um componente,  são realizadas 3 operações de  leitura, mas para cada operação a conexão é aberta e fechada em seguida. O erro ocorre com freqüência logo pela manhã quando os empregados chegam, perto da hora do almoço (11:30), mas em todos os casos eu tenho certeza que ocorre quando um grupo usuários (vou chutar no mínimo 4) acessam o site ao mesmo tempo. Detalhe que o site está no ar com essa formatação tem uns 3 anos e somente de 2 semanas para cá ele começou a me assombrar.

    Eu monitoro os erros no site através do Application_Error no Global.asax. Toda vez que o erro ocorre a aplicação (raíz do site) me manda um e-mail com detalhes sobre o erro.

    Eu recebo 1 e-mail com:

    An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - Only one usage of each socket address (protocol/network address/port)
    is normally permitted.)

    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    at System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)
    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
    at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
    at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
    at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
    at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
    at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
    at System.Data.SqlClient.SqlConnection.Open()
    at PersisteDados.ClsPersiste.StartPersiste()
    at PersisteDados.ClsPersiste..ctor(XmlDocument oXML)
    at INB.CONSEG.BASECLASS.CRUDModel.SingleObjects(ClsCriteria& Criteria, String Order)
    at INB.CONSEG.BASECLASS.vw_Empregados_Contratados.SelectedCriteria()
    at INB.CONSEG.BASECLASS.GrupoUsuario.EmpregadosAssociadosAtivos(Boolean Renova, String Order)
    at INB.CONSEG.BASECLASS.GrupoUsuario.EmpregadosGrupo(Int32 CodigoGrupo)
    at INB.CONSEG.BASECLASS.GrupoUsuario.EmpregadoPertenceGrupo(Int32 CodigoGrupo, Int32 Matricula)
    at INB.CONSEG.REGRASNEGOCIO.CEmp.EmpregadoPertenceGrupo(Int32 CodigoGrupo, Int32 Matricula)
    at INB.PortalINBnet.BaseClass.INBnet.PertenceGrupo(Int32 Grupo, Int32 Usuario) in C:\Inetpub\PORTALINBNET\PORTALINBNET\INB.PortalINBnet.BaseClass\INBnet.vb:line 14
    at Home_Sistemas.Page_Load(Object sender, EventArgs e)



    E as vezes mais alguns e-mails com:
    An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - Only one usage of each socket address (protocol/network address/port)
    is normally permitted.)

    at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
    at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
    at System.Data.SqlClient.SqlConnection.Open()
    at PersisteDados.ClsPersiste.StartPersiste()
    at PersisteDados.ClsPersiste..ctor(XmlDocument oXML)
    at INB.CONSEG.BASECLASS.CRUDModel.SingleObjects(ClsCriteria& Criteria, String Order)
    at INB.CONSEG.BASECLASS.GrupoUsuario.EmpregadosAssociadosAtivos(Boolean Renova, String Order)
    at INB.CONSEG.BASECLASS.GrupoUsuario.EmpregadosGrupo(Int32 CodigoGrupo)
    at INB.CONSEG.BASECLASS.GrupoUsuario.EmpregadoPertenceGrupo(Int32 CodigoGrupo, Int32 Matricula)
    at INB.CONSEG.REGRASNEGOCIO.CEmp.EmpregadoPertenceGrupo(Int32 CodigoGrupo, Int32 Matricula)
    at INB.PortalINBnet.BaseClass.INBnet.PertenceGrupo(Int32 Grupo, Int32 Usuario) in C:\Inetpub\PORTALINBNET\PORTALINBNET\INB.PortalINBnet.BaseClass\INBnet.vb:line 14
    at Home_Sistemas.Page_Load(Object sender, EventArgs e)

    Realmente não faço idéia sobre o que pode estar causando esse erro. Não pode ser problema com o banco pq muitos outros sistemas utilizando esse servidor sem problema. Apenas o servidor web ao receber muitas requições ao mesmo tempo tem esse problema.

    Abraço
    André
    quinta-feira, 26 de abril de 2007 20:00
  • Eu diria que sao problemas diferentes. No seu caso, é aleatório (ou acontece quando o número de usuários aumenta).

     

    Voce está sempre fechando as conexões com o banco?

     

    Já rodou um network monitor para ver se a rede está com algum problema.

     

    Supondo que o sistema nao mudou, o código nao mudou, nem o número de usuários, pode ser algum problema de rede no seu caso...

    quinta-feira, 26 de abril de 2007 22:22
  • O administrador do banco não notou nenhuma anomalia em termos de excesso de conexões, processamento pesado ou qualquer outra coisa que pudesse causar esse problema.

    Se fosse problema com a rede as outras aplicações não teriam problemas parecidos? Nenhuma aplicação ASP 3 sofre do problema e as outras aplicações .NET também não sendo que apenas 1 apresentou este problema.

    Estou confuso hehe

    Abraço
    sexta-feira, 27 de abril de 2007 11:24
  • Pode ser questão de escalabilidade mesmo...

     

    Talvez esteja na hora de pensar em colocar mais de um servidor web em NLB e ver se o problema some. Pelo que entendi, isso acontece quando o número de acessos aumenta... Aí tem que monitorar servidor web e banco de dados para ver quem está pedindo socorro. Mas pelo que você falou, outras aplicações estão tranquilas, então o servidor web pode não estar dando conta da quantidade de acessos.

    domingo, 29 de abril de 2007 23:25
  • Opa... Marcelo tudo joia? Cara, pelo que pude ler no seu post e também nos demais, já vi uma discussão semelhante, acho que até aqui mesmo.

    Parece que por padrão o SQL Server vem com suas conexões de rede ou permissões desabilitadas e ou negadas, sendo possível configurá-las, no help ou aqui no fórum tem muita informação sobre isso.

    Só postei aqui porque não vi nenhuma resposta ou comentário neste sentido e sei que isso também deve ser levado em conta, pois talvez o seu Banco não esteja com permissão para acessar um ambinte fora da rede, pois no ambiente de VS2005 ele utiliza o ambiente emulado por ele.

    quarta-feira, 2 de maio de 2007 12:08
  • Creio que seja um problema de escalabilidade, mas não por deficiência do servidor e sim por má configuração.


    Eu modifiquei a classe de conexão para utilizar ODBC em vez do client SQL nativo e a mensagem de erro retornada ficou um pouco mais clara. Lembrando que na primeira página eu trabalho com 3 conexões com o banco, nenhuma simultânea. Realizo umas 16 operações de leitura (agora eu contei) e uma de escrita.


    Eu recebi várias mensagens:

    System.Data.Odbc.OdbcException: ERROR [08001] [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]SQL Server does not exist or access denied.


    Algumas igual a anterior relatada e uma:

    Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.


    Agora, se eu sempre fecho as conexões pq diabos está estourando o pooling? Ainda não tenho a resposta, mas pesquisando no site do MSND no artigo:

    Connection Pooling for the .NET Framework Data Provider for SQL Server

    http://msdn2.microsoft.com/en-us/library/8xx3tyca(vs.71).aspx


    Para ser mais exato na seção:

    Controlling Connection Pooling with Connection String Keywords

    Lá diz que eu preciso configurar o Connection Reset para false se estou usando SQL Server 7 para evitar uma viagem quando estiver obtendo conexão.

    Esse parâmetro não parece estar relacionado com o problema que estou tendo, mas como eu utilizo o SQL Server 7 eu adicionei este parâmetro em duas das conexões, as duas que executam mais operações. Estou há 25 minutos sem receber mensagem de erro sendo que nesse intervalo eu já teria recebido umas 20 mensagens. Acontece que eu usei iisreset no server então não vou me precipitar e fazer uma afirmação equivocada.

    Estamos observando e amanhã eu retorno com maiores informações.

    Abraço


    quarta-feira, 2 de maio de 2007 19:01
  • Retornando o resultado da mudança na string de conexão: NENHUM erro voltou a ocorrer até o presente momento =D

    Legal não acham? hehe

    Apenas um problema foi reportado hoje. Por algum motivo a sessão está morrendo no meio do processamento da página. Ao meu ver, mesmo que o usuário deixasse a página inativa o dia todo, quando ele tentasse recarregar a página a sessão seria recriada e as variáveis preenchidas com seus devidos valores. Isso não ocorreu ou ocorreu e algo aconteceu em seguida e matou a sessão.

    Bem, descobrirei a resposta para essa questão depois. Por enquanto estou feliz por ter eliminado o primeiro problema.

    LEMBREM-SE! Sempre configurem a propriedade Connection Reset para False na string de conexão se estiverem trabalhando com Framework 2.0 e SQL Server 7!!!! hehehe

    Abraço
    quinta-feira, 3 de maio de 2007 19:33
  • Bem, o assunto discutido já faz um tempo que foi postado. Porém estou postando pq tb passei pelo mesmo problema, inclusive acessei o fórum em busca da resposta. A solução é a seguinte: Vá até o Sql Server configuration manager (do SQL 2005), depois vá até SQL Native Client Configuration, e na guia Aliases do lado direito tem uma lista de servidores, Ao clicar com o botão do mouse do lado direito tem uma opção para adiconar uma nova alias, entao adicione o nome do servidor que deseja conectar. Se por acaso der uma mensagem que já existe e caso tenha instalado na mesma maquina o SQL 2000 vá até o Client Network Utility do SQL 2000 e na aba Alias localize o servidor desejado é clique em Remover. Em seguida volte ao Sql Server configuration manager e repita os passos para inclusão da nova alias. Após conseguir criar essa alias teste a aplicação
    segunda-feira, 2 de julho de 2007 17:38