Visual studio 2010 Database Project 的命令行發佈方法

“聲明型數據庫發佈”在IDE內操作起來是非常方便的。但是在做安裝包給用戶的時候,或者在DailyBuild服務器上不可能也不應該安裝Visual Studio。還好MS提供了auto deploy的命令行方法。這個命令叫做vsdbcmd 。

 

這是一個vsdbcmd的運行命令行的模板

 

Cd <PROJECT_HOME>\sql\debug\

vsdbcmd /ManifestFile:PROJECT_NAME.deploymanifest /a:Deploy /cs:"Data Source=DBSERVER;Persist Security Info=True;User ID=DB USER;Password=DB PASSWORD;Pooling=False" /p:GenerateDropsIfNotInProject=True /p:BlockIncrementalDeploymentIfDataLoss=False /p:TargetDatabase=DATABASE /p:IgnorePermissions=True /p:GenerateDeployStateChecks=False /dd:+

 

 

Vsdbcmd 命令解釋

非常複雜的vsdbcmd命令行。簡單做一個解釋:

/ManifestFile:表明後面跟着一個發佈Manifest(清單)文件,裏面涉及到諸如dbschema,Pre deploy File,Post deploy File之類的文件的所在位置和名稱——這些文件都是Database project 在構建後生成的文件,在sql\debug目錄下。用於發佈的信息都在這個Manifest文件內做統一的登記。

 

/cs:表明跟着的信息就是連接字符串,指向要升級的數據庫的連接信息。

/p: 指名後面是參數和它的值。

/p:GenerateDropsIfNotInProject=True  如果Database project內沒有的對象,是否刪除數據庫內的對象。

/p:BlockIncrementalDeploymentIfDataLoss=False 如果會導致數據丟失,是否阻塞掉這個發佈。

/p:TargetDatabase=DATABASE 指名目標數據庫的名稱。

 

其他的就沒有那麼重要,可以查詢vsdbcmd的聯機文檔。

 

我測試了“創建新數據庫和升級數據庫”兩種模式,都通過了。


 

 

發佈了4 篇原創文章 · 獲贊 0 · 訪問量 2305
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章