我尝试按照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在恢复state.however时被卡住了,我复制了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管理工具中运行,它工作得很好。
我尝试运行add php code
$conn->exec("RESTORE DATABASE child_database WITH RECOVERY");我有个例外。
请帮帮忙。
发布于 2012-01-31 13:12:36
似乎PDO驱动程序有问题,这个问题可能存在于驱动程序所在的ODBC/SNAC层。但是,这种数据库恢复与其他驱动程序配合得很好。我尝试使用sqlsrv和mssql,它们工作得很好。有关更多详细信息,请参阅Restoring a SQL Server Database from PHP
https://stackoverflow.com/questions/9050799
复制相似问题