在google/bing上搜索“vsdbcmd two databases diff”并没有显示出任何清晰的信息。我在同一台服务器上有两个数据库,我想对它们进行区分,然后从a->b应用模式差异,就像在vs2010 gui中一样。
有人能为我指出正确的方向吗?
谢谢。
最佳答案
经过反复试验。希望它能帮助下一个人。
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发行版,但没有该文件。