1

我正在尝试通过新项目向导和这篇文章在 VS2010 中创建一个新的数据库项目:http: //msdn.microsoft.com/en-us/library/aa833432 (v=vs.100).aspx

我正在执行“配置构建/部署”步骤,并且正在尝试连接到我刚刚安装的名为 DEVELOPMENT 的 SQL Server 2008R2 的命名实例。假设服务器名称是 DB-01,我在下面的屏幕截图中的对话框中使用 DB-01\DEVELOPMENT 作为服务器名称。我也在使用对话框中的其余设置,但它一直给我以下错误:

与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:TCP Provider,错误:0 - 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。)

DEV 是我在 DEVELOPMENT 实例上创建的数据库的名称。如果我使用 DB-01 作为默认实例的服务器名称,它会连接。过去,我们一直在从默认实例上的数据库进行开发,没有任何问题,但我正在尝试迁移到本地、源代码控制的数据库。这个没有连接我错过了什么?

编辑:作为更多的上下文,它不是用户名/密码组合,也不是实例上存在 DEV 数据库,因为如果其中任何一个不正确,我会收到不同的错误。一旦我给它命名实例,它就无法连接。

在此处输入图像描述

4

1 回答 1

1

弄清楚了:

SQL Server 的默认实例(在某些地方称为 MSSQLSERVER)默认使用端口 1433 进行传入连接,该端口在 Windows 防火墙中打开。这就是我能够连接到默认实例 (DB-01) 的原因。如果您创建了 SQL Server 的命名实例,则默认情况下,这些实例使用端口 1434 进行传入连接。这些是每种情况的 TCP 端口。好吧,我不得不承认我在 Windows 防火墙中打开了 TCP 端口 1434,但仍然无法远程连接到命名实例,并且仍然不确定为什么会这样。因此,我在 Windows 防火墙中打开了一个随机端口 (6969),并将 DEVELOPMENT(命名)实例配置为仅接受通过该端口的传入连接。有关如何配置特定 SQL Server 实例以使用非默认端口的说明,请参阅本文:

将服务器配置为侦听特定 TCP 端口

一旦我将实例配置为使用端口 6969,我就可以毫无问题地连接。希望这可以帮助其他遇到类似/相同问题的人。

于 2012-09-10T00:15:12.463 回答