将 SQL 数据库从 2014 版本迁移到 2012 版本 - mvc codefirst

Migrate SQL database from 2014 to 2012 version - mvc codefirst

我正在用 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

非常感谢您的帮助。谢谢

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

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

当你运行输出脚本时,它应该是运行在目标服务器(2012)上。最新版本的备份无法在早期版本上恢复。

看看here

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

您首先基于模型开发数据库,​​因此您拥有生成/修改数据库的全部控制权。

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

要在 sql 2012 年生成数据库,请执行与在 visual studio 中为 sql 2014 年生成数据库相同的步骤,仅供参考:

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

向导结束时,将在 sql 服务器 2012 中创建一个新数据库。

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

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

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

更新:

在模型优先方法中,您创建一个图表,该图表将自动转换为编码模型,并将模型保存在 EDMX(xml 文件)中。

如果项目中没有EDMX,说明你没有使用ModelFirst方法,但你可能使用了MVC项目的模板,在项目开始时自动生成数据库。

Model First 的好处是开发环境和生产环境之间的更改和同步变得容易,以备将来更改。

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

从那里您可以在 sql 服务器 2012 中重新创建数据库。 我描述了一步一步的教程来构建你的模式:

Building DataModel from Existing Database in EntityFramework 6 For ModelFirst Approach