什么是LocalDB

  随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本。LocalDB专门为开发人员创建,它非常易于安装,几乎无需管理,兼容T-SQL语言,编程接口与SQL Server Express别无二致。有了LocalDB,开发人员就不需要在自己的笔记本上安装和维护一个庞大的SQL Server实例了。另外,LocalDB也适用于小型应用环境,开发人员可以将其用于小型生产环境或者嵌入式环境。

为开发人员量身定制

  我们在关注LocalDB的技术细节之前,首先来了解一下构建LocalDB的背景。一直以来,SQL Server Express满足了我们两方面的需求。它既是免费版的SQL Server,又具有足够强大的功能,与其它版本相兼容。当然,它的能力也存在一些限制,即它的每个数据库的存储容量不能超过10G。SQL Server作为一个成熟的数据库产品,其Express版本依然具有相当的复杂度。但作为开发人员,我们更希望降低管理复杂度,专注于开发。LocalDB的开发目标由此形成,它是轻量级的SQL Server Express,为开发人员量身定制。

核心技术特性

  说了这么多,现在让我们来看看LocalDB的核心技术特性:

  1)兼容其它SQL Server版本,使用sqlservr.exe作为服务进程,使用相同的客户端访问接口(如ADO.NET、ODBC或PDO),兼容T-SQL编程语言。

  2)在同一台计算机上不必安装多个LocalDB,不同的应用程序可以并行执行多个LocalDB进程,但所有的进程都是从同一个可执行文件(sqlservr.exe)启动的。

  3)LocalDB不会创建任何系统服务,LocalDB进程会根据需要自动启动、停止。应用程序只需连接“Data Source=(localdb)\ MSSQLLocalDB”,LocalDB就会作为应用程序的子进程启动。随着连接的终止,LocalDB进程也会随之停止。

  4)LocalDB支持AttachDbFileName属性,允许开发者指定数据库文件位置。例如:

    Data Source = (localdb)\ MSSQLLocalDB;

    Integrated Security = true;

    AttachDbFileName = C:\MyData\Database1.mdf

轻量级数据库对比(LocalDB vs. SQL Express vs. Compact)

  LocalDB并不能完全替代SQL Server Express,它只是对开发人员提供了另外一种选择,并保证与SQL Server Express一致的兼容性。

  LocalDB与SQL Server Compact之间有很大区别:

  1) 运行模式:SQL Server Compact是一个进程内(in-proc)DLL,LocalDB则作为独立进程运行。

  2)磁盘占用:SQL Server Compact的体积仅有4MB,LocalDB安装之后则有140MB。

  3) 功能特性:SQL Server Compact仅提供RDBMS的核心功能,而LocalDB则提供更丰富的功能,比如存储过程、几何和地理数据类型。

最后的说明

  LocalDB作为一个功能丰富的轻量级数据库,是否提供了良好的管理接口?

  答案是肯定的。LocalDB提供了一个命令行管理工具SqlLocalDB.exe,我们也可以SQL Server Management Studio(SSMS)管理LocalDB,也可以使用Visual Studio 2012开发工具(及其以上版本)内部自带的简版SqlServer管理工具。

  现在Visual Studio 2012+开发工具,安装后都默认都安装了LocalDB,根据VS版本不同,相应的LocalDB版本就不同。

以上内容根据下面网址提供的内容进行了整理。

原文英文地址:

https://blogs.msdn.microsoft.com/sqlexpress/2011/07/12/introducing-localdb-an-improved-sql-express/

原文中文地址:

http://www.csdn.net/article/2012-03-29/313675

LocalDB:微软的新生代轻量级数据库的更多相关文章

  1. 无需部署的轻量级数据库—SQLLite,使用Demo

    当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—SQLLite是一个很好的选择,只需引用System.Data.SQLite.DLL,无需部署数据库,便可像拥有数据库一样保存数据, ...

  2. 轻量级数据库sqlite的编译

    sqlite是很多客户端程序所使用的一种轻量级数据库,但是目前没有lib文件,只有源码和dll文件,我们可以利用VS工具生成lib,然后在应用程序中使用. (1)下载地址 http://www.sql ...

  3. h2database轻量级数据库

    h2和derby一样,都是轻量级数据库,h2比derby还要轻巧,核心jar包不到1M.性能效率等等方面都非常好(前提不是高并发,高数据量) 轻量级数据库的应用出其不意,可以完成很多以前常规开发中无法 ...

  4. IOS中使用轻量级数据库

    IOS中使用轻量级数据库 目录 概述 IOS中的轻量级数据库 sqlite的方法 数据库的实用操作 第三方类库 FMDatabase 概述 IOS中的轻量级数据库 sqlite的方法 sqlite3 ...

  5. 桌面轻量级数据库的选择:Access、SQLite、自己编写?

    1. Access我们做小项目的时候特别是小的MIS系统一般也都要用数据库来保存数据.经观察大部分的小系统都是用Access数据库,有的系统为了掩盖数据库的类型,把数据文件后缀名改了,其实只要改回到m ...

  6. 【转】LokiJS:纯JavaScript实现的轻量级数据库

    原文转自:http://www.html5cn.org/article-7091-1.html LokiJS一个轻量级的面向文档的数据库,由JavaScript实现,性能高于一切.目的是把JavaSc ...

  7. 当当开源sharding-jdbc,轻量级数据库分库分表中间件

    近期,当当开源了数据库分库分表中间件sharding-jdbc. Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据 ...

  8. (转)轻量级数据库 SQLite

    SQLite Expert – Personal Edition SQLite Expert 提供两个版本,分别是个人版和专业版.其中个人版是免费的,提供了大多数基本的管理功能. SQLite Exp ...

  9. 一个基于EntityFramework Core的简单数据库访问层,适用于轻量级数据库业务

    这个访问层的代码实际上是园子里某个前辈的,本人只是觉得好使,记录了下来. 本访问层需要通过Nuget安装EntityFramework Core,不过个人认为EF 6同样可以使用. 搭配数据库,最好是 ...

随机推荐

  1. vi 卡住怎么办

    http://zhidao.baidu.com/question/93283359.html ---------- 我貌似好像按了ctrl+s... 用惯了windows人,会习惯性地按Ctrl+S来 ...

  2. 关于js内部运行机制的一本好书

    读<单页Web应用一书>,第二章讲了js内部运行机制,感觉棒极了.之前读<你不知道的js>,看的云里雾里,似懂非懂.没想到单页Web一书将此内容讲的如此通俗易懂,好多困惑已久的 ...

  3. iOS xcode6 添加.pch文件

    1, 新建文件 (command+N)选择other组,再次选择pch,输入文件名保存. eg: 创建的工程为Demo; 创建文件名为DemoPrefixHeader.pch 2,到工程里面的buil ...

  4. Session自定义存储及分布式存储

    默认情况下,PHP 使用内置的文件会话保存管理器(files)来完成会话的保存.我们无需设置,PHP默认将session以文件的形式保存到服务器. 通过调用函数 session_start() 即可手 ...

  5. Atitit.软件中见算法 程序设计五大种类算法

    Atitit.软件中见算法 程序设计五大种类算法 1. 算法的定义1 2. 算法的复杂度1 2.1. Algo cate2 3. 分治法2 4. 动态规划法2 5. 贪心算法3 6. 回溯法3 7. ...

  6. Netty权威指南

    Netty权威指南(异步非阻塞通信领域的经典之作,国内首本深入剖析Netty的著作,全面系统讲解原理.实战和源码,带你完美进阶Netty工程师.) 李林锋 著   ISBN 978-7-121-233 ...

  7. hibernate(七)组件映射与多对一映射

    一.组件映射 用注解配置组件映射: Husband为我们映射的类,wife是这个类的一部分(属性不能与husband中属性重名,不要写Entity注解,不要有主键) Husband类:(在getWif ...

  8. poj3422 Kaka's Matrix Travels(最小费用最大流问题)

    /* poj3422 Kaka's Matrix Travels 不知道 k次 dp做为什么不对??? 看了大牛的代码,才知道还可以这样做! 开始没有理解将a 和 a‘ 之间建立怎样的两条边,导致程序 ...

  9. poj1330Nearest Common Ancestors 1470 Closest Common Ancestors(LCA算法)

    LCA思想:http://www.cnblogs.com/hujunzheng/p/3945885.html 在求解最近公共祖先为问题上,用到的是Tarjan的思想,从根结点开始形成一棵深搜树,非常好 ...

  10. CentOS yum安装Apache + PHP + Tomcat7 + MySQL

    Linux平台上用得最多的web环境就是php.java和MySQL了,会搭建这个环境,就能把很多开源程序跑起来. 作为一个程序猿,虽然并不用精通运维的活,但基本的Linux环境搭建还是要掌握比较好, ...