用友U8 在系统管理中引入帐套时提示错误,具体错误“逻辑文件名ufmodel不是数据库ufdata_931_2002的一部分.......”
用友U8 在系统管理中引入帐套时提示错误,具体错误“逻辑文件名ufmodel不是数据库ufdata_931_2002的一部分.......” 问题原因:问题说明: 数据库备份文件逻辑文件名称错误,数据库文件未损坏,可通过sql企业管理器进行bak还原,进行dbcc checkdb检查也无错误; 正常情况下逻辑文件名应为ufmodel、ufmodel_log,目前用户数据逻辑文件名为ufdata_931_2002_data、ufdata_931_2002_log;(bak还原完成后,从数据库属性中查看逻辑文件名显示正常,但实际上其逻辑文件名存在问题,对其做bak备份仍然保存的是错误的逻辑文件名); 解决方法:解决方法: 可通过脚本修改数据库的逻辑文件名即可,具体操作如下: 1、首先将数据备份文件ufdata.ba_释放成ufdata.bak文件(由于数据库文件有错,请先在sql7机器上使用数据库还原操作,不需要821); 2、在sql企业管理器中进行数据库还原操作,将ufdata.bak还原成数据库ufdata_931_2002; 3、还原操作时查看逻辑文件名是ufdata_931_2002_data/log,还原后查看逻辑文件名显示ufmodel_log/ufModel,但实际上仍是错误的ufdata_931_2002_data/log; 4、通过sql脚本修改逻辑文件名称(此处需要用到中间逻辑文件名称变量进行转换): --(1)、先修改日志逻辑文件名称 ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufdata_931_2002_log, NEWNAME =ufmodel_log_tmp) go ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufmodel_log_tmp, NEWNAME =ufmodel_log) go --(2)、再修改数据逻辑文件名称 ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufdata_931_2002_data, NEWNAME =ufmodel_tmp) go ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufmodel_tmp, NEWNAME =ufmodel) go 5、此时数据库逻辑文件名称已成功修改。 6、可对数据库进行bak备份,得到一个ufdata.bak文件; 7、使用rar压缩软件将ufdata.bak压缩成ufdata.rar文件,再重命名为ufdata.ba_文件; 8、用【原lst文件+新生成的ufdata.ba_文件】进行帐套引入操作即可。
解决方案:
问题原因:问题说明: 数据库备份文件逻辑文件名称错误,数据库文件未损坏,可通过sql企业管理器进行bak还原,进行dbcc checkdb检查也无错误; 正常情况下逻辑文件名应为ufmodel、ufmodel_log,目前用户数据逻辑文件名为ufdata_931_2002_data、ufdata_931_2002_log;(bak还原完成后,从数据库属性中查看逻辑文件名显示正常,但实际上其逻辑文件名存在问题,对其做bak备份仍然保存的是错误的逻辑文件名); 解决方法:解决方法: 可通过脚本修改数据库的逻辑文件名即可,具体操作如下: 1、首先将数据备份文件ufdata.ba_释放成ufdata.bak文件(由于数据库文件有错,请先在sql7机器上使用数据库还原操作,不需要821); 2、在sql企业管理器中进行数据库还原操作,将ufdata.bak还原成数据库ufdata_931_2002; 3、还原操作时查看逻辑文件名是ufdata_931_2002_data/log,还原后查看逻辑文件名显示ufmodel_log/ufModel,但实际上仍是错误的ufdata_931_2002_data/log; 4、通过sql脚本修改逻辑文件名称(此处需要用到中间逻辑文件名称变量进行转换): --(1)、先修改日志逻辑文件名称 ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufdata_931_2002_log, NEWNAME =ufmodel_log_tmp) go ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufmodel_log_tmp, NEWNAME =ufmodel_log) go --(2)、再修改数据逻辑文件名称 ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufdata_931_2002_data, NEWNAME =ufmodel_tmp) go ALTER DATABASE ufdata_931_2002 MODIFY FILE (NAME = ufmodel_tmp, NEWNAME =ufmodel) go 5、此时数据库逻辑文件名称已成功修改。 6、可对数据库进行bak备份,得到一个ufdata.bak文件; 7、使用rar压缩软件将ufdata.bak压缩成ufdata.rar文件,再重命名为ufdata.ba_文件; 8、用【原lst文件+新生成的ufdata.ba_文件】进行帐套引入操作即可。