RedGate-Sql-Compare使用命令行进行数据库同步

11次阅读

共计 2876 个字符,预计需要花费 8 分钟才能阅读完成。

@TOC

养成良好习惯

第一次在 CSDN 上面写博客,我有些强迫症,也是一个重度的工具依赖者,在工作中使用了各种各样的工具,喜欢发现更多黑科技和高科技产品,这都是废话,只是为了养成良好的习惯,写个开头。

关于 RedGate

红门是比较出名的公司了,相信大家都知道,尤其是在数据库上,绝对是 sql server 中的高富帅,平时使用最多的就是 RedGate 的 sql 工具网上,网上有一位前辈已经有详细的说明,我就不单独说明了。本文主要是提供一种使用命令行模式,来进行数据库同步的方法,官网说的也很明确,你可以使用这种方式,来自动的进行数据库的同步,当然实际工作可能会有更多的用途。下面直接上代码

// 数据库的完全同步
cd "C:\Program Files\Red Gate\SQL Compare 8"
sqlcompare /scr1:"C:\Scripts\WidgetScripts" /db2:WidgetTest
     /o:Default
     /Report:"C:\SchemaDiffReport.html"
     /ReportType:Interactive
     /ScriptFile:"C:\SchemaSyncScript.sql"
     /sync
cd "C:\Program Files\Red Gate\SQL Data Compare 8"
sqldatacompare /scr1:"C:\Scripts\WidgetScripts" /db2:WidgetTest
     /o:Default
     /Exclude:table:WidgetPurchases
     /ScriptFile:"C:\DataSyncScript.sql"
     /sync /v > C:\DataDeploy.txt
     // 注意:sqldatacompare 后面的命令 需要在一条命令中执行 

你可以将其保存为 bat 文件,在 C# 应用程序中就可以自动的运行同步数据库了,狠方便实用。

下面附上一个实际实用例子供参考:

// 数据库数据的同步
cd C:\Program Files (x86)\Red Gate\SQL Data Compare 13
sqldatacompare /project:"D:\test.sdc" 
 /o:Default
 /Force
 /ScriptFile:"D:\DataSyncScript.sql" 
 /synchronize /makebackup /backupcompression:1 
 /v /out:"D:\DataDeploy.txt" 
 // 注意:sqldatacompare 后面的命令 需要在一条命令中执行 

其中的 project 文件是 RedGate 软件保存的文件,如果想要实用命令行,必须是注册版的 sql compare 才行。
附上命令的命令,也可以通过 /help 来查看相关命令,具体大家可以登录官网查看,没有代理的话,网速会慢一些,实用这种方式实时同步数据库非常灵活,而且简便,大家可以参考一下。

/AbortOnWarnings:<warning level>
/activateSerial:<serial number>
/Argfile:<file path>
/Assertidentical
/Backup1:<file path1>;<file path2>;…;<file pathN>
/Backup2:<file path1>;<file path2>;…;<file pathN>
/BackupCompression:<compression level>
/BackupEncryption
/BackupFile:<file name>
/BackupFolder:<folder path>
/BackupNumberOfThreads:<number of threads>
/BackupOverwriteExisting
/BackupType:<backup type>
/BackupPassword:<password>
/BackupPasswords1:<password1>,<password2>,…,<passwordN>
/BackupPasswords2:<password1>,<password2>,…,<password1N>
/BackupProvider:<backup format>
/BackupSet1:<backup set>
/BackupSet2:<backup set>
/Database1:<database name>
/Database2:<database name>
/deactivateSerial
/empty2
/exclude:<type>:<regular expression>
/Filter
/Force
/Help
/HTML
/IgnoreParserErrors
/IgnoreSourceCaseSensitivity
/include:<type>:<regular expression>
/LogLevel:<level>
/MakeBackup
/MakeSnapshot:<file name>
/Options:<option1>,<option2>,<option3>
/Out:<file path>
/OutputProject:<file path>
/OutputWidth:<columns>
/Password1:<password>
/Password2:<password>
/Project:<file path>
/Quiet
/Report:<file path>
/ReportAllObjectsWithDifferences
/ReportType:<report type>
/Revision1:<revision>
/Revision2:<revision>
/ScriptFile:<file path>
/Scripts1:<folder>
/Scripts2:<folder>
/ScriptsFolderXML:<file path>
/Server1:<server name>
/Server2:<server name>
/ShowWarnings
/Snapshot1:<file name>
/Snapshot2:<file path>
/Sourcecontrol1
/Sourcecontrol2
/Synchronize
/SyncScriptEncoding:<script encoding>
/TransactionIsolationLevel:<transaction isolation level>
/UserName1:<username>
/UserName2:<username>
/Verbose
/VersionUserName1:<username>
/VersionUserName2:<username>
/VersionPassword1:<password>
/VersionPassword2:<password>
/AllowIdenticalDatabases
/IncludeIdentical:<IncludeIdentical>

正文完
 0