无法连接到SQL Server 2008 R2

本文关键字:Server 2008 R2 SQL 连接 | 更新日期: 2023-09-27 17:53:44

我有一个使用SQL Server 2008 R2的C#项目,当我将该项目发布到服务器Win2008 R2时,该项目在本地计算机上运行时没有问题。但是该项目无法正常工作,并且无法连接到服务器。所有的数据库设置检查和我启用了TCP/IP设置等,但仍然没有工作。我认为问题出在下面的连接字符串上。当页面要连接到数据库时,浏览器中没有发生任何事情,浏览器一直处于加载模式(等待响应(。

我的计算机上的连接字符串

Data Source =(Local);Initial Catalog=Bulk;Integrated Security=True;Timeout=0;Max Pool Size=5000;

Windows服务器上的连接字符串

Data Source=My Ip Windows Server,1433;Network Library=DBMSSOCN;Initial Catalog=Bulk;User ID=administrator;Password=My Windows Login Pass;Timeout=0;Max Pool Size=5000;

我得到了这个错误:

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

无法连接到SQL Server 2008 R2

在服务器的连接字符串中,您有:

  1. Data Source=My Ip Windows Server,1433;Network Library=DBMSSOCN;
    通过1433的IP地址和端口并通过TCP/IP协议进行连接
  2. Initial Catalog=Bulk;
    Bulk是您的数据库名称
  3. User ID=administrator;Password=My Windows Login Pass;
    administrator登录用户及其密码通过SQL Server连接进行身份验证

我认为您的问题在第三部分,您想通过您的Windows用户名连接到SQL Server;您可以在SQL Server Management Studio中注册服务器的安全分支中看到SQL Server的有效登录,该分支将显示您的Windows用户名(如Domain Name'User Name(,因此您需要将User Id更改为该名称。

将Windows防火墙配置为允许SQL Server访问。打开windows防火墙中的端口1433。请参阅此链接。或者这个。

请尝试使用实时登录详细信息在本地Sqlserver中连接,如果你是成功的,那么应该有权限需要设置从实时托管服务器

如果可能的话,请添加More规格。

您应该记录发生的错误,例如,如果它实际上是一个ASP.Net项目,则记录在Application_Error中。使用日志,你应该会得到提示你或使你能够提供更多细节的错误消息,这样就没有人需要猜测你的实际问题是什么。

关于您的问题:您是否已授予您的Windows帐户对SQL Server的必要读/写访问权限?在MS SQL Server上,帐户需要访问:1.添加到通用安全/登录中,以获得Windows帐户与登录的实际匹配。2.添加到具有必要数据库角色成员身份的特定数据库"安全性/用户"选项卡。

除了在连接字符串中指定您的Windows帐户+密码外:也许最好使用服务帐户运行应用程序池并使用

Integrated Security=True

并删除

User ID=administrator;Password=My Windows Login Pass;

我已经将我的连接字符串更改为这个字符串并解决了问题。

public static string ConnectionString = "Data Source=My Ip,1433;Initial Catalog=My DataBase;UID=sa;Pwd=My Pass;Timeout=0;Max Pool Size=5000;";

在sql server management studio中单击"Security"=>"Logins"=>"sa"右键单击属性在左侧单击"状态",在右侧,在登录中选择启用