某个应用程序突然无法再连接到数据库.其他应用程序连接得很好



我的一个应用程序不再连接到DB服务器。这个应用程序已经在生产中2年了,没有任何变化,并且一直工作。

我使用c# 2010和MS SQL Server 2008 R2

  • 我得到错误:

"在建立到SQL Server的连接时发生了与网络相关或特定实例的错误。未找到服务器或无法访问服务器。验证实例名是否正确,SQL Server是否配置为允许远程连接。(提供者:SQL网络接口,错误:26 -错误定位服务器/实例指定)"

  • 内部例外:"Access is denied"

  • 使用完全相同的代码,连接字符串,数据库&数据库服务器,我能够连接到另一个应用程序,没有任何错误

  • 我可以在服务器和数据库上使用SSMS连接。

  • 查询(如果复制到SSMS)运行正常

代码:

public DataTable QueryRetrieval(string sqlQuery)
    {
        // SP Command
        SqlConnection Conn = new SqlConnection(this.connectionString);
        this.Cmd = new SqlCommand(sqlQuery, Conn);
        Cmd.CommandType = CommandType.Text; // Type of command
        // Declarations (for scope purposes)
        SqlDataAdapter Adapter = new SqlDataAdapter(Cmd);
        DataTable DtResultSet = new DataTable();
        try
        {
            // Run the query
            Conn.Open();
            Adapter.Fill(DtResultSet);
            Conn.Close();
            // Return datatable
            return DtResultSet;
        }
        catch (Exception Ex)
        {
            // Edit the message, rethrow exception
            throw new Exception(
                "DataAccessor.QueryDataTable: Failed to run query '" + sqlQuery + "'nn"
                + "Error message: n--------------nn" + Ex.Message);
        }
        finally
        {
            // Remove the SQL command
            Cmd.Dispose();
            Cmd = null;
            // Remove the SQL data adapter
            Adapter.Dispose();
            Adapter = null;
        }
    }

连接字符串:"Server=MyServer;Database=MyDB;Trusted_Connection=True;"(我替换了名字)

程序在Conn.Open()上失败;当代码到达那一行时,我必须等待20或30秒,然后抛出异常。

服务器上没有安装任何更新。我已经尝试重新启动服务器(整个服务器,而不是服务)。

有没有人知道是什么导致了这种情况的发生?

我最近遇到了一个类似的问题。运行特定项目无法连接,但可以连接其他项目和应用程序。我重启了,问题就解决了。试着重新启动。

根据我在这种情况下的经验,当内部异常说"访问被拒绝"时,可以保证运行程序的帐户没有访问DB的权限。

建议您检查您是否正在冒充任何帐户,以及它是否有权访问数据库。[在我的情况下,被用来冒充的帐户的密码(在web.config中)被更改,它给了我这个错误]

相关内容

最新更新