在PHP + sqlsrv中执行dbcc

时间:2017-04-19 12:57:15

标签: php sql-server sql-server-2016 sqlsrv

我在PHP中使用sqlsrv的脚本,它连接到SQL Server 2016数据库,并执行SQL查询并检索结果。到这里,没问题。 但是如果我尝试执行DBCC CHECKIDENT($ Table,RESEED,$ NextIdentity)或BACKUP DATABASE,则只要命令“打印”某些内容,sqlsrv_query函数就会返回,并返回FALSE。 例如:

sqlsrv_query( "BACKUP DATABASE MYDB TO DISK = 'C:\\Backup\\MYDB.bak'" );    

sqlsrv_query返回FALSE,而sqlsrv_errors包含:

Array
(
    [0] => Array
        (
            [0] => 01000
            [SQLSTATE] => 01000
            [1] => 3211
            [code] => 3211
            [2] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]10 percent processed.
            [message] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]10 percent processed.
        )

)

对于某些DBCC命令,可以使用它们指定“WITH TABLERESULTS”,这将解决问题,但我需要的特定DBCC不支持。

理想情况下,我想要一个同步的解决方案(例如,在返回之前等待备份结束)并允许我检查DBCC或BACKUP操作是否成功。

0 个答案:

没有答案