将 SQL Server LocalDB 的默认实例从版本 12 更改为版本 13?

Changing the default instance of SQL Server LocalDB from version 12 to version 13?

在我的开发 PC 上 (Windows 10) 我有 SQL Server Express 2016,包括安装的 LocalDB。

我的 Windows 表单应用程序正在使用 System.Data.SqlClient 连接到 .MDF 数据库。当.MDF 数据库为版本 12(Sql Server 2014)时,可以建立连接。但是,如果它是版本 13(Sql Server 2016),那么我会收到一条错误消息,指出服务器实例是版本 12,并且无法打开。

连接字符串是:

"Data Source=(LocalDB)\MSSQLLocalDB; AttachDbFilename = " + startup_dir +
"\TAS_Dbase\Archers1.mdf; Integrated Security = True";

我相信 MSSQLLocalDB 是 SQL Server 的“默认”实例,显然是版本 12(SQL Server 2014)。我需要使用默认实例,但想要版本 13。

问题:如何将 MSSQLLocalDB 更改为版本 13?

我已在另一个线程上阅读以执行以下操作 -

cd "C:\Program Files\Microsoft SQL Server0\LocalDB\Binn"
SqlLocalDB.exe delete "MSSQLLocalDB"
SqlLocalDB.exe create "MSSQLLocalDB"

我不想在没有先与这里的人核实的情况下这样做。

6 月 29 日更新 -- 我尝试使用 SqlLocalDB 命令行实用程序,如上所示,但只收到显示的错误。

cd "C:\Program Files\Microsoft SQL Server0\LocalDB\Binn"
SqlLocalDB.exe delete "MSSQLLocalDB"

FormatMessageW failed. Error code returned: 15100

cd "C:\Program Files\Microsoft SQL Server0\LocalDB\Binn"
SqlLocalDB.exe create "MSSQLLocalDB"

FormatMessageW failed. Error code returned: 15100

我该如何解决这个问题?

我进入“程序和功能”并选择 Sql Server 2016 LocalDB 并进行了“修复”。这似乎已经解决了它。希望我明白为什么。

最好的选择是从 Microsoft 下载并安装 localdb 2017(版本 13)并将其安装到您的系统上。允许多个localdb版本共存,可以运行同时

无需更改您的默认设置 mssqllocaldb

安装后,只需通过 运行 执行以下 PowerShell 命令创建您选择的新 localdb 实例名称。例如,如果您正在创建 myinstance 实例名称:

sqllocaldb.exe "myinstance" 13.0 -s

在您的代码中,将 mssqllocaldb 替换为您在连接字符串中的实例名称:

"Data Source=(LocalDB)\myinstance; AttachDbFilename = " + startup_dir + "\TAS_Dbase\Archers1.mdf; Integrated Security = True";

我在 Visual Studio 2019 年从事 VB.NET 项目时,在我不知情的情况下将数据库更新到更高版本时,我以这种方式解决了我的问题。