将 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 项目时,在我不知情的情况下将数据库更新到更高版本时,我以这种方式解决了我的问题。
在我的开发 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 项目时,在我不知情的情况下将数据库更新到更高版本时,我以这种方式解决了我的问题。