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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章