我真的很苦惱用管理基於Visual Studio 2010數據庫項目的SQL Azure數據庫的最佳方法。我認爲使用VSDBCMD創建差異腳本進行升級很容易,然後只需在SSMS中針對SQL Azure運行即可。但是,我得到了可怕的「目標數據庫模式提供程序無法確定,部署無法繼續。」錯誤。Visual Studio數據庫項目和SQL Azure
在這一點上,我只是假設SQL Azure不支持VSDBCMD中的某些東西,反之亦然,我正在尋找其他方法。以下是我目前正在考慮的方法:
- 使用Azure數據庫引擎設置從SSMS對我的SQL Azure數據庫進行腳本編寫。
- 從腳本在步驟1中創建tempory本地數據庫
- 使用VSDBCMD從步驟針對本地數據庫中創建我的三角洲腳本2.
- 評論/從第3步
- 從運行腳本修改腳本步驟3/4針對SSMS中的SQL Azure。
好,壞?任何其他想法?
編輯:我今天更新到Visual Studio 2010 SP1,發現Microsoft.Data.Schema.Sql.dll中有一個新的數據庫模式提供程序:SqlAzureDatabaseSchemaProvider。但是,我無法確定如何真正使用這個壞男孩。現在,當我嘗試同樣的VSDBCMD腳本針對Azure數據庫,我得到:
源數據庫架構提供Sql100DatabaseSchemaProvider無法轉換爲供應商SqlAzureDatabaseSchemaProvider。部署無法繼續。
我也嘗試過使用Sql90提供程序,結果相同。我甚至手動編輯了dbproj文件並將DSP屬性更改爲SqlAzureDatabaseSchemaProvider。當我重新加載項目時,我得到:
數據庫模式提供程序必須提供DataGenerationServices的實現。
有沒有人試過VS 2010 SP1?
+1這一建議 - 這是一個偉大的工具,可以運行作爲用戶界面或命令行。 – Stuart 2011-03-24 20:05:05
源代碼也可用 - 所以如果你願意的話,你應該可以適應它的變化。 – Stuart 2011-03-24 20:05:51