2016-10-01 52 views
5

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

我的数据库没那么大。我按照这篇文章 https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/ 一步一步但没有差异发生到我的数据库版本。它仍然Product Version:12.0.2000.8

真的很感谢你的帮助。感谢

+1

在您降级DB引擎的情况下,也许你需要将开发数据库转换/重新保存到您想要运行的相应版本中,以避免潜在的迁移问题。然后您可以将EF指向2012版,确保在重新配置EF之前进行备份。 –

+1

SSMS是一款客户端软件,可帮助您监控SQL Server实例。如果您没有任何SQL Server实例,则需要在主机服务器上安装一个实例。 SSMS 2012,2014或2016都与SQL Server 2012实例兼容。我从不将数据库从较高版本迁移到较低版本,因此无法帮助您。但是我确定备份不适合,因为备份文件具有'.bck'扩展名,并且您有原始数据库文件,其中包含数据'.mdf'和日志'.ldf'。 –

+0

@TetsuyaYamamoto感谢您的帮助。你有什么想法如何做到这一点?我从来没有听说过可以改变'EFW'生成的数据库版本。如果你知道我将如何欣赏告诉我如何做到这一点非常感谢 –

回答

1

您开发基于模型首先,数据库,让你拥有所有的控制在生成/修改数据库。

你不需要迁移数据库,但在Visual Studio中,你可以重新生成在SQL Server数据库中2012

来生成在SQL 2012数据库中,你遵循生成数据库相同的步骤对于SQL 2014的Visual Studio,只为提醒:

  • 在EDMX设计图面,右键 - >从模型生成数据库 按照向导,并创建sql2012一个新的连接。

在向导的结束,在SQL Server 2012

  • SQL脚本也自动生成的例如命名为创建一个新的数据库model.edmx.sql包括实体和协会,所有的DDL ...

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

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

更新:

在模型第一种方式,您创建将被自动转换为一个编码模型,该模型被保存在EDMX(XML文件)的图。

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

Model First的好处在于,开发环境和生产之间易于发生变化和同步,以便将来进行更改。

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

从那里在SQL Server,你可以重新创建数据库2012 我描述一步一步的教程建立自己的模式:

Building DataModel from Existing Database in EntityFramework 6 For ModelFirst Approach

+0

是的,我需要类似这样的东西。让我尝试 。我认为我的答案如此接近 –

+0

对不起,我没有找到任何'EDMX'文件。我没有选择任何东西。视觉工作室本身创造了一切EFW和数据库。是否有可能给我一步一步的指导。谢谢。 –

+0

在模型优先方法中,您将创建一个将自动转换为编码模型并将模型保存在EDMX(xml文件)中的图。如果项目中没有EDMX,这意味着您没有使用Model First方法,但是您可以在项目开始时自动生成数据库的MVC项目中使用该模板。 Model First的好处在于,开发环境和生产之间的变化和同步易于未来变化。 –

0

看看here

安装程序将更改数据库中2014年至2012年

+0

非常感谢您的关心。我遵循所有这些步骤,但没有任何反应。我在这里检查版本,每次都和以前一样。 'https:// support.microsoft.com/en-us/kb/321185'我还要求主机服务器在所有这些更改后检查它,但仍然没有发生 –

相关问题