一、数据库备份     

  1、右键“ 数据库名称 ” → “ 任务 ”→ “ 备份(B)... ”,弹出备份页,如图:

  

sql server打开备份文件 sql server 备份文件_SQL Server

  2、其他项不变,单击“ 目标 ”项下的“ 添加 ”,如图,设置备份目录及文件名后,“ 确定 ”:

  

sql server打开备份文件 sql server 备份文件_SQL Server_02

  

sql server打开备份文件 sql server 备份文件_sql server打开备份文件_03

  3、如上图,备份类型选择“ 完整 ”,选中自己的备份路径,单击“ 确定 ”,如图,则备份成功:

  

sql server打开备份文件 sql server 备份文件_SQL_04

 

通常我们讲的还原数据库是指还原文件到数据库。注意,SQL2000,备份的文件可以还原到高版本的SQL server上,而高版备份文件却还原不了低版本的SQL server。

二、正常还原流程  

      首先,当然是要备份好一份SQL的数据文件。

      第二步,新建跟备份的数据库名称相同的数据库;

      第三步,右键新建的数据库 " 任务 → 还原(R) → 数据库(D)... ";

      第四步,在弹出窗口 " 常规 " 中选择 " 源设备 " ,选择备份文件路径,如下图:

  

sql server打开备份文件 sql server 备份文件_数据库_05

      第五步,点击 " 确定 " ,如下图,勾选备份集: 

     

sql server打开备份文件 sql server 备份文件_文件路径_06

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA' ),若备份数据库机器与还原不在同一台计算机上,勾选 " 覆盖现有数据库 " 如下图:

  

sql server打开备份文件 sql server 备份文件_数据库_07

  

      第七步,如下图,还原成功:

  

sql server打开备份文件 sql server 备份文件_文件路径_08

二、常见问题

1、sql2008 " 备份集中的数据库备份与现有的xx数据库不同 "

问题:因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原。

(1)、右击系统数据库master,新建查询,执行以下SQL代码:

RESTORE DATABASE xxx
FROM DISK = 'F:\DB\xxx.bak'   --bak文件路径
with replace,
MOVE 'xxx' TO 'F:\DB\TraceMVC_150107\xxx.mdf',   --mdf文件路径
MOVE 'xxx_log' TO 'F:\DB\TraceMVC_150107\xxx.ldf'   --ldf文件路径

注释:xxx是需要还原的数据库名称,xxx.bak是需要还原的备份文件。

(2)、上面方法执行成功后,只有部分的表结构已经还原,而且表中没有数据,这时就可以用系统默认的方法再用xxx.bak文件还原一次数据库,必须要选中 " 覆盖现有数据库 "。

2、问题:

还原 对于 服务器“YIYI-PC”失败。  (Microsoft.SqlServer.SmoExtended)

System.Data.SqlClient.SqlError: 介质集有 2 个介质簇,但只提供了 1 个。必须提供所有成员。 (Microsoft.SqlServer.Smo)

问题原因:备份的时候选择了两个或多个路径。

解决方法:

方案一:将所有的备份路径下的两个或者多个文件全部拷到还原的机器上,还原的时候同时添加这两个文件。

方案二:重新备份只选择一个备份路径。