背景:个人电脑中使用的是VS2012,数据库为2008R2,最近需要打开一个SqlServer2012的数据库
如果在本机安装一个2012的数据库可能比较浪费时间,本来是想在如万网等服务商那边购买一个2012的数据库来使用的,但发现目前的服务商最高提供的数据库为2008R2
既然不想安装新的数据库版本那就只能在现在的环境中想办法了,还好在VS2012中提供了一个本地的数据库引擎于是尝试通过2012 localdb来附加现有的数据库
经过一番摸索终于解决:
在使用Sqlserver2012 Express Localdb之前需要安装sqllocaldb(大概只有几分钟时间)

原理:因为在Vs数据库管理中是无法直接附加数据库的,所以通过在Vs中建立的数据库并将你的数据库替换掉Vs中建立的数据库来实现的
VS2012中提供了一个本地的数据库引擎 SQL Server 2012 Express LocalDB ,通过VS2012可以很方便的管理和使用本地数据库
但Localdb的实例名跟之前的实例是有区别的来连接时使用(localdb)实例名如(localdb)v11.0[v11.0是localdb默认的一个实例名]

1.通过Vs2012在V11.0实例中添加一个新的数据库如:Test,Test数据库默认地址为“C:Users你的用户 名AppDataLocalMicrosoftMicrosoft SQL Server Local DBInstancesv11.0”

2.关闭vs2012程序并结束sqlserver服务,并将要使用的数据库(DB2012)的.mdf和.ldf文件复制到上面的Test数据库文件夹中
如果没有关闭Vs或Sqlserver服务在更改数据库文件时不可能会出现以下错误

3.将Test数据库删除或更名(.mdf和.ldf)

4.将你的数据库DB2012更名为Test(.mdf和.ldf)实现数据库的替换
5.重新打开VS2012将连接到v11.0实例中就可以看到Test数据库中的信息是之前DB2012的信息了

参考: