背景:个人电脑中作用的是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默认的一个实例名]
连接字符串参考: http://www.connectionstrings.com/sqlconnection/
1.通过Vs2012在V11.0实例中添加一个新的数据库如:Test,Test数据库默认地址为“C:/Users/你的用户名/AppData/Local/Microsoft/Microsoft SQL Server Local DB/Instances/v11.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的信息了
参考:
SQL Server 2012 Express LocalDB 介绍
Sqlserver 2012 LocalDB 连接字符串
来自为知笔记(Wiz)