2016-09-03 23 views
1

我想升級我的本地主機上的Umbraco項目(最終是我的生活網站)從運行SQL Server CE到SQL Server 2014或SQL Server 2016.如何將Umbraco CMS從使用SQL Server CE升級到SQL Server的升級版本?

升級的原因很簡單:我可能在某些時候想要管理一個網站,該網站的數據庫中有超過4GB的數據,可以通過多臺服務器進行擴展,並且我想要備份。否則我會很懶,只留下Umbraco.sdf。

我還沒有在這個過程的任何地方找到一致的文檔。也許你們中的一個可能對SQL或Umbraco更有經驗,可能會有所幫助。

(旁白:對於那些不太熟悉一把umbraco,一把umbraco是一個用C#和JavaScript內容管理系統有一個在這裏SQL文件名爲Umbraco.sdf其內容的所有網站的內容。)

回答

2

我想通了,以防其他人卡住了。

這裏是如何做到這一點:

步驟1:端口超過當前的數據庫。有了Umbraco,有一個簡單的方法來做到這一點。只需安裝導出SQL Server Compact軟件包,即一個插件到您的Umbraco CMS。安裝完成後,按照指示操​​作並生成你的SQL文件。

第2步:將生成的腳本導入到SQL Management Studio並在新數據庫中運行它。爲了做到這一點:創建一個新的數據庫,並提供一個新的用戶權限設置來訪問該數據庫(不要使用你的服務器登錄 - 你可以,但最好創建一個用戶,以便遠程訪問)。之後,繼續複製並粘貼整個文件(是的,整個文件)到一個新的查詢中(右鍵單擊數據庫 - >運行查詢),粘貼腳本並運行它。

步驟3:更改連接字符串。這是在你的web.config。的XML標籤內,配置一個類似於此(刪除{}):

<add name="umbracoDbDSN" 
    connectionString="Data Source={the ip of your database};Initial Catalog={theDatabaseName};User Id={theUserId};Password={yourPassword}" 
    providerName="System.Data.SqlClient" /> 

這個連接字符串的好處是,你可以在現場本地編輯,以及,用相同的連接字符串。這使您可以在本地主機上測試代碼更改,而無需更改網站上的代碼。自動鏈接的唯一內容是CMS內容。

請確保不要刪除舊的Umbraco連接字符串,以防您想要還原爲它。簡單地評論一下。

第4步:加密web.config。顯然,在您的網站上以明文形式保存數據庫密碼並不明智。這個加密你的web.config的MSDN是無價的。

有幾件事情你可以以這樣失去:

數據庫的
  1. 可移植性。有時你只想讓一個文件成爲一個數據庫而不是整個服務器。我們只建議在您的網站基本完成時執行此步驟,因爲配置SQL Server並保證其安全性是您不應該擔心的額外挑戰。

  2. 偶爾,圖像不運輸。您可能需要手動重新輸入所有圖像。

  3. 可能的安全性。每次發佈網站時,都可能需要手動重新加密web.config。這可能非常危險 - 所以請確保您的網站始終將web.config加密,即使是在新的發佈中。

+0

謝謝您的精彩提示。現在看來,這個軟件包在遷移之後需要被移除,否則,錯誤會阻止Umbraco正常工作:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/53022 -UmbracoWebModelsDynamicPublishedContentList - 不 - 不包含-A-定義換任何 – Hong

-1

它似乎最容易做到這一點在webmatrix,你試過嗎?

來源:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/53818-Convert-Umbraco-SQL-CE-database-to-SQL-Express

或:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/49519-Changing-database-in-Umbraco-7

首先,你需要建立在SQL Server數據庫中。完成後,打開Webmatrix,在webmatrix UI的左下角可以選擇數據庫。然後瀏覽到SQL Server CE數據庫,它位於\App_Data文件夾中,然後在上面的菜單選項中出現「遷移按鈕」。通過按下該按鈕,會出現一個遷移對話框,詢問您創建的SQL Server數據庫的連接詳細信息。

+1

這可能工作,除了事實WebMatrix不支持在Windows 10(它不會讓我安裝)。微軟已經完全停止對WebMatrix的支持。 – Ryan

+1

哦,親愛的,Sql CE Toolbox怎麼樣? https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/53818-Convert-Umbraco-SQL-CE-database-to-SQL-Express –

+0

這適用於數據導出(它創建一個文件可以作爲SQL命令腳本運行)。 但是,仍然需要成功導入。 SQL不能僅僅打開這個文件 - 你需要將它複製並粘貼到Microsoft SQL Management Studio中並作爲腳本運行(在你選擇的數據庫中,創建一個名爲UmbracoDB的文件)。 我想我想出了一個辦法,但我想看看你們是否有更好的一個。當我有一段時間後,我會發布我的解決方案,這並不容易,它需要很多工作,如果你在網絡陌生人的問題上停留在Google上,請提醒我如果沒有,請寫下它。 ) – Ryan

1

SQLCE ToolBox是該工作的最佳工具。只要安裝擴展,則步驟如下:

  1. 在服務器資源管理器連接在SQLCE工具箱添加到您的新的數據庫(連接數據庫按鈕)
  2. 右鍵點擊Umbraco.sdf文件,並選擇遷移到SQL Server
  3. 選擇您的服務器並導出。
  4. 修改umbracoDbDSN連接字符串以指向新數據庫。

目標數據庫應該是空的(或者至少沒有任何衝突的表名)。

相關問題