无法与 SQL 服务器的数据库建立连接

Unable to establish a connection to a database of SQL Server

当连接到 SQL 网络或特定实例时发生服务器错误

服务器未找到或不可用。
验证实例名称拼写是否正确
SQL 服务器允许远程连接。

提供商:SQL 网络接口,错误:26 -
错误检测指定的服务器或实例。

数据库的连接字符串:

<add name="RequirementContext" 
    connectionString="Data Source=RU-DEV24;Initial Catalog=OpenSoft.AgileAnalytics.EF;Integrated Security=True;MultipleActiveResultSets=True"
    providerName="System.Data.SqlClient" />

我无法理解,这就是为什么会出现此错误。请帮忙!

错误代码

public class Permission
    {
        public string RoleString
        {
            get
            {
                return string.Join(", ", UserRoles);
            }
        }

        public int UserId { get; set; }

        public string UserName { get; set; }

        public List<string> UserRoles { get; set; }

        public static Permission CreateFromUserProfile(UserProfile userProfile)
        {
            //here
            return new Permission
            {
                UserId = userProfile.UserId,
                UserName = userProfile.UserName,
                UserRoles = Roles.GetRolesForUser(userProfile.UserName).ToList(),
            };
        }
    }

!!!! 问题解决了。我刚刚将此代码添加到文件 web.config:

<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
      <providers>
        <clear />
        <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider,WebMatrix.WebData" />
      </providers>
    </roleManager>
    <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear />
        <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
      </providers>
    </membership>

此错误的常见原因:

  1. 连接字符串中指定的服务器不存在(拼写错误等)
  2. 服务器不可用(离线等)[=​​21=]
  3. 服务器无法访问(尝试 ping 主机名以验证前 3 个)
  4. 服务器未配置为允许网络访问
  5. Windows 防火墙(或其他安全软件)阻止访问 SQL 服务器端口
  6. SQL 服务器实例名称未指定或不正确(在上面的示例中,除非您使用服务器上的默认实例,否则连接将失败)

如果您使用 SQL Express,您可能应该将 "SQLEXPRESS" 作为服务器的实例名称。

确保您的数据库引擎正在接受远程连接:

  • 开始 > 所有程序 > SQL Server 2012 > 配置工具 > SQL 服务器外围应用配置
  • 单击服务和连接的外围应用配置
  • Select 遇到问题的实例 > 数据库引擎 > 远程连接
  • 启用本地和远程连接
  • 重启实例

在SQL服务器配置中启用TCP/IP:

  • 转到开始 > 所有程序 > Microsoft SQL Server 2012 > 配置工具 > SQL 服务器配置管理器 > Select TCP/IP.
  • 右键单击 select 启用

确保 SQL 浏览器服务是 运行:

  • 在“开始”菜单上,右键单击 我的电脑,然后单击 管理
  • 计算机管理中,展开服务和应用程序,然后 单击 服务
  • 在服务列表中,双击SQL服务器浏览器
  • 在 SQL 服务器浏览器属性 window 中,单击 开始 停止 。 当服务启动或停止时,单击确定

配置您的 windows 防火墙以允许访问:

  • 在“开始”菜单上,单击 运行,键入 WF.msc,然后单击 确定.
  • 在 Windows 高级安全防火墙的左窗格中, 右键单击 入站规则 ,然后在操作窗格中单击 新建规则
  • 规则类型对话框中,select端口,然后点击下一步.
  • 协议和端口对话框中,selectTCP。 Select具体 本地端口,然后键入实例的端口号 数据库引擎,例如默认实例的 1433。单击下一步
  • 操作对话框中,select允许连接,然后点击 下一个.
  • 配置文件 对话框中,select 描述 当你想连接到的计算机连接环境 数据库引擎,然后单击 下一步
  • Name 对话框中,输入此规则的名称和描述, 然后单击 完成