2011-05-24 49 views
16

Looks like Azure Storage Emulator省略了SQL Azure。它是否成立?那麼,如何測試使用SQL Azure的應用程序,而無需將其部署到實時雲?如何在本地測試SQL Azure?

+0

SQL Azure數據庫與SQL Express存在一些奇偶校驗問題(但在V12的情況下,這些問題會最小化)。我不建議通過創建本地實例來進行測試,而是使用基本數據庫(對於單線程應用程序功能測試)。您可以隨時導出數據庫並在需要時將其導入,以便關注結算。在進入生產之前,無論如何都需要處理尺度/性能等問題,並且不能在本地進行測試。爲了避免未來的意外,最好的方法是創建基本版本並按照要求進行擴展 – 2015-05-19 06:06:53

回答

23

對於本地測試,您可以在您的應用程序中使用本地SQL Server(完整版,快速版或甚至CE) - 只需使用本地連接字符串代替.cscfg或.config文件中的SQL Azure版本 - 然後本地計算實例將像任何其他本地進程一樣進行連接。

大部分本地SQL和SQL Azure是兼容和可互換的。微軟聲稱SQL Azure與SQL Server 2008 R2共享大部分代碼庫。因此,您可以在本地使用SQL Server 2008 R2或SQL Server 2008 Express來測試您的應用程序。事實上,對於「簡單」應用程序,您還應該能夠使用新的基於文件的SQL Server CE。


對於「先進」的應用,則與SQL Azure的一些限制 - 見http://msdn.microsoft.com/en-us/library/ee336245.aspx限制 - 但對許多ASP.Net應用程序,你應該能夠從SQL表達,只是遷移到SQL Azure的。

有關SQL VS SQL Azure的詳細信息,請參閱http://social.technet.microsoft.com/wiki/contents/articles/comparing-sql-server-with-sql-azure.aspx

遷移從本地SQL數據到SQL Azure的,請參閱SQL遷移向導在Codeplex - http://sqlazuremw.codeplex.com/

+0

如何將計算模擬器中運行的角色連接到本地SQL Server? – sharptooth 2011-05-24 07:05:32

+1

只需使用連接字符串就像您的SQL Azure實例一樣。要使其可配置爲部署,那麼您應該將這些文件加載​​到.cscfg文件中,而不是加載到.config – Stuart 2011-05-24 07:45:05

+0

中。您的意思是,角色會像本地進程一樣查看本地SQL Server? – sharptooth 2011-05-24 08:04:52

1

我建議你使用SQL Server 2008 Express的爲了預測發展。一旦準備就緒,您可以將其遷移到雲端。但是您需要了解當代限制以及使用SQL Server時的一些體系結構考慮因素。

最好的部分是,您只需在遷移後更改連接字符串以連接到SQL Azure。

1

不,沒有本地SQL Azure模擬器。正如斯圖爾特所說,當地的數據庫是當地發展的最佳選擇。

使用SQL Server 2012,您可以選擇「本地數據庫」。這是一個非常輕量級的SQL Server 2012 Express。 More details here。它只能運行在「用戶模式」,這意味着

  1. 您沒有安裝SQL Server本地
  2. 您不必運行SQL Server作爲後臺服務全職

安裝完成後,VS 2012中現在有一個項目類型。與CE類似,它創建一個MDF和LDF文件。你用這樣的連接字符串連接它:

"Server=(LocalDB)\v11.0; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf" 

這對我來說很好,較輕的下載大小不錯(33 MB vs 133 MB)。它使我的開發機器不需要一直運行數據庫服務器。

注意:當您創建MDF/LDF文件時,它可能會包含在您的解決方案中。在我看來,您應該將這些文件從VCS中刪除。我喜歡使用腳本創建和更新數據庫對象,然後使用其他源文件檢查這些腳本。