SQL Server连接字符串 - 点(“。”)或“(本地)”或“(localdb)”

时间:2013-11-26 12:47:11

标签: database sql-server-2008 sql-server-2008-r2 sql-server-2012 connection-string

我最近不得不安装SQL Server并将数据库恢复到2台笔记本电脑,第一次花了我几天时间弄清楚,第二次我还在苦苦挣扎。

我在这两个地方都收到了这个错误:

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

我仍然在第二次接受它。

我做了很多研究并遵循StackOverflow和其他网站上列出的所有步骤,例如确保SQL Server运行TCP和命名管道,确保SQL Server允许远程连接,以及我能找到的所有其他故障排除步骤。

最后,我发现我只是在第一台笔记本电脑上输入错误的连接字符串。我试图使用(localdb)\MSSQLSERVER2012(或类似的东西),就像在许多网站上所说的那样。我使用.\MSSQLSERVER2012时就开始工作了。我以为他们都指向同一个地方,但显然不是。

我真的想再次避免这个问题,弄清楚如何设置我的第二台笔记本电脑。我怎么知道我是否应该使用.\SQLSERVER2012(local)\SQLSERVER2012(localdb)\SQLSERVER2012等?有没有一种简单的方法可以使用像SqlLocalDb这样的命令行工具来解决这个问题?这首先是如何设置的?

1 个答案:

答案 0 :(得分:51)

.(local)以及YourMachineName都是等效的,指的是您自己的机器。

(LocalDB)\instance仅限SQL Server 2012 Express

其他部分取决于您的安装方式 - 如果使用实例名称进行安装 - 那么您需要拼写该实例名称(默认情况下为SQL Server Express 使用SQLEXPRESS实例名称,而其他版本的SQL Server将尝试使用没有任何特殊名称的默认实例。)

因此,对于安装了本地计算机上所有默认选项的“普通”SQL Server,请使用

.    or   (local)     or          YourMachineName

对于安装了所有默认设置的SQL Server Express ,请使用

.\SQLEXPRESS    or   (local)\SQLEXPRESS     or          YourMachineName\SQLEXPRESS

如果您查看SQL Server配置管理器(从开始菜单启动它),您将看到:

enter image description here

如果SQL Server条目读取(MSSQLSERVER)那么那是默认实例(没有任何名称) - 否则你会在括号中看到实例名称