了解 localDB 与 SQL Server Express 和 SQL Server CE 的关系

Posted

技术标签:

【中文标题】了解 localDB 与 SQL Server Express 和 SQL Server CE 的关系【英文标题】:Understand localDB is relation to SQL Server Express and SQL Server CE 【发布时间】:2016-09-14 18:57:13 【问题描述】:

我试图通过阅读 MSDN: SQL Server 2016 Express LocalDB 和 MSDN: SQL Server Express LocalDB and SQL Server Express 以及包括 confusion about SQL Server Express and localdb 在内的一些 SO 帖子来理解 LocalDB,但我仍然无法理解 LocalDB 是什么。我了解并使用过 SQL Server Express 和 SQL Server CE。

问题:

LocalDB...必要的 SQL Server 基础结构会自动 创建并开始

我的理解是,如果使用LocalDB来处理应用程序的数据库,无论是开发者还是部署应用程序的客户端机器都不需要安装较重的SQL Server Express,而只需要安装较轻的LocalDB。那么,如果没有 SQL Server Express 安装,localDB 如何“创建(d)和启动(ed)”SQL Server?如果是本地数据库

...安装后,LocalDB 是 SQL Server Express 的一个实例,可以创建和打开 SQL Server 数据库。数据库的系统数据库文件存储在用户的本地 AppData 路径中,该路径通常是隐藏的。

如果开发人员或客户端可以在不安装 SQL Server 的情况下使用 localDB,那么 localDB 怎么可能是未安装的实例?或者 localDB 是一个不完整的 SQL Server Express 版本,不需要单击..单击..单击.. 进行配置。本质上,localDB 的工作方式类似于 SQL Server CE,其中 localDB 使用 AppData 中的一些隐藏“文件”来创建数据库,而 SQL Server CE 使用 dll 来生成数据库?

SqlLocalDB.msi 程序在计算机上安装必要的文件

如果客户端仍然需要安装 localDB(它不能与 SQL Server CE 等应用程序一起真正移植),那么为什么不直接安装 SQL Server Express?无论如何,localDB 或 SQL Server Express 都超过 100MB+ 并且需要单独安装,那么使用 localDB 有什么意义呢?

【问题讨论】:

localDB 仅用于开发。基本上是一个没有优化的轻量级 Sql Server。你不会想用它来处理大数据 我建议您在 dba.stackexchange.com 上提出这个问题 【参考方案1】:

LocalDB 是面向程序员SQL Server Express 版本,需要像SQL Server Express 一样安装。

与 SQL Server Express 不同,它安装为随 Windows 操作系统启动的 Windows 服务 - 但它仅在需要时启动(当您的应用程序启动时,或当您手动启动它时)使用SqlLocalDb 命令行工具)。

但 LocalDB IS SQL Server Express(不是精简版)。它使用相同的.mdf.ldf 数据库文件,例如SQL Server 的桌面/服务器版本,而不是SQL Server CE 的.sdf 文件格式。

【讨论】:

【参考方案2】:

我们在一个项目中使用了 localdb,在该项目中我们有使用笔记本电脑的现场代理。

    localdb 的功能比 SQL Server CE 好(我不记得究竟缺少了什么 CE,但它对项目很重要),您应该查看功能差异。

    李>

    另一个优点是数据库存储在用户文件夹中,这使得笔记本电脑的其他非管理员用户无法看到。这使我们能够在不混合数据的情况下重复使用甚至在用户之间共享笔记本电脑——这是一个不错的功能。

    最后,可以将 dbs(稍加努力)复制到开发/支持端并恢复/附加以进行故障排除。它们是完整的.mdf/.ldf 数据库文件。

您必须在安装产品后使用命令行(sqllocaldb 实用程序)创建实例。这只是我们安装应用程序的一部分。

【讨论】:

以上是关于了解 localDB 与 SQL Server Express 和 SQL Server CE 的关系的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2012 Express LocalDB

使用 SQL Server 2014 LocalDB 和 Visual Studio 2013 构建 LightSwitch 失败

009.Working with SQL Server LocalDB --在sql server localdb 上操作数据

LocalDB SQL Server 2014 Express 创建 2 个实例 (localdb)\ProjectsV12 & (localdb)\MSSQLLocalDB?

LocalDB SQL Server 2014 Express 创建 2 个实例 (localdb)\ProjectsV12 & (localdb)\MSSQLLocalDB?

Unable to connect to localDB in VS2012 – “建立与 SQL Server 的连接时发生网络相关或特定于实例的错误...”