AnyBackup-Microsoft SQL Server 复任务执行失败,附加信息中提示:文件名、目录名或卷标语法不正确
关键字
重命名 、非法字符
适用产品
- AnyBackup 7.0.x
问题描述
执行 Microsoft SQL Server 数据库恢复任务失败,任务执行信息中显示如下错误信息:
执行SQL语句发生异常。(错误提供者:mssqlcore,错误值:407502849,错误位置:ncMssqlDatabaseWriter.cpp:227)(附加信息:执行SQL语句(RESTORE DATABASE "**" FROM VIRTUAL_DEVICE='{38CE0C38-7E59-4F82-8EDF-008EBA8174E0}' with BLOCKSIZE=65536, MOVE 'xtest' TO 'F:\1\**.mdf', MOVE 'xtest_log' TO 'F:\1\**_Log.LDF', REPLACE)发生错误,错误原因:[Microsoft][ODBC SQL Server Driver][SQL Server]在对 'F:\1\**.mdf' 尝试 'RestoreContainer::ValidateTargetForCreation' 时,操作系统返回了错误 '123(文件名、目录名或卷标语法不正确。)'。ErrorCode:3634(错误提供者:mssqlcore,错误值:407502849,错误位置:ncMssqlOdbc.cpp:1337))(错误提供者:mssqlcore,错误值:407502849,错误位置:ncMssqlDatabaseWriter.cpp:100)(附加信息:获取VDI语句超时,可能原因:1.ODBC连接已断开;2.数据库正在使用,所以无法获得对数据库的独占访问权;3.服务端断开连接。(错误提供者:mssqlcore,错误值:407502849,错误位置:ncMssqlBaseVdi.cpp:216))(错误提供者:mssqlschedule,错误值:407502849,错误位置:ncRestoreSchedule.cpp:124) 异常提供者:mssqlschedule,异常号:407502849
问题影响
Microsoft SQL Server 数据库恢复失败。
问题原因
数据源中不允许有英文单引号、双引号 \ / : * ? " < > | 等特殊字符。
解决方案
AnyBackup Express 或 AnyBackup CDM 恢复数据库重命名时不使用特殊字符,具体步骤如下:
1.登录 AnyBackup 管理控制台,依次点击定时数据保护 > 数据恢复,点击新建。
2.配置恢复目的地选项时,在恢复后数据库名称处点击目标数据库名称,点击重命名数据库,在弹出的重命名数据库对话框中,修改数据库名,修改完成后点击确定。
注意:新数据库名中不允许有英文单引号、双引号 \ / : * ? " < > | 等特殊字符。
更多信息
数据源中若有英文单引号、双引号相关的命名相关的数据库,恢复任务会执行失败,同时,Windows 操作系统创建文件的时候不允许一些特殊字符,因此\ / : * ? " < > | 也不能在恢复数据库重命名的时候使用。