数据库:MS SQL
我们的应用程序请求通过Web备份整个数据库。我在网上找到了一些类似的脚本,但似乎无法让它们发挥作用。脚本运行时完全没有错误,但没有创建备份文件。
如果我从服务器上的SQL Server管理工具运行确切的推荐,它就可以很好地创建文件。
$date = date('m_d_Y_g_i');
$Drive = substr($_SERVER['DOCUMENT_ROOT'],0,3);
$Backup_Location = $Drive."Server/DB_BAK/DB_$date.bak";
//Backup database
$statement = "BACKUP DATABASE [USERS] TO DISK = '".$Backup_Location."'";
try
{
$this->connection->query($statement);
}
catch (PDOException $e)
{
echo $e . "<br/>";
}
echo "Location: ".$Backup_Location;
这不会产生错误,同时也没有结果。服务器上没有创建备份文件。
回声输出:
Location: C:/Server/DB_BAK/DB_04_02_2014_10_50.bak
我确保用户具有db_owner / reader / writer访问权限。我也使用GRANT BACKUP DATABASE给用户。