T-SQL在创建备份文件后立即删除它

时间:2018-10-17 22:24:57

标签: php tsql pdo backup delete-file

我在PHP / PDO中创建了一个脚本,该脚本执行一行SQL以对各种数据库进行文件备份。数据库名称列表和选择用于放置文件的文件夹的日期戳作为HTTP REQUEST数组元素传递。该脚本可以工作,但是由于某种原因,SQL Server会在脚本完成运行后立即删除该文件。在资源管理器打开的情况下,我可以观看正确创建的文件夹和文件,但是文件在完成后会消失。这是

$dbh = getPDOConnection();
$sql = "BACKUP DATABASE :database TO DISK = :path";
$sth = $dbh->prepare($sql);
$dt = $_REQUEST["dtStamp"];

$uncPath = "\\\\[unc server]\\c$\MSSQL\\Backup\\backups_$dt";

if (!file_exists($uncPath)) {
    mkdir($uncPath, null, true);
}
$responses = [];
foreach(explode(",", $_REQUEST["databases"]) AS $d=>$database) {
    $sqlPath = "c:\\MSSQL\\Backup\\backups_$dt\\$database.bak";

    $sth->bindValue(":database", $database);
    $sth->bindValue(":path", $sqlPath);
    $sth->execute();

    $responses[] = $sth->fetch(PDO::FETCH_ASSOC);
}

有人可以指出我所缺少的内容吗?我似乎找不到Microsoft提供的任何文档来说明为什么会发生这种行为。

0 个答案:

没有答案