SQL server数据库的备份与还原遇到的问题

一、数据库备份

1.操作过程

选中要备份的数据库-----任务-----右键备份------选择存放的地址

2.注意事项

(1)选择存放地址时,记得自己写好文件名,还有备份文件的后缀.bak,否则备份后的文件在还原时,找不到.bak文件

(2)目标地址不要添加多个,不小心添加了多个备份目标(即多个备份路径),导致数据库的备份介质被分为多个部分,本来一个.bak后缀的备份文件就会被分为多个,所以在还原数据库的时候就需要提供全部的.bak文件,否则还原时就会失败并提示错误:备份介质集不完整。

二、数据库还原

1.操作过程

选择“数据库”文件夹 / 目标数据库-----右键(任务)还原(数据库)------在“源”中选择设备-----添加备份介质------选择一个.bak文件进行还原-----在“目标”中的数据库选择要还原到的那个数据库-----确定。

2.遇到的问题:数据库正在被访问

(1)解决方法一:

选择目标数据库,在属性-----选项-----状态-----限制访问-----改为SINGLE_USER(单用户访问模式)

(2)解决方法二:

①在还原数据库的操作界面,选择文件,将行数据、日志,都修改为与目标数据库同名的.mdf文件、.ldf文件,可以在以下地址中进行选择:C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA  ;

②在选项中,勾选覆盖原数据库,不勾选结尾日志备份,不勾选断开与目标数据库的链接;

③确定,这个问题就能解决了。

3.遗留问题

(1)结尾日志备份有什么作用呢?

默认权限下,数据库是允许多用户访问的,这个时候如果勾选了结尾日志备份,要求其他用户不能访问该数据库才行。不勾选该选项就是指,在还原数据库之前,不去备份结尾日志。

(2)为什么必须要覆盖原数据库?

因为目标数据库的结构可能会与要还原的数据库的结构不同。

你可能感兴趣的:(sqlserver,数据库)