LocalDB:微软的新生代轻量级数据库
Refer:
http://www.csdn.net/article/2012-03-29/313675
摘要:什么是LocalDB 随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本。 LocalDB专门为开发人员创建,它非常易于安装,几乎无需管理,兼容T-SQL语言,编程接口与SQL Server Express别无二致。 有了LocalDB,开发人员就不需要在自己的笔记本上安装和维护一个庞大的SQL Server实例...
导读: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属性,允许开发者指定数据库文件位置。例如:
- Data Source = (localdb)\v11.0;
- 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之间有很大区别:
运行模式: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。(张志平/编译)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述