2016-10-01 63 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'我還要求主機服務器在所有這些更改後檢查它,但仍然沒有發生 –

相關問題