我使用SQL比较红门红门来比较两个不同的SQL服务器上的两个DB。
为此,我创建了一个包含执行流程任务的SSIS包。我已通过以下可执行的决议:
C:\Program Files (x86)\Red Gate\SQL Compare 10\SQLCompare.exe作为一个论据:
sqlcompare /Server1:\"server_ip\" /Database1:\"db_name\" /Username1:\"user_id\"
/Password1:\"password\" /MakeSnapshot:\"E:\Folder\AUDITserver1.snp\"这个执行流程任务是创建一个服务器1的.snp文件,并将其与服务器2进行比较。然而,最近,我已经从2012年升级到2016年升级了Server 1。
我还在运行比较包的服务器上重新创建了服务器1的链接服务器连接。但是,我得到了一个错误。描述如下:
执行过程任务错误:在执行"C:\Program (X86)\AUDITserver1.snp比较10\SQLCompare.exe“”sql比较法/Server1:\"server_ip\“/Database1:\"db_name\”/Username1:\"user_id\“/Password1:\”密码\“/MakeSnapshot:\”E:\文件夹\AUDITserver1.snp“at”时,进程退出代码为"70“,而预期为"0”。
请帮帮忙。
我尝试通过命令提示符运行它,如下所示:
cd C:\Program Files (x86)\Red Gate\SQL Compare 10
sqlcompare /Server1:\"server_ip\" /Database1:\"db_name\" /Username1:\"user_id\"
/Password1:\"password\" /MakeSnapshot:\"E:\Folder\AUDITserver1.snp\"
/Options:CaseSensitiveObjectDefinition现在面临以下错误:
意外错误:已找到一个重复的对象名称。如果您正在注册的Server区分大小写,但区分大小写的选项不是RedGate.SQLCompare.Engine.SqlCompareException at #mWo.#KYo.#0cp(DBPopulationOptions #YBCc) at #mWo.#HPud.#crc(ConnectionProperties #x1lc,LfCc) at RedGate.SQLCompare.Engine.Database.#crc(ConnectionProperties #Ap8b,5 OPb) at #namb.#n9G.#W8G(DataSource #ovUb,5OPb, at #i9G.#n9G.#W8G(DataSource #ovUb,5OPb,Boolean #q9rc) at #i9G.#n9G.#1tD(String #p9rc,DataSource #ovUb,5 5OPb,布尔#q9rc) RedGate.SQLCompare.CommandLine.CommandProcessor.#lMPb() at RedGate.SQLCompare.CommandLine.CommandProcessor.#kcmb() at RedGate.SQLToolsCommandLine.CommandProcessor.#OUb() at #i9G.#OsPb.#6sc(String[] #ead)引起的:索引超出了范围。必须非负且小于colle ction.参数名称的大小:#8rg.#5sg.set_Item(DatabaseLevelPermissionAction #pYrc处的index System.Collections.BitArray.Set(Int32索引,布尔值),PermissionType #iT c) at #mWo.#KYo.#MCCc() at #mWo.#KYo.#ICCc() at #mWo.#KYo.#0cp(DBPopulationOptions #YBCc)
发布于 2017-06-20 16:25:11
如果这实际上是SQL比较10.7或更早,我相信它可能不适用于Server 2016。https://documentation.red-gate.com/display/SC10/SQL+Compare+10.7+release+notes
https://dba.stackexchange.com/questions/176761
复制相似问题