关于LOCALDB的详细文档说明,包含安装,链接,共享链接等操做 https://technet.microsoft.com/zh-cn/hh510202sql
目的:数据库
调试程序没有安装 sql server时,可使用localdb.这是一个简易的sql server数据库,用于本地测试是很方便,省去安装SQL SERVER的工做浏览器
环境:服务器
安装了VS2013 VS2015 MSSM2016,但没有安装sql server. W10系统工具
安装:localdb测试
安装VS2015以后,就有了localdb2016 VS2013大概是2014 ,ui
另外localdb2014有单独的安装包,而2016则没找到.VS2015的安装包里有LOCALDB2016的MSI文件,可是安装以后却没法使用.spa
使用命令查看版本,以下:3d
使用:调试
了解到localdb这个东西已经安装了,但一时不知道如何使用.网上找答案使用方式以下:
1.打开CMD,使用sqllocaldb.exe 这个命令
sqllocaldb.exe i // 查看已经有的localdb的实例
sqllocaldb.exe v // 电脑上安装的localdb的全部版本
sqllocaldb.exe s [实例名] // 启动这个实例
sqllocaldb.exe -? // 这个命令的帮助信息
2.如何使用MSSM链接这个实例:
打开MSSM,服务器名称那里输入 (localdb)\MSSQLLocalDB // 括号里面是 localdb 这个多是固定的,我没改 反扛后面就是实例的名字.
而后就链接上了,能够建库建数据了
3.这个链接字符串的server值也要写成这种
server=(localdb)\MSSQLLocalDB
4.链接串:
在ASP.NET程序中配置的链接字符串以下:
// 指定链接到这个数据库文件MDF
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf
// 不指定到MDF文件路径,指定默认数据库名
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true;Initial Catalog=MyDB1"
// 相似第一种
Data Source=(localdb)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf
// 指定用户名和密码(目前使用这是这种,简单明了)
server=(localdb)\MSSQLLocalDB;uid=sa;pwd=123456;Initial Catalog=MyDB1
使用这几种链接串在VS中使用IISEXPRESS调试时,没有问题,可是发布到IIS中,却链接不上数据库.由于访问权限的问题.细节请看文章第一行连接.
解决办法是:
1.将应用程序池的权限改成localsystem 这个投机的办法,比较省事.可是问题仍是不少.
2.打开LocalDB 实例共享:(这个总结起来就是,给LOCALDB开共享实例,给LOCALDB设定链接账号,这是测试可行的办法)
给LOCALDB开共享实例
// MSSQLLocalDB:实例名 mylocaldb 为实例名取的共享实例别名,其它账户链接时经过这个别名 (命令窗口要使用管理员权限那种)
>sqllocaldb h "MSSQLLocalDB" "mylocaldb"
// 使用MSSM链接工具链接时,也要使用管理员权限打开.实例名变成 (localdb)\.\mylocaldb 第一个\后面的.\mylocaldb 就是共享实例别名
为何上面的MSSM要使用管理员工具打开,由于下面的验证方式是账号密码形式的,若是使用WINDOWS验证,则不须要.
给LOCALDB设定链接账号
到这步以后,将WEB程序的链接字符串写成指定账号和密码的这种,结果依然不能访问,仍是没有权限,
server=(localdb)\.\mylocaldb;uid=sa;pwd=123456;AttachDbFileName=D:\Data\MyDB1.mdf
查看数据库账号,发现LOCALDB并无SA这个账号,因而加上它,而且给于 DB_OWNER
最后,在浏览器中打开程序,发现链接成功,网页打开了..