【问题标题】:Disable LocalDB auto-upgrade禁用 LocalDB 自动升级
【发布时间】:2012-09-05 02:33:57
【问题描述】:
使用 LocalDB (SQL Server 2012) 连接到 SQL Server 2008 R2 数据库后,现在我无法从 SQL Server 2008 R2 连接:
无法打开数据库“Northwind”,因为它是 706 版。
此服务器支持版本 663 及更早版本。降级路径不是
支持。
显然 LocalDB 执行了自动升级。
是否有禁用自动升级的连接字符串参数?
【问题讨论】:
标签:
sql-server
sql-server-2012
localdb
【解决方案1】:
不,SQL Server 在附加格式版本较低的数据库时总是执行升级。为了避免升级,您必须使用 SQL Server 2008 R2 中的 LocalDB,因为 LocalDB 是在 SQL Sever 2012 中引入的。
更新 1
提供完整答案:理论上您可以将数据库附加为只读,这应该阻止它升级(我不是 100% 确定,需要测试和验证)。显然,这至少存在两个大问题。首先,数据库是只读的,这意味着在大多数情况下不是很有用。其次,我认为没有任何连接字符串属性会强制AttachDbFileName 将数据库附加为只读。您需要通过 T-SQL 脚本显式附加它,如果目标是简单性,这可能会破坏目的。