我正在使用關係數據庫(SQL Server 2008)的項目。本地(本地)應用程序都讀取和寫入數據庫。我正在爲Azure(MVC2 Web Role)開發另一個前端,它將使用相同的數據,但採用只讀方式。如果我正在部署傳統的Web應用程序,那麼我會使用SQL Express作爲本地數據庫,並通過對應用程序的更新(數據更改非常緩慢)或通過某個同步系統部署更改。是否可以在Azure Web角色中運行SQL Express?
隨着Azure,圖片有點陰(對不起,我不得不)。我似乎無法找到任何信息來表明SQL Express是否可以在Web Roles內部工作,如果可以的話,如何去做。有誰知道是否可以在Azure Web角色中使用SQL Express?
其他選項我可以做的,如果被迫:SQL CE或使用SQL Azure。兩者都有一些缺點,絕對不是完美的。
感謝, 埃裏克
編輯 我覺得我的情況可能不是足夠清晰。
這些數據在部署之間不會改變,只能從Web角色中訪問;它基本上是一個靜態緩存。內部部分是一種紅鯡魚,因爲它不會影響網絡角色的數據(除了它的來源)。基本上,我想要做的是使用現有的T-SQL/DAL代碼的本地數據存儲/緩存。
雖然我可以使用SQL Azure,但它不會添加任何內容,並且如果有的話只會增加額外的開銷和失敗點。我也可以使用虛擬機角色,但這太昂貴/複雜。
在一個完美的世界,我會打包MDF到cspkg(所以它獲取與應用部署的),然後在本地使用它從角色中。如果沒有辦法做到這一點,那就沒問題,我需要弄清楚其他解決方案的優缺點。我們不住在一個完美的世界。 :)
Jeremaih-謝謝你的迴應。我沒有考慮在blob存儲上使用SQL Server文件(這是兩個世界中最糟糕的)。我可以使用SQL Azure,但這是對Web角色實例本地的只讀數據。使用SQL Azure只會降低速度並增加額外的失敗點。加上它是過度殺傷,而且更昂貴。 – 2011-03-14 04:49:08
因此,你打算將數據預加載到本地虛擬機上的SQL Server中,並且從不修改它?如果是這樣,你應該沒問題。不過,它聽起來像SQLite或SQL Server CE會更好地爲您服務。 – 2011-03-14 14:29:14
耶利米 - 這正是我想要做的。我可以簡化我的帖子,以便更清楚。 :)問題是,看起來你無法在Azure Web角色上獲得SQL Express。我將不得不將所有的T-SQL重寫爲CE可以理解的東西。這就是生活。 – 2011-03-14 15:33:45