我为使用SQL Server数据库的应用程序进行了每晚构建和部署。该过程涉及删除先前创建的数据库并使用构建中的新SQL重新创建它。作为此构建和部署的一部分,新创建的数据库将进行备份和还原,以便在其上运行仲裁。但是,已恢复的junits数据库与备份的数据库不匹配。该流程摘要如下:
drop product_db
drop junit_db
create product_db
delete backup of product_db
create backup of product_db
restore product_db into junit_db
但在此之后,数据库不匹配。它似乎正在恢复product_db的第一次备份。即使先前的备份被删除了。
用于备份数据库的命令是:
SQLCMD -Usa -P$adminPwd -S$dbServer -m-1 -b -Q "BACKUP DATABASE [${secDb}] TO DISK = '${winMssqlPath}\\${secDb}_tmp.bak'";
恢复命令:
SQLCMD -Usa -P$adminPwd -S$dbServer -m-1 -b -Q "RESTORE DATABASE [${newSecDb}] FROM DISK = N'${winMssqlPath}\\${secDb}_tmp.bak' WITH FILE = 1, REPLACE, MOVE N'${secDb}' TO N'${MSSQLDATA_HOME}\\DATA\\${newSecDb}.mdf', MOVE N'${secDb}_log' TO N'${MSSQLDATA_HOME}\\DATA\\${newSecDb}_1.LDF', NOUNLOAD, STATS = 10";
有谁知道这里发生了什么?感谢