【发布时间】:2018-07-23 11:22:52
【问题描述】:
我有一个调用 sqlserver 备份脚本的 php。 该脚本,如果直接从 SSMS 执行,它会成功创建备份。但是,当通过 php 调用时,我可以看到在目标文件夹中创建的文件,但似乎当 php 完成时,该文件也被删除了。 我在哪里做错了?
PHP:
$strSQL = file_get_contents("archdata.sql");
if (!empty($strSQL)) {
$query=$conn->prepare($strSQL);
if ($query->execute()) {
sleep(5);
echo "1";
} else {
echo "Error: " . $strSQL;
}
}
archdata.sql:
SET @path = 'C:\Data\backups\'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
SET @fileName = @path + 'ProdDB _' + @fileDate + '.BAK'
BACKUP DATABASE ProdDB TO DISK=@fileName WITH STATS = 1
【问题讨论】:
-
不是很合乎逻辑的答案,而是在sql文件末尾写
GO。 -
嗨,不,添加 GO 不起作用。
标签: php sql-server pdo backup