我有一个问题,我正在使用Visual Studio 2013创建一个MDF文件,然后像本教程中描述的那样打开它:
creating-the-membership-schema-in-sql-server
但是当我尝试将数据库附加到MSSQLServer时,我得到错误948,它基本上说:
无法打开数据库,因为它是版本706.此服务器支持版本663及更早版本 .
我读过这两篇文章:
The database cannot be opened because it is version 706. (ASP.net)
由此可以假设可以将“Visual Studio”切换到不同的SQL Server版本 . 所以我可以删除我的旧文件,创建一个新文件(在vS2013中),然后将其附加到我的SQlServerExpress .
我能切换下吗?
工具 - >选项 - >数据库工具 - >数据连接
到SQL版本(LocalDB)\ v10.0?如果是这样,有任何理由不切换,因为它可能导致VS2013中的错误或意外行为
1 回答
创建数据库时,可以指定兼容版本 . 这将关闭较新版本的SQL Server中可用的功能,但如果您只有一个用于身份验证的数据库,则不太可能使用这些功能 .
在您的问题服务器中似乎只有SQL Server Express版本2008 R2(应用了一些补丁) . 要在兼容版本中创建数据库,您必须执行许多步骤(full article):
备份当前数据库
在数据库管理器中,右键单击并选择"Generate Scripts"任务:
脚本整个数据库
保存到文件并选择目标路径,选择Unicode文本文件
选择以下高级选项:
服务器版脚本:SQL Server 2008 R2
脚本数据类型:架构和数据
脚本外键:true
脚本索引:true
连接到SQL Server 2008 R2实例 (important)
运行您生成的脚本以在降级版本中重新创建数据库和数据(您可能必须更正脚本顶部的数据库名称)
获取生成的MDF文件并将其合并到您的应用程序中
较新的数据库可以使用较旧的MDF文件(在适当的情况下,Server 2012将不会比2008年更进一步),但它将无法创建与旧版本兼容的MDF文件 .