Visual Studio 2013不会创建SQL Server 2014 LocalDB数据库

时间:2014-11-17 16:22:47

标签: sql-server visual-studio visual-studio-2013 localdb

我正在开发Visual Studio 2013社区中的VB.NET项目(感谢MS)。我的机器上安装了SQL Server 2014 LocalDB(以防万一,前往MS网站并获得最新和最好的LocalDB副本)。已将Service-based Database添加到我的项目中。在数据库对象的属性中,连接字符串为Data Source=(LocalDB)\v11.0;...,这意味着它使用的是旧版本的数据库。试图修改连接(服务器资源管理器>右键单击我的数据库>修改连接>高级>),但没有一个选项指向正确的服务器。

根据MS documentation,正确的字符串应为"Server=(localdb)\MSSQLLocalDB;..."

还有其他人面临同样的问题吗?任何解决方法?

3 个答案:

答案 0 :(得分:3)

LocalDB实例位于以下文件夹中:

%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances

实例很可能只是V12V12.0ProjectsV12(这是我对SQL Server 2014 LocalDB所拥有的)

因此,假设您拥有“ProjectV12”实例文件夹,则服务器名称为:

(localdb)\ProjectV12

答案 1 :(得分:3)

我找到了解决方案。

删除现有数据库。创建了一个新的数据库SQL Server Management Studio 2014.将其放在solutions文件夹中。通过服务器资源管理器连接到该数据库:将Server Name:设置为(localdb)\MSSQLLocalDB,将Attach a database name:设置为.mdf文件。

答案 2 :(得分:2)

上面的新版“解决方案”肯定会奏效,从长远来看可能会让生活变得更轻松。

但是,我刚刚使用这篇文章中的指示直接解决了同样的问题: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b75bef7e-13f3-4658-8d43-9df12ab4c320/connecting-localdb-using-sql-server-management-studio-express 寻找ReadyRoll的2012年8月26日回答,虽然我正在下面复制他的指示以保持安全。

如果在Visual Studio解决方案中工作时创建数据库,VisualStudio会创建一个LocalDb实例。但是,从Management Studio Express的角度来看,“服务器名称”是一个奇怪的字符串。

来自ReadyRoll的MSDN帖子:

1. Get the address of a (localdb) instance by running the following command:

"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe" info [InstanceName]
(if its the default instance you're interested in, specify v11.0 as the [InstanceName]

2. Copy the value returned in the "Instance pipe name", e.g. np:\\.\pipe\LOCALDB#13E05E01\tsql\query

3. Add a new server registration in SSMS and paste the "Instance pipe name" value as the Server Name.
NOTE: It is not necessary to specify "Named pipes" as the protocol. SSMS should detect the appropriate protocol for you.

注意:我很难理解第3步。我刚刚将运行SqlLocalDb.exe的字符串粘贴到MSE Con​​nect to Server对话框的“服务器名称”字段中: enter image description here