sql-server - SQL Server : Database stuck in “Restoring” state with PHP

标签 sql-server pdo restore

我尝试按照 SQL Server: Database stuck in "Restoring" state 的指示备份我的数据库。但我的数据库陷入“正在恢复”状态。 php代码如下:

$database = "container";
$uid = "sa";
$pwd = "12345" ; 

try {
      $conn = new PDO( "sqlsrv:Server=localhost\SQLEXPRESS;Database=$database", 
          $uid, 
          $pwd
          //,array(PDO::ATTR_PERSISTENT => true)
          ); 
  $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); }
catch( PDOException $e ) {
  die( "Error connecting to SQL Server" ); }

echo "Connected to SQL Server\n";

$backfile = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\sql server bk' ;
echo "Connected to SQL Server\n";
$backfile = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\sql server bk'  ;

$query = "RESTORE DATABASE child_database FROM DISK = '$backfile' WITH  REPLACE, RECOVERY ";
$conn->exec($query);

运行此代码后,我的 child_database 陷入恢复状态。但是我复制了 sql 命令

RESTORE DATABASE child_database FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\sql server bk' WITH  REPLACE, RECOVERY

并在microsoft sql server管理工具中运行它工作得很好。

我尝试运行添加 php 代码

$conn->exec("RESTORE DATABASE child_database WITH RECOVERY");

我有一个异常(exception)。

请帮忙。

最佳答案

PDO 驱动程序似乎有问题,该问题可能出现在构建驱动程序的 ODBC/SNAC 层中。但这个数据库恢复与其他驱动程序配合得很好。 我尝试使用 sqlsrv 和 mssql,它们运行良好。 欲了解更多详情,请参阅 Restoring a SQL Server Database from PHP

关于sql-server - SQL Server : Database stuck in “Restoring” state with PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050799/

相关文章:

Android CheckBox -- 屏幕旋转后恢复状态

SQL 服务器 : Bulk Insert into table with computed column

sql - 其中 CLAUSE 和 NULL 值

SQL:如何使用计算更新所有行?

sql - Powershell : error report while Import CSV file to SQL server

php 或浏览器无法识别 PDO 中的 "->"

php - 如何在 LIMIT 子句中应用 bindValue 方法?

java - 测试时如何恢复表中的一条记录/行?

php - 从 sqlite pdo 获取数组与 php 连接查询

java - 是否可以在 android 中备份和恢复数据库文件?非根设备