0

使用 LocalDB (SQL Server 2012) 连接到 SQL Server 2008 R2 数据库后,现在我无法从 SQL Server 2008 R2 连接:

无法打开数据库“Northwind”,因为它是版本 706。此服务器支持版本 663 和更早版本。不支持降级路径。

显然 LocalDB 执行了自动升级。

是否有禁用自动升级的连接字符串参数?

4

1 回答 1

1

不,SQL Server 总是在附加格式较低的数据库时执行升级。为了避免升级,您必须使用 SQL Server 2008 R2 中的 LocalDB,因为 LocalDB 是在 SQL Sever 2012 中引入的,所以它不存在。

更新 1

提供一个完整的答案:理论上你可以将数据库附加为只读,这应该会阻止它被升级(我不是 100% 确定,需要测试和验证)。显然,这至少存在两个大问题。首先,数据库是只读的,这意味着在大多数情况下不是很有用。其次,我认为没有任何连接字符串属性会强制AttachDbFileName将数据库附加为只读。您需要通过 T-SQL 脚本显式附加它,如果目标是简单性,这可能会破坏目的。

于 2012-09-05T05:25:48.507 回答