Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server数据库还原与备份的数据库不匹配_Sql Server_Database_Continuous Integration - Fatal编程技术网

Sql server SQL Server数据库还原与备份的数据库不匹配

Sql server SQL Server数据库还原与备份的数据库不匹配,sql-server,database,continuous-integration,Sql Server,Database,Continuous Integration,我有一个使用SQL server数据库的应用程序的夜间构建和部署。该过程包括删除先前创建的数据库,并使用构建中的新SQL重新创建它。作为构建和部署的一部分,将备份和恢复新创建的数据库,以便在其上运行junits。但是,junits的还原数据库与备份的数据库不匹配。该过程总结如下: drop product_db drop junit_db create product_db delete backup of product_db create backup of product_db rest

我有一个使用SQL server数据库的应用程序的夜间构建和部署。该过程包括删除先前创建的数据库,并使用构建中的新SQL重新创建它。作为构建和部署的一部分,将备份和恢复新创建的数据库,以便在其上运行junits。但是,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
但在此之后,数据库不匹配。它似乎正在恢复该产品的第一次备份。即使以前的备份已被删除

用于备份数据库的命令是:

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";

有人知道这里发生了什么吗?谢谢

您是否每次备份时都重复使用相同的db备份文件名来备份
产品\u db
?就@DMason而言,如果每次都备份到相同的文件名,您可能会将备份附加到该文件中。要检查这一点,请使用命令检查已写入文件的备份。到@MikeFal的点。。。您实际运行的备份命令是什么?您好,谢谢您的回复。“备份”命令位于“编辑”菜单中。当我对备份运行RESTORE-headernly命令时,我将在RESTORE-headernly上进行确认。返回4个结果@DMason是的,它每次都使用相同的备份名称。有没有办法恢复最新的备份?