sql LocalDB 的安装环境和使用方法
LocalDB
LocalDB专门为开发商。它是非常容易安装,无需管理,但它提供了相同的T-SQL语言,编程表面和客户端供应商定期的SQL Server Express。实际上,目标SQL Server不再需要安装和管理他们的笔记本电脑和其他开发机器的SQL Server Express全实例开发。此外,如果简单(和限制)LocalDB适合目标应用环境的需要,开发人员可以继续使用在生产中,为使一个很好的嵌入式数据库LocalDB池。
通过上文的了解,明白了LocalDB 相当于是一个比较小型的数据库,它没有SQL Server 那样繁复的安装过程和庞大的体积,相对于普通的数据库来讲,它可以称为很轻量级别的数据库。
接下来我会根据我目前的学习和了解,来学习一下这个localdb。
环境
一般来讲,localdb 是作为开发者来使用的,主要的作用就是用于满足开发这个的开发需求,所以从VS2012 和 SQL Server 2008 一般都自带有localdb了 ,这两款自带的组件的localdb 版本是 sql localdb 2012 查询的版本号为v11.0。
这个版本localdb 是没有默认实例。
后面自带的版本的有 VS 2013~2017 这里到目前的sql localdb的版本是2012~2016版本,从VS2013 自带的local 2014版本之后,到目前我所了解到的最新版本local 2017 都是有一个默认的实例名MSSQLocalDB。这个实例是可以直接使用的。
接下来我们讲一下,一般在不安装任何VS 和SQL server的 安装环境,这里的windows 系统,分别是win7 和 win10 。
这里我推荐使用的是localdb 2016这个版本,因为我本机装的vs2017 ,自带的这个版本,这个版本的localdb 相较于其他的版本在我测试了很多次之后,发现这个版本是最好使用的一个版本。
要达成localdb 2016的使用,目前我发现的环境,只需要满足两个条件就可以一台完全干净的windows (这里我指的是win7 和win10 我都测试过可以ping 通数据库)系统下使用,这两个环境分别是.net 4.0 和 Microsoft SQL Server 2012 Native Client 。
使用方法
localdb 的使用方法,虽然网上很多,但是我还是贴出来。(这里注意所有的CMD命令都要管理员运行)
查询所有 实例

sqllocaldb i 查询当前所有的实例(包括共享名)
要是查单独的 sqllocaldb i (你要查询的实例名)

这里如果状态是启动的,那么就会有实例管道名(实例管道名可以),这里的自动创建指的是 是不是localdb 自带的实例名,没有影响。
这里我们创建一个新的来完整的测试一遍。
1、创建一个新的实例名
sqllocaldb c MyLocaldb
2、启动这个实例名
sqllocaldb s MyLocaldb
3、 查看实例名详情
sqllocaldb i MyLocaldb
4、停止这个实例名
sqllocaldb p MyLocaldb
5、删除这个实例名
sqllocaldb d MyLocaldb
在创建,并启动实例名之后,我们可以直接通过 (localdb)\MyLocaldb 然后通过windows用户来访问数据库。
这里我推荐使用Navicat Premium 来测试连接是否成功。在熟练之后,就可以不使用这个, 直接去试了。
配置文件的写法参考。
在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
共享实例名
这里特别提一下共享实例名
共享实例名要用到的情况是你同时有几个进程同时需要访问这个数据库的话,那么会发生占用的情况,这种情况就需要共享实例名来处理这个问题了。
共享实例名的使用方法。
1、声明一个共享实例名。
sqllocaldb h "MyLocaldb" "mylocaldb"
这样我们就可以通过共享实例名mylocaldb来访问到实例名MyLocaldb 了
2、访问共享实例名
(localdb)\.\mylocaldb
(这里创建完了共享实例名有时候会出现访问超时,或者找不到这个共享名。这里我查过官方的说法是这个会有一丢丢延迟,要等一会才能访问,我一般的做法是重启电脑就能访问)
3、停止共享实例名
sqllocaldb u .\mylocaldb
停止完了就不能使用了。
一般要
// 使用SSMS连接工具连接时,也要使用管理员权限打开.实例名变成 (localdb)\.\mylocaldb 第一个\后面的.\mylocaldb 就是共享实例别名
为什么上面的SSMS要使用管理员工具打开,因为下面的验证方式是帐号密码形式的,如果使用WINDOWS验证,则不需要.

给LOCALDB设定连接帐号
到这步之后,将WEB程序的连接字符串写成指定帐号和密码的这种,结果依然不能访问,还是没有权限,
server=(localdb)\.\mylocaldb;uid=sa;pwd=123456;AttachDbFileName=D:\Data\MyDB1.mdf
查看数据库帐号,发现LOCALDB并没有SA这个帐号,于是加上它,并且给于 DB_OWNER

除了这种方法之外,还有一种不用设置sa的方法,但是我目前只用用于在服务之中调用的方法,
如果你同时使用windows服务访问这个数据库,可以尝试一下这个方法,
在安装完成之后,找到这个服务,然后切到登录,到下面红框里面输入,管理员账号的账号和密码。然后重启服务。

补充的内容
localdb 创建的实例名所在的文件夹(这里可以查看log)
C:\Users\XXX\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances
这里存着所有的实例名,如果删除实例名之后,可以来这里检查一下, 有没有删除,没有的话,你就帮帮忙,因为localdb 的删除不是很给力。
localdb 启动文件。(你所有的命令都是它在执行。)
C:\Program Files\Microsoft SQL Server\\Tools\Binn
这里的110是不一定的,是跟你安装的localdb 版本来的,比如 localdb 2012就是110,2016就是130 ,如果你电脑装着多种版本的localdb ,有一句语法可以指定使用哪个版本
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
根据你的版本调整数值。
以上就是目前我对sql localdb 的全部了解。基本都能在网上找到,我这里只是做个一个学习的总结。
主要参考了:
https://www.cnblogs.com/mirrortom/p/5946817.html
https://blog.csdn.net/Holmofy/article/details/77917999?utm_source=blogxgwz9
sql LocalDB 的安装环境和使用方法的更多相关文章
- 初试WIX加SQL LocalDB
最近有个项目需要生成一个自动打包安装App和数据库的MSI文件,经同事推荐WIX,于是乎就试了一试.遇到了一些问题觉得有分享的价值,所以写篇博客记录一下 :) 使用感觉: WIX特点:功能很强大,用X ...
- VS2017使用 SQL Localdb问题两则
VS2017使用 SQL Localdb问题两则 来博客园不算短了,总是索取者.最近使用VS2017,遇到一些问题,在解决时总是找不到拿来就能用的解决方案,在多方寻找,自行探索下,总算圆满解决,在这 ...
- SQL的OPENROWSET开启和使用方法
[转载]SQL的OPENROWSET开启和使用方法 1.开始 -> 所有程序 -> Microsoft SQL Server 2005 -> 配置工具 -> SQL Se ...
- Sql Server 2012 的新分页方法分析(offset and fetch) - 转载
最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset ...
- 最简单删除SQL Server中所有数据的方法
最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间 ...
- SQL Server日志文件庞大收缩方法(实测好用)
原文:SQL Server日志文件庞大收缩方法(实测好用) 这两个命令连续执行,间隔时间越少越明显(可多次运行),直到达到效果 --截断 BACKUP LOG CloudMonitor TO DISK ...
- 需要我们了解的SQL Server阻塞原因与解决方法
需要我们了解的SQL Server阻塞原因与解决方法 上篇说SQL Server应用模式之OLTP系统性能分析.五种角度分析sql性能问题.本章依然是SQL性能 五种角度其一“阻塞与死锁” 这里通过连 ...
- SQL Server 性能优化之——系统化方法提高性能
SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...
- Oracle SQL 基本操作之 用户权限管理方法
Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...
随机推荐
- 自动获取淘宝API数据访问的SessionKey
最近在忙与淘宝做对接的工作,总体感觉淘宝的api文档做的还不错,不仅有沙箱测试环境,而且对于每一个api都可以通过api测试工具生成想要的代码,你完全可以先在测试工具中测试之后再进行代码的编写,这样就 ...
- Tensorflow 又要升级了。Nvidia驱动升级,牵一发而动全身
如题. 以前好好的,在宿主主机上,升级了下Linux的内核到4.15.0-13 Ubuntu16.04 以前的nvidia 驱动竟然也调了.用tensorflow 的GPU加速,必须使用nvidia ...
- Redis相关面试题
Reids:单线程+io多路复用机制 Redis与Memcached的区别: 一.memcached值是简单字符串,redis支持hash.set.list等复杂数据类型 二.redis可持久化数据, ...
- 627.Swap Salary-(LeetCode之Database篇)
问题描述 给出下面的表,名为salary. id name sex salary 1 A m 2500 2 B f 1500 3 C m 5500 4 D f 500 要求执行一个UPDATE语句,将 ...
- Android开发之旅(1) 之 Android 开发环境搭建
工作室原创出品,欢迎转载,欢迎交流. 转载请注明原文:http://www.cnblogs.com/wangleiblog/p/6019063.html Android开发之旅目录 1 前言 很多朋友 ...
- Elasticsearch的使用
我这边是以elasticsearch-2.4.3为例:引入maven <dependency> <groupId>org.elasticsearch.client</gr ...
- docker命令总结
用 docker pull 拉取镜像 root@lishichao-virtual-machine:~# docker pull hello-world Using default tag: late ...
- smobiler介绍(一)
如果说基于.net的移动开发平台,不得不自我推荐下smobiler,不用学习另外一套开发模式或者搭建复杂的开发环境,smobiler能够让大家像开发传统windows一样去开发移动应用,那么列举一下平 ...
- 50道SQL练习题及答案与详细分析!!!
以前在学校还没有很认真地意识到,现在到了企业才发现sql是那么的重要,看到网上有很多的sql 练习题,特地拿来练练手! 数据表介绍 --1.学生表 Student(SId,Sname,Sage,Sse ...
- 黑马程序员_ADO.Net(ExecuteReader,Sql注入与参数添加,DataSet,总结DataSet与SqlDataReader )
转自https://blog.csdn.net/u010796875/article/details/17386131 一.执行有多行结果集的用ExecuteReader SqlDateReader ...