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的联机文档。

 

我测试了“创建新数据库和升级数据库”两种模式,都通过了。


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值