由于本人刚刚学SQL,有许多不懂,请各位前辈多多指点!
近日在书上看到一实例创建SQL数据库,是用书本的附带光盘里的bak文件进行恢复.网上都是用restore database语句,所以本人在查询分析器中输入:
restore database caiwubook
from disk='E:\VFPKF\示例\CHAP4\建库脚本\caiwubook.bak'结果是:
服务器: 消息 5105,级别 16,状态 2,行 1
设备激活错误。物理文件名 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Data.MDF' 可能有误。
服务器: 消息 3156,级别 16,状态 1,行 1
文件 'caiwubook_Data' 无法还原为 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Data.MDF'。请使用 WITH MOVE 选项来标识该文件的有效位置。
服务器: 消息 5105,级别 16,状态 1,行 1
设备激活错误。物理文件名 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Log.LDF' 可能有误。
服务器: 消息 3156,级别 16,状态 1,行 1
文件 'caiwubook_Log' 无法还原为 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Log.LDF'。请使用 WITH MOVE 选项来标识该文件的有效位置。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。
本人的SQL服务器程序和数据都是放在e盘上,从光盘上拷贝下来的数据库备份文件夹里有caiwubook.bak,caiwubook_Data.MDF,caiwubook_Log.LDF三个文件,放在E:\VFPKF\示例\CHAP4\建库脚本\里.
不知是什么原因?请赐教!!!
近日在书上看到一实例创建SQL数据库,是用书本的附带光盘里的bak文件进行恢复.网上都是用restore database语句,所以本人在查询分析器中输入:
restore database caiwubook
from disk='E:\VFPKF\示例\CHAP4\建库脚本\caiwubook.bak'结果是:
服务器: 消息 5105,级别 16,状态 2,行 1
设备激活错误。物理文件名 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Data.MDF' 可能有误。
服务器: 消息 3156,级别 16,状态 1,行 1
文件 'caiwubook_Data' 无法还原为 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Data.MDF'。请使用 WITH MOVE 选项来标识该文件的有效位置。
服务器: 消息 5105,级别 16,状态 1,行 1
设备激活错误。物理文件名 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Log.LDF' 可能有误。
服务器: 消息 3156,级别 16,状态 1,行 1
文件 'caiwubook_Log' 无法还原为 'E:\图书创作\数据库开发实例\book\财务管理系统\建库脚本\caiwubook_Log.LDF'。请使用 WITH MOVE 选项来标识该文件的有效位置。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。
本人的SQL服务器程序和数据都是放在e盘上,从光盘上拷贝下来的数据库备份文件夹里有caiwubook.bak,caiwubook_Data.MDF,caiwubook_Log.LDF三个文件,放在E:\VFPKF\示例\CHAP4\建库脚本\里.
不知是什么原因?请赐教!!!
RESTORE DATABASE { database_name | @database_name_var }
[ FROM < backup_device > [ ,...n ] ]
[ WITH
[ RESTRICTED_USER ]
[ [ , ] FILE = { file_number | @file_number } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]
[ ,...n ]
[ [ , ] KEEP_REPLICATION ]
[ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] REPLACE ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
指定你计算机上的存放数据文件和日志文件的位置
即是我自己SQL server存放数据文件的路径?对吗?????
RESTORE FILELISTONLY FROM DISK = N'F:\Trans' WITH FILE = 1 , NOUNLOAD
--还原数据库
RESTORE DATABASE [aaaa] FROM DISK = N'F:\Trans' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY , MOVE N'ph_roadFreight_Data' TO N'f:\zk2.mdf', MOVE N'ph_roadFreight_Log' TO N'f:\zk2_log.ldf'
先用
RESTORE FILELISTONLY FROM DISK='XXX.bak'查看要还原的数据库备份文件的逻辑名我自己的情况:
RESTORE FILELISTONLY from disk='E:\VFPKF\示例\CHAP4\建库脚本\caiwubook.bak'
查看到此备份文件的逻辑文件名为:caiwubook_data caiwubook_logrestore database caiwubook
from disk='E:\VFPKF\示例\CHAP4\建库脚本\caiwubook.bak'
with
move 'caiwubook_Data' to 'E:\SunnySQL\MSSQL$SONG\Data\caiwubook_Data.mdf',
move 'caiwubook_Log' to 'E:\SunnySQL\MSSQL$SONG\Data\caiwubook_Log.ldf'谢谢各位,多多交流~~~~