【问题标题】:Changing the default instance of SQL Server LocalDB from version 12 to version 13?将 SQL Server LocalDB 的默认实例从版本 12 更改为版本 13?
【发布时间】:2020-10-18 20:29:44
【问题描述】:

在我的开发 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 Server\130\LocalDB\Binn"
SqlLocalDB.exe delete "MSSQLLocalDB"
SqlLocalDB.exe create "MSSQLLocalDB"

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

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

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

FormatMessageW 失败。返回错误码:15100

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

FormatMessageW 失败。返回错误码:15100

我该如何解决这个问题?

【问题讨论】:

    标签: sql-server sql-server-2016-localdb sql-server-2014-localdb


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      最好的选择是从 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 项目。

      【讨论】:

      • 感谢您的回复。我想你的意思是说 2016 年(第 13 版),而不是 2017 年,对吧?我的客户端应用程序正在被其他人使用,他们已经将它与 SQL Server 2016 LocalDB 一起安装在他们的系统上。所以我想继续使用第 13 版以保持简单。我使用 LocalDB 是因为用户无法访问互联网,而 LocalDB 似乎可靠。我知道它主要用于开发目的,但看不出有任何理由也不能被最终用户使用。但是,我会记住您的建议。再次感谢。
      猜你喜欢
      • 2022-08-06
      • 2011-03-21
      • 2011-12-11
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多