对“vsdbcmd两个数据库差异”进行Google / Bing搜索并没有向我显示任何明确的内容。我只有两个数据库存在于同一台服务器上,我想对它们进行区分,然后应用来自A-> B的模式差异。就像我在VS2010 GUI中所做的那样。
有人能指出我正确的方向吗?
感谢。
答案 0 :(得分:5)
通过反复试验得到了这个。希望它能帮助下一个人。
VSDBCMD /a:Import /cs:"Server=myserver;Integrated Security=true;Pooling=false;Initial Catalog=mydb" /dsp:Sql /model:sourcedb.dbschema
VSDBCMD /a:Import /cs:"Server=myserver;Integrated Security=true;Pooling=false;Initial Catalog=mydestdb" /dsp:Sql /model:mydestdb.dbschema
vsdbcmd /action:deploy /dd:- /dsp:Sql /modelfile:sourcedb.dbschema /targetmodelfile:mydestdb.dbschema /p:TargetDatabase="mydestdb" /Quiet:- /DeploymentScriptFile:diff.sql
我收到了一条错误消息,指出无法根据连接字符串确定架构。事实证明问题是缺少“DatabaseSchemaProviders.Extensions.xml”文件,我试图制作一个独立的VSDBCMD发行版并且没有那个文件方便。