将SQL数据库从2014版本迁移到2012版本- mvc代码优先



我正在开发一个ASP.net-MVC项目,因为它是模型第一,它自动生成数据库的。mdf和。ldf文件。数据库是2014年版本。当我想把它上传到主机服务器时,他们告诉我他们不支持2012年的更高版本。所以我需要将我的数据库从2014年迁移到2012年版本。

我的数据库不是那么大。我看了这篇文章https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/一步一步,但没有差异发生在我的数据库版本。还是Product Version:12.0.2000.8

我真的很感激你的帮助。由于

您基于Model First开发数据库,因此您拥有生成/修改数据库的所有控制权。

您不需要迁移数据库,但是在visual studio中您可以在sql server 2012中重新生成数据库。

要在sql 2012中生成数据库,请执行与在visual studio中生成sql 2014数据库相同的步骤,只是为了提醒:

  • 在EDMX设计界面中,右键单击->从模型生成数据库按照向导创建到sql2012的新连接。

在向导结束时,在sql server 2012中创建一个新数据库。

  • Sql脚本也自动生成,例如model.edmx.sql,包括实体和关联的所有DDL,…

  • 在VS中执行该脚本,您可以选择连接并在新的数据库服务器2012中执行该脚本。

  • 对于数据,可以使用bcp实用程序或SSMS中的导出向导。

更新:

在Model First方法中,您创建了一个将被自动转换为编码模型的图,并且该模型保存在EDMX (xml文件)中。

如果项目中没有EDMX,这意味着您没有使用ModelFirst方法,但您可以使用MVC项目的模板,该模板在项目开始时自动生成数据库。

Model First的好处是易于在开发环境和产品之间进行更改和同步,以应对未来的更改。

即使创建了数据库,也可以重新设计项目并添加ModelFirst方法。

可以在sql server 2012中重新创建数据库。我描述一步一步的教程来构建你的模式:

在EntityFramework 6中使用ModelFirst方法从现有数据库中构建数据模型

兼容性级别应设置为SQL Server 2012(110),然后执行以下步骤https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/

要更改兼容性级别,请转到数据库属性->选项->兼容性级别

当您运行输出脚本时,它应该在目标服务器(2012)上运行。

最近版本上的备份无法在较早版本上恢复。

看这里

安装程序将把数据库从2014年更改为2012年。

最新更新