如何强制LocalDB使用某个版本

时间:2016-09-27 19:27:55

标签: localdb sql-server-2016

在我的机器上,我安装了LocalDb 2012,2014和2016.当我运行我的应用程序时,它默认不会选择最新版本。

使用过的连接字符串:

Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\ServiceLocal.mdf;Integrated Security=True;Connect Timeout=5

所以我使用'MSSQLLocalDB'(而不是v11.0)。但它不会运行2016年,而是2014年(即12.0.2000.8)。选择v13.0无效。那么我还能做些什么呢?

2 个答案:

答案 0 :(得分:1)

按照Gabriël的说明重新创建实例,但可能不是一种选择。在典型示例中,您希望在客户端计算机上创建/附加数据库,在该计算机上不应混淆现有实例。

面对同样的问题,我决定最好的解决方法是通过脚本启动我的应用程序,并在开始我的应用程序之前使用所需版本的SqlLocalDB.exe创建我自己的实例:

SqlLocalDB.exe create "MyVeryOwnInstance" 13.0 -s

-s标志会立即启动实例。然后在您的应用程序中,您可以连接:

Data Source=(LocalDB)\MyVeryOwnInstance;AttachDbFilename=|DataDirectory|\ServiceLocal.mdf;Integrated Security=True;Connect Timeout=5

这当然要求安装所需的版本。我通过将其与我的应用程序安装程序捆绑在一起来确保这一点。

答案 1 :(得分:0)

我知道理解这些概念。每个实例都是一个实例。连接字符串以此类实例为目标,因此要获取另一个版本,您可以使用该版本创建新实例。对于MSSqlLocalDb,删除实例,当使用最新安装的LocalDb版本查询时,它将自动重新创建