通过php脚本和odbc备份数据库

通过php脚本和odbc备份数据库,php,sql,sql-server,odbc,Php,Sql,Sql Server,Odbc,数据库数组变量如下所示: $_CONFIG['db_databases'] = array( // Datenbanken 'acc' => 'ACCOUNT_DBF', 'chr' => 'CHARACTER_01_DBF', 'web' => 'WEBSITE_DBF', 'log' =>

数据库数组变量如下所示:

$_CONFIG['db_databases'] = array(                                                           // Datenbanken
        'acc' => 'ACCOUNT_DBF',
        'chr' => 'CHARACTER_01_DBF',
        'web' => 'WEBSITE_DBF',
        'log' => 'LOGGING_01_DBF',
        'eocrm' => 'EoCRM_DBF',
        'eocrm_r' => 'EoCRM_DBF_R',
        'itm' => 'ITEM_DBF',
        'mng' => 'MANAGE_DBF',
        'rnk' => 'RANKING_DBF',
    );
$_CONFIG['db_backup_path'] = 'C:\xampp\htdocs\extras\Backups - Database';

path变量如下所示:

$_CONFIG['db_databases'] = array(                                                           // Datenbanken
        'acc' => 'ACCOUNT_DBF',
        'chr' => 'CHARACTER_01_DBF',
        'web' => 'WEBSITE_DBF',
        'log' => 'LOGGING_01_DBF',
        'eocrm' => 'EoCRM_DBF',
        'eocrm_r' => 'EoCRM_DBF_R',
        'itm' => 'ITEM_DBF',
        'mng' => 'MANAGE_DBF',
        'rnk' => 'RANKING_DBF',
    );
$_CONFIG['db_backup_path'] = 'C:\xampp\htdocs\extras\Backups - Database';

下面是备份函数的完整代码,该函数循环遍历数组“db_databases”中的每个数据库

foreach($_CONFIG['db_databases'] as $type => $strNameOfDatabase) {
        if($type != 'log') {
            if(@odbc_exec($odbc_connect, "
                BACKUP DATABASE [$strNameOfDatabase]
                TO DISK = '" . $_CONFIG['db_backup_path'] . "\\" . date('Y') . "\\" . date('m') . "\\$date-$strNameOfDatabase.bak'
                WITH NOFORMAT, NOINIT, NAME = N'$strNameOfDatabase - Full Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
            ")) {
                $notifyArray[] = "Success: Back up of [$strNameOfDatabase]";
            }
            else {
                $notifyArray[] = "Error: Back up of [$strNameOfDatabase]";
            }
        }
    }

我不知道它为什么不起作用。我试图手动在mssql 2014中执行相同的脚本,它执行并备份了数据库。路径或其他方面有问题吗?

与使用SSMS内置的工具相比,您为什么需要这样做?我在我的网站上制作了一个管理面板,它只是管理面板的功能之一,用于备份数据库阵列中的数据库。您会遇到什么错误?