【问题标题】:Running a SQL server backup using IIS and PHP PDO使用 IIS 和 PHP PDO 运行 SQL 服务器备份
【发布时间】:2017-06-03 08:29:45
【问题描述】:

我已经为此工作了一段时间,但没有成功。这是我目前正在尝试的,但我也尝试了很多不同的东西。有没有人成功地做到过这一点,或者它是 PDO 与 SQL 服务器的限制?

 $disk = "d:\backup\testBackup.bak";
 $foo = $db->exec("BACKUP MyDb TO DISK'".$location."'");

AND 存储过程

 $foo = $db->exec("webBackup");

两者似乎都在进行备份,但最终都失败了。我可以在 SQL 性能监视器中看到它似乎正在执行备份,但有时它会停止。

没有返回错误或在 php 日志中,但我在 SQL 日志中得到 3 个错误:

来源:备份 - BACKUP 未能完成命令 BACKUP DATABASE PWNT。检查备份应用程序日志以获取详细消息。

来源:备份 - 错误:3041,严重性:16,状态:1。

来源:MSSQLSERVER - BACKUP 未能完成命令 BACKUP DATABASE PWNT。检查备份应用程序日志以获取详细消息。

我查看了权限问题,并且还打开了我能找到的任何超时设置。备份运行时大约需要 3 分钟。

【问题讨论】:

  • this 有帮助吗?
  • 不幸的是,我已经通过了该线程,它引导我访问的日志是上述错误来自的 SQL 日志。我认为应用程序的“备份应用程序日志”是我的应用程序,当我尝试运行备份时,我的应用程序中没有错误或返回到它。

标签: php sql-server pdo


【解决方案1】:

我今天遇到了类似的问题,虽然使用的是 Laravel 的 Illuminate\Support\Facades\DB

使用DB::statement(<query>) 我遇到了和你一样的问题,但是使用DB::select(DB::raw(<query>) 它可以工作(它只是抛出一个小异常,但没关系)。

在您的情况下,这可能是使用$db->exec(<query>)$db->query(<query>) 之间的区别吗?违反直觉,我知道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-02
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多