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

Understand localDB is relation to SQL Server Express and SQL Server CE

我试图通过阅读MSDN: SQL Server 2016 Express LocalDB and MSDN: SQL Server Express LocalDB and SQL Server Express and a number of SO posts including confusion about SQL Server Express and localdb来理解LocalDB,但我仍然无法理解什么是LocalDB。我了解并使用过 SQL Server Express 和 SQL Server CE。

问题:

LocalDB...the necessary SQL Server infrastructure is automatically created and started

我的理解是,如果使用 LocalDB 来处理应用程序的数据库,开发人员和部署应用程序的客户端机器都不需要安装繁重的 SQL Server Express,而只需要安装更轻的 LocalDB。那么,如果没有 SQL Server Express 怎么安装 localDB "create(d) and start(ed)" SQL Server 呢?如果 localDB

... once installed, LocalDB is an instance of SQL Server Express that can create and open SQL Server databases. The system database files for the database are stored in the users' local AppData path which is normally hidden.

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

SqlLocalDB.msi program to install the necessary files on the computer

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

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

  1. localdb 的功能比SQLServer CE 好(我不记得具体缺少什么 CE,但它对项目很重要),你应该检查功能差异。

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

  3. 最后可以把dbs(稍微费点功夫)复制到dev/support端,restored/attached进行故障排除。它们是完整的 .mdf/.ldf 个数据库文件。

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

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

与 SQL Server Express 不同,它 不是 作为 Windows 服务安装,随您的 Windows OS 一起启动- 但它只会在需要时启动(当您的应用程序启动时,或者当您使用 SqlLocalDb 命令行工具手动启动它时)。

但是LocalDBISSQLServerExpress(不是精简版) .它使用相同的 .mdf.ldf 数据库文件,如 desktop/server 版本的 SQL 服务器,而不是 SQL 服务器 CE 的 .sdf 文件格式。