其实你有三个选择。您没有描述的选项是您使用 SSMS 创建数据库,然后设置到文件的连接并选择由 SSMS 创建的 MDB 文件(您可能需要首先使用 SSMS 卸载数据库来获取SQL Express 来释放它的文件锁)。当您创建到文件的此连接时,系统将提示您是要连接到它所在的位置,还是将其添加到您的项目中。
本地数据库可以采用两种形式,具体取决于您创建它的方式。有关详细信息,请参阅如何:管理项目中的本地数据文件。
客户端-服务器,SQL Express
如果您使用 SSMS 设置数据库并通过 SQL Express 连接到它,那么您的项目中没有本地数据库,您有一个服务器恰好位于工作站本地的数据库。
本地数据库,SQL Express
如果您使用 SSMS 设置数据库,卸载数据库并将文件添加到项目中,那么您将拥有一个使用 SQL Express 私有实例的本地数据库。
本地数据库,精简版
如果您使用 Visual Studio 菜单创建一个新数据库,您将拥有一个本地精简版数据库。
SQL Express
当 Visual Studio 启动调试时,将启动 SQL Server Express 的私有命名实例,并且应用程序使用共享内存而不是网络协议与之通信。
但是,绝对没有什么可以阻止您安装作为服务运行的 SQL Express 实例。您可以挂载相同的数据库文件(或它的副本)并使其可用于网络。您甚至可以将它安装在 SQL Standard 甚至 SQL Enterprise 的实例上。
那你为什么要搞砸本地实例呢?它对多开发人员团队具有优势,因为开发人员可以在不干扰其他人的情况下更改他们的架构。它允许开发桌面(而不是网络)软件,尽管在当今时代,对该功能的需求正在减少。
根据您在开发环境中拥有多少硬件,我个人不会使用本地数据库。SQL Server 是一个内存猪,我宁愿它在一个完全独立的盒子上运行。
一些注意事项
- 除了 Compact 和 Micro 版本之外,所有版本的 MSSQL 的 TSQL 都是完全相同的。
- 在环境方面,SQL Express 将数据库大小限制为 4G,尽管我相信 R2 会增加到 8G。这对开发来说不太可能很重要,但可能会影响测试人员。
- 某些 SQL Server Reporting Services 功能在较便宜的版本中不可用。
SQL Server 精简版
这方面的信息非常少。Microsoft 的版本比较不考虑 Compact 或 Micro 版本。Compact 版网页上的一些宣传语声称完全兼容 TSQL。SDF 是一个多合一文件;没有单独的日志文件。从 SDF 到客户端-服务器的路径肯定不如 SQL Express 直接,但它似乎是一个受支持的选项,因为 msdn 中有关于此主题的文章。
复制工具可用于精简版,因此它可以用作偶尔连接的系统(又名公文包模型)中的本地数据库缓存。公文包模型需要更仔细的整体系统设计,但它有很多优点:单用户独立系统的所有性能和简单性以及客户端-服务器系统的大部分优点。
结论
出于您的目的,我会选择精简版选项。其他解决方案的开销和复杂性旨在解决您没有也不会遇到的问题。它们旨在解决具有正式发布周期的网络化、大规模环境中的团队开发问题。
你很幸运,你可以保持简单。无论如何,Visual Studio 中的工具更好。