SQL Server:数据库仅在PHP中处于“恢复”状态

时间:2017-11-05 20:27:10

标签: php sql sql-server sqlsrv

当我使用SQL Server Management Studio还原数据库时,它可以正常工作。
但是当我从php恢复它时(使用函数sqlsrv_query),数据库就会陷入“恢复...”状态。

我使用的sql查询就是这个:

RESTORE DATABASE WEB FROM DISK = 'C:\Program Files (x86)\Zend\Apache24\htdocs\db\WEB.bak' WITH REPLACE,RECOVERY

我还尝试使用与php一起使用的相同用户(在sqlsrv_connect上)使用SQL Server身份验证模式登录并执行相同的查询,但它确实有效。只有PHP才能解决问题。

PHP代码:

<?php
$connection_info = array( "Database" => "master", "UID" => "sa", "PWD" => "workingpw" );
$sql_handle = sqlsrv_connect( "DESKTOP\SQLEXPRESS", $connection_info );
if( !$sql_handle ) die();
sqlsrv_configure( "WarningsReturnAsErrors", 0 );

sqlsrv_query($sql_handle, "RESTORE DATABASE WEB FROM DISK = '" . getcwd() . "\\db\\WEB.bak' WITH REPLACE,RECOVERY");
$stmt = sqlsrv_query($sql_handle, "USE WEB");

if($stmt === false)
{
    die(print_r(sqlsrv_errors())); 
}
else echo "Success!";
?>


PHP执行后出错 “[Microsoft] [用于SQL Server的ODBC驱动程序13] [SQL Server]数据库”WEB“无法打开。它正处于还原过程中。”发生。 Restoring state

请帮忙。

0 个答案:

没有答案
相关问题