最近,我使用SQL Server Express安装程序和此指令将LocalDB从版本13升级到了版本14。。安装后,我停止了版本13的现有默认实例(MSSQLLOCALDB)并创建了一个新实例,该实例自动使用v14.0.1000服务器引擎。
我经常使用LocalDB进行数据库集成测试,即在我的xunit测试中,我创建一个(临时)数据库,该数据库在测试完成时将被删除。从新版本开始,很遗憾,由于以下错误消息,我的所有测试均失败:
尝试打开或创建物理文件'C:\ Users \ kepflDBd0811493e18b46febf980ffb8029482a.mdf'时,CREATE FILE遇到操作系统错误5(访问被拒绝。)
奇怪的是,mdf文件的目标路径不正确,C:\ Users \ kepfl和DBd0811493e18b46febf980ffb8029482a.mdf(这是单个测试的随机数据库名称)之间缺少反斜杠。通过简单的命令创建数据库CREATE DATABASE [databaseName]
-这里没有什么特别的。
在SSMS中,我看到数据,日志和备份的目标位置如下:
但是,当我尝试更新位置时,出现另一条错误消息:
如何更新默认位置,以便LocalDB能够再次创建数据库?很明显,LocalDB没有正确组合默认位置目录和数据库文件名-是否有我可以编辑的注册表项?还是其他?
在道格的回答和坟墓的评论后更新
根据这个Stackoverflow问题,默认位置也应该可以通过注册表更改。但是,如果我尝试找到相应的键“ DefaultData”,“ DefaultLog”和“ BackupDirectory”,则无法在注册表中找到它们。SQL Server v14是否重命名了这些注册表项,还是将这些信息移出了注册表?