从别的机器上备份了一个数据库,文件名www.fars.com.cn_backup_2010_04_06_162949_8750000.bak,该机器上的sql2005的版本不明确,现在在我的机器上安装了sql2005企业版,为了还原这个数据库,我新建了一个数据库,名字叫www.fars.com.cn,数据库的保存地址是C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA,我把这个备份文件复制到C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup,然后选择数据库还原,常规中选择源设备,选择刚才复制的备份文件,确定后就提示失败,说执行语句或批处理时发生了异常,其他信息:设备C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\www.fars.com.cn_backup_2010_04_06_162949_8750000.bak上的媒体簇结构不正确。这是什么原因,该如何解决这个问题?
RESTORE DATABASE 数据库名
FROM DISK='bak文件完整路径'
WITH REPLACE
2005转到2000的步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 生成脚本
-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库
-- 勾选"为所选数据库中的所有对象编写脚本"
-- 在接下来的"选择脚本选项"中, 将”编写创建数据库的脚本”设为True,找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"
-- 其他选项根据需要设置
-- 最后把脚本保存到一个 .sql 脚本文件2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库3. 将数据从2005导到2000
打开SQL Server 2000的企业管理器
-- 右键要导入数据的数据库
-- 任务
-- 导入数据
-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库
-- 在"选择数据源"步骤中, 连接到 2005, 并选择源数据库
-- 在"选择源表和源视图"中, 选择所有的表
-- 最后完成
FROM DISK='F:\www.fars.com.cn_backup_2010_04_06_162949_8750000.bak'
WITH REPLACE 这么执行的,错误提示:
消息 102,级别 15,状态 1,第 1 行
'.' 附近有语法错误。
消息 319,级别 15,状态 1,第 3 行
关键字 'with' 附近有语法错误。如果此语句是公用表表达式或 xmlnamespaces 子句,那么前一个语句必须以分号结尾。
FROM DISK='F:\www.fars.com.cn_backup_2010_04_06_162949_8750000.bak'
WITH REPLACE
设备 'F:\www.fars.com.cn_backup_2010_04_06_162949_8750000.bak' 上的媒体簇的结构不正确。SQL Server 无法处理此媒体簇。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 正在异常终止。我怀疑是不是备份时就有问题,或者说给的文件不够啊。