我最近不得不安装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
这样的命令行工具来解决这个问题?这首先是如何设置的?
答案 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配置管理器(从开始菜单启动它),您将看到:
如果SQL Server
条目读取(MSSQLSERVER)
那么那是默认实例(没有任何名称) - 否则你会在括号中看到实例名称