加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLSERVER 2008 restore database 错误一列(ocrr Msg 3176, Lev

发布时间:2020-12-12 13:38:41 所属栏目:MsSql教程 来源:网络整理
导读:偶然一次开发人员要求将一个uat环境的Sqlserver 2008 restore 一个database 的时候遇到 Msg 3176,Level 16,State 1,Line 1 这种报错: 备份的文件:db_c3_gzct_uat_tips.mdf.bak Msg 3176,Line 1 File 'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQL
Msg 3176,Line 1
File 'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips.mdf' is claimed by 'c3_model_prod_tips_data'(3) and 'c3_model_prod_tips_sys'(1). The WITH MOVE clause can be used to relocate one or more files.
Msg 3176,Line 1
File 'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips.mdf' is claimed by 'c3_model_prod_tips_idx'(4) and 'c3_model_prod_tips_sys'(1). The WITH MOVE clause can be used to relocate one or more files.
Msg 3013,Line 1
RESTORE DATABASE is terminating abnormally.


由于选的是GUI的界面操作,最后转化成scripts发现这个备份集其实有4个不同的文件如下(后从源环境检查数据文件也是4个):

RESTORE DATABASE db_c3_gzct_uat_tips
FROM? DISK = 'E:db_c3_gzct_uat_tips_db_20100914.bak'
WITH
MOVE 'c3_model_prod_tips_sys' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips.mdf',?
MOVE 'c3_model_prod_tips_data' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips.mdf',?
MOVE 'c3_model_prod_tips_idx' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips.mdf',?
MOVE 'c3_model_prod_tips_Log' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips.ldf'
GO


很明显sys、data、idx这3个数据文件均指向同一个db_c3_gzct_uat_tips.mdf文件 ,应该指向不同路径或指定不同文件名

RESTORE DATABASE db_c3_gzct_uat_tips
FROM? DISK = 'E:db_c3_gzct_uat_tips_db_20100914.bak'
WITH
MOVE 'c3_model_prod_tips_sys' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips_sys.mdf', ?
MOVE 'c3_model_prod_tips_data' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips_data.mdf',?
MOVE 'c3_model_prod_tips_idx' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips_idx.mdf',?
MOVE 'c3_model_prod_tips_Log' TO N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb_c3_gzct_uat_tips.ldf'
GO


最后restore database 成功。

【Reference】:http://msdn.microsoft.com/en-us/library/bb326318(v=sql.105).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

偶然一次开发人员要求将一个uat环境的Sqlserver 2008 restore 一个database 的时候遇到 Msg 3176,Level 16,State 1,Line 1 这种报错:

备份的文件:db_c3_gzct_uat_tips.mdf.bak

    推荐文章
      热点阅读