【发布时间】:2011-08-26 02:51:40
【问题描述】:
我正在尝试远程连接到运行 Windows Server 2008 R2 的服务器上的 SQL Server 2008 R2 Express。我收到以下错误:
发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:TCP 提供程序,错误:0 - 连接尝试失败,因为已连接 当事人在一段时间后没有正确回应,或建立 连接失败,因为连接的主机没有响应。)
我认为问题可能与我的连接字符串有关,因为我不确定它到底应该是什么。我了解连接字符串应采用以下形式:
Data Source=123.123.123.123\InstanceName;Initial Catalog=MyDBName;user id=MyUserName;password=MyPassword;
我的 SQL Server 安装实例名称采用 ComputerName\SQLEXPRESS 形式。这是我在服务器上登录 Management Studio 时看到的。那么连接字符串是否应该以
Data Source=123.123.123.123\ComputerName\SQLEXPRESS
这看起来不对,因为所有的斜线。我试图省略计算机名称:
Data Source=123.123.123.123\SQLEXPRESS
我也在某处看到你可以指定一个端口,所以我也尝试过
Data Source=123.123.123.123,1433\SQLEXPRESS
因为我知道 1433 是 SQL Server 使用的 TCP 端口,并且
Data Source=123.123.123.123,1434\SQLEXPRESS
因为我知道 1434 是 SQL Server 浏览器使用的 UDP 端口。
我也尝试了这些的每一种组合,它们都给出了相同的错误。
这些是我在服务器上启用远程浏览所采取的步骤:
在 Management Studio 中,右键单击实例,转到属性、安全并检查 SQL Server 和 Windows 身份验证模式。在连接选项卡上,我选中了“允许远程连接到这台计算机”。
在 SQL Server 配置管理器中,我已在它们出现的每个节点下启用了所有四个连接选项(共享内存、命名管道、TCPIP 和通过)。在 SQL Express 协议下,我尝试指定端口 1433 并将其留空,并将 TCP 动态端口设置为 0(我认为这是为了启用动态端口)。
我为 TCP 端口 1433、UDP 端口 1434 创建了防火墙例外,并为
sqlservr.exe和sqlbrowser.exe创建了程序例外。
如果有人能告诉我应该使用连接字符串的 DataSource 部分的四个版本中的哪一个,那将是一个很大的帮助,即使它没有解决问题。这意味着我随后尝试的所有内容都只需要测试一次而不是四次。
提前感谢您的帮助!
【问题讨论】:
-
你应该使用这个:Data Source=123.123.123.123\SQLEXPRESS。如果您在本地尝试连接是否有效?
-
如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击编辑器上的“代码示例”按钮 (
{ })工具栏以很好地格式化和语法突出显示它!如果您发布错误消息,请使用块引号 (` " ` ) 正确格式化错误消息。
标签: sql-server-2008