将LINQPad连接到远程SQL Server

时间:2011-08-10 12:25:35

标签: sql-server-2005 database-connection linqpad

免责声明:我理解这个问题非常基础,但我无法在谷歌或此处找到答案,也无法通过猜测配置自行完成。

我想开始使用LINQPad,我在同一个域中的不同机器上安装了SQL Server 2005。但我无法从LINQPad连接到该服务器。

以下是截图: Fail to connect

我将什么作为服务器字符串?

非常感谢提前!

更新1: SERVERNAME\MSSQLSERVER确实有所作为。而不是错误

  

26(找不到服务器实例)

我收到错误

  

25(连接字符串不正确)

我尝试了两种不同的SQL Server:生产服务器上的SQL 2005和本地计算机上的Sql Server 2008 R2,我尝试过Windows身份验证和SQL身份验证。它没有任何区别。 但我可以使用带有Windows和SQL服务器身份验证的MS SQL Server Management Studio连接到服务器(2005和2008)。并且它不是SQL Server权限问题 - 我已尝试SA用户进行连接。它适用于,但不适用于LINQPad。

有什么建议吗?我需要更改SQL Server上的设置吗?

更新2:我找到了问题的解决方案。 在“服务器”字段中,我必须放置SERVERNAME\而不指定SQLEXPRESSMSSQLSERVER 不太直观=(

2 个答案:

答案 0 :(得分:6)

我找到了问题的解决方案。 进入Server字段我不得不放置“SERVERNAME”而没有任何SQLEXPRESS或MSSQLSERVER。 另外正如@sgmoore指出的那样,我可以输入“LOCALHOST”或“SERVERNAME”并将其连接起来。 显然这是SQL Server功能/ bug,与LINQPad无关。

UPD 您还可以使用“。”表示“localhost” enter image description here

答案 1 :(得分:2)

您必须知道所需计算机的名称以及SQL-Server实例的名称。例如,我有一台名为REB602的计算机,并且要在其上使用SQLEXPRESS(预先安装了许多版本的Visual Studio的SQL-Server实例),那么我输入的字符串是REB602 \ SQLEXPRESS或。\ SQLEXPRESS。格式基本上是< computer-name> \< instance-name>

我认为完整SQL-Server产品的默认实例名称是MSSQLSERVER,因此如果您不知道目标计算机上实例的名称,可以试试。

注意:由于超时,可能需要多次尝试才能建立连接。我不知道LinqPad是否允许你改变超时 - 我没有看到办法。今天早上在计算机REB602上测试我的答案时,我在LinqPad对话框底部进行了“测试连接”,取得了成功,但连接仍然超时。我不得不提出SSMS(SQL-Server Management Studio,SQL Server的IDE)来“预热”我的SQLEXPRESS实例。在那之后,LinqPad就像一个梦想。不要放弃第一次尝试:)