我可以在内存中运行LocalDb吗?

Law*_*nce 6 localdb

我在集成测试环境中使用LocalDb - 在我的测试运行之前和之后实例化和处理我的实例.

但是,当我在我的实例中创建数据库时,它仍然将我的表和数据刷新到磁盘.是否可以在"内存"模式下运行LocalDb?如果是这样怎么样?

Ame*_*far 6

您可以对RAM磁盘中的数据库运行测试.我已经做了一段时间了,它似乎将集成测试性能提高了2或3倍!这是在带有SSD的MacBook Pro上托管的Windows 7 VM上.如果你有机械硬盘,你的milage可能会更好.

由于SQL Server允许您通过"AttachDbFileName ="在连接字符串中指定mdf文件,因此可以通过指向RAM磁盘中的mdf来利用它.

我使用的RAM磁盘设备驱动程序是ImDisk,可用于64位和32位Windows.Linux对手很多.


Krz*_*zyk 3

不。LocalDB 仍然是 SQL Server,并且在 SQL Server 中没有内存数据库的概念。所有数据库都是磁盘支持的,内存中的缓存位于它们之上。

您可以在测试工具中编写一个自定义步骤,以便在测试完成后删除数据库并删除数据库文件。如果您使用 TFS 进行构建和测试运行,也许它已经存在了?但 LocalDB 中没有任何东西可以使其自动化。

  • 我认为 SQL Server 2014 的内存中功能不包括内存中**数据库**。有内存中的**表**,但我知道即使数据库中的所有表都在内存中,数据库仍然由包含元数据等的文件支持。 (2认同)