2011-08-16 42 views
4

我們目前有一個數據庫項目,我們編寫了一個WIX安裝程序來部署它,使用VSDBCMD意味着我們可以對當前數據庫進行比較,並執行更新或全新安裝在需要的時候。數據庫項目和SQLCMD進行比較

但是我們發現了一些問題: 1.我們需要一個單獨的數據庫安裝程序,需要在SQL服務器上執行(如果您想從另一臺服務器上執行它,我們發現只能在是一個域服務器,並使用一個有權訪問這兩個系統的帳戶,並且是一個在SQL上的系統管理員)。 2.必須安裝緊湊的框架才能使VSDBCMD正常工作。

我們現在正處於一個需要將我們的數據庫安裝程序集成到我們的主安裝程序中的位置,這意味着大多數時候我們將從不同的系統安裝SQL Server並希望能夠使用SA帳戶安裝數據庫。

我們已經嘗試了SQLCMD,但似乎無法對已經存在的數據庫進行比較。

我想知道如果a)可以使用SQLCMD進行比較以及如何工作,或者b)如果SQLCMD不是選項,VSDBCMD可以使用sa帳戶,而不是域帳戶?

感謝

回答

1

SQLCMD只能在數據庫服務器上執行SQL命令或批 - 它假定寫劇本的人都知道數據庫的當前狀態,就好像是在SSMS運行該腳本將被執行。

如果您想使用Visual Studio的聲明式開發能力,那麼您需要使用VSDBCMD將它們部署到您的服務器計算機上。如果您在未使用集成登錄的命令行中使用連接字符串,則應該能夠從客戶端計算機執行它。例如:

"Data Source=$Server;User ID=$UserName;Password=$Password" 

然後,$ UserName的SQL Server登錄名就足夠了。

相關問題