我们开发团队的每个成员都有一个应用程序数据库的副本,该数据库在SQL Server 2008 Enterprise SP1的本地版本上运行。每个人都可以通过在他们的web.config文件中指定他们的服务器和实例名来访问数据库,但为了最好地共享我们的web.config文件的开发者版本,我们通过使用集成安全性和设置服务器标准化了连接字符串的通用性财产到(当地)。这种策略适用于大多数64位Windows 7计算机,但在少数情况下(本地)无法识别。我们通过SQL Server配置管理器比较了设置(即确保启用了命名管道协议),并且我们尝试通过SQL Server客户端网络实用程序设置“(本地)”别名,但我们没有任何运气。为了在我们的连接字符串中使用(本地)需要做什么?
答案 0 :(得分:10)
尝试将实例的管道名称更改为“\。\ pipe \ sql \ query”。
您可以通过启动SQL Server配置管理器并导航到SQL Server网络配置>来找到该设置。 (实例名称)的协议,右键单击命名管道并选择属性。如果未启用命名管道,请确保在重新启动SQL Server服务之前启用它(请参阅@NoahHeldman的评论)。
当连接到默认实例(即没有实例名称)时,SQL Server使用默认端口1433和默认管道名称“\。\ pipe \ sql \ query”。将其更改回匹配应该(希望)修复它。
答案 1 :(得分:2)
数据库连接(本地)不起作用的那些机器可能就是这样,因为在数据库安装期间,实例名称设置为特定的,而不是默认的“默认实例”。您可以更改这些实例名称,这可能会解决此问题:http://coderjournal.com/2008/02/how-to-change-instance-name-of-sql-server/。
我认为这种情况发生在你已安装并运行SQL Server Express,然后安装SQL Server Developer Edition / Standard / etc ....但不是100%肯定,但从我记得,可能是这种情况。