//执行备份
$link = Db::connect(数据库配置 array);
$link->execute("backup database LKTEST to disk='备份目录/备份文件'");
//恢复备份
$link->execute("RESTORE DATABASE 数据库名 FROM DISK='备份文件地址' WITH Replace");
//使用while的话,是因为如果不用就不行。。。。
while (true){
sleep(3);
$flag = false;
for ($i=0;$i++){
//查询数据库状态,完成后跳出循环
$res = $link->query("select DATABASEPROPERTYEX('数据库名','status') as status");
if(isset($res[0]['status']) && $res[0]['status'] === 'ONLINE'){
echo $res[0]['status'];
$flag = true;
break;
}
}
if($flag == true){
//恢复完成跳出while
echo '恢复备份完成';
break;
}
}