无法连接到SQL Server 2008R2的命名实例

时间:2012-09-07 19:33:07

标签: visual-studio-2010 connection sql-server-2008-r2 database-project

我试图通过New Project Wizard在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提供程序,错误:0 - 连接尝试失败,因为   连接方在一段时间后没有正确回应,或者   建立的连接失败,因为连接的主机失败了   反应。)

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

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

enter image description here

1 个答案:

答案 0 :(得分:1)

想出来:

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

Configure a Server to Listen on a Specific TCP Port

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