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

标签 sql-server asp.net-mvc migration code-first

我正在使用 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/ 一步一步,但我的数据库版本没有发生差异。它仍然是产品版本:12.0.2000.8

非常感谢您的帮助。谢谢

最佳答案

您基于模型优先开发数据库,​​因此您可以完全控制生成/修改数据库。

您不需要迁移数据库,但在 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 中的导出向导。

更新:

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

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

模型优先的好处是易于更改以及开发环境和生产之间的同步以应对 future 的变化。

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

从那里您可以在 sql server 2012 中重新创建数据库。 我描述了构建模式的分步教程:

Building DataModel from Existing Database in EntityFramework 6 For ModelFirst Approach

关于sql-server - 将SQL数据库从2014版本迁移到2012版本 - mvc codefirst,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806034/

相关文章:

sql - 我们可以在表值函数中创建索引吗

sql - SQL 中带有分隔符的子字符串

jquery - .ajaxStart 和 .ajaxStop 由于某些奇怪的原因未触发

c# - MVC 异步 Controller Action

ruby-on-rails - rails 未定义方法 'has_many'

sql-server - 如何在 SQL Server 并行数据仓库表中插入多行

sql - 在 SQL Server 中创建 XML 时,如何将值包装在 CDATA 标记中?

当日志数据从一个订阅移动到另一个订阅时,Azure Application Insights 会保留日志数据吗?

c# - 起订量 应用变量

c++ - 从 64 位迁移到 32 位