localdb

类似于sqlite (不支持存储过程)

导读:LocalDB是SQL Server 2012带来的新特性,它是一个专门为开发人员量身定制的轻量级数据库。本文将为您讲解LocalDB的开发背景,展示其核心特性,并看看它与微软的其它轻量级数据库到底有何不同。

什么是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的核心技术特性:

  • 兼容其它SQL Server版本,使用sqlservr.exe作为服务进程,使用相同的客户端访问接口(如ADO.NET、ODBC或PDO),兼容T-SQL编程语言。
  • 在同一台计算机上不必安装多个LocalDB,不同的应用程序可以并行执行多个LocalDB进程,但所有的进程都是从同一个可执行文件(sqlservr.exe)启动的。
  • LocalDB不会创建任何系统服务,LocalDB进程会根据需要自动启动、停止。应用程序只需连接“Data Source=(localdb)\v11.0”,LocalDB就会作为应用程序的子进程启动。随着连接的终止,LocalDB进程也会随之停止。
  • LocalDB支持AttachDbFileName属性,允许开发者指定数据库文件位置。例如:
  1. Data Source = (localdb)\v11.0;  
  2. Integrated Security = true;  
  3. AttachDbFileName = C:\MyData\Database1.mdf 

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

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

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

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

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

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

最后的思考

LocalDB作为一个功能丰富的轻量级数据库,绝对值得我们去尝试。接下来,我们也许会思考,LocalDB是否提供了良好的管理接口?答案是肯定的。

LocalDB提供了一个命令行管理工具SqlLocalDB.exe。下次,就让我们一起来探讨如何使用命令行实用工具SqlLocalDB.exe和SQL Server Management Studio(SSMS)管理LocalDB。(张志平/编译)

原文链接:Introducing LocalDB, an improved SQL Express

下载链接:SQL Server 2012 Express & LocalDB

 

LocalDB并不是要取代SQL快捷版,而是要让开发者能够花费最少的精力来开发应用程序。微软会继续为用户提供免费的SQL Server快捷版,他们可以在上面运行小型的评估项目,数据库大小的限制为10GB

 

 

posted on 2012-08-29 10:12  http  阅读(7861)  评论(2编辑  收藏  举报

导航