详细教程:SQL2008数据库备份与还原全流程!
数据的安全性至关重要,无论是操作系统、重要文件、磁盘存储,还是企业数据库,备份都是保障其安全和完整性的关键手段。拥有备份意味着即使发生误删、系统崩溃或病毒攻击等问题,也能迅速通过恢复功能解决,避免数据丢失带来的损失,让恢复过程变得简单而高效。
在企业环境中,SQL Server 2008 数据库依然有广泛应用。为了确保数据安全性和完整性,使用 SQL Server 2008 进行数据库备份与还原是常见的保护措施。通过定期备份数据库,企业能够快速在系统发生故障或数据损坏时恢复到可用状态,降低宕机时间,保障业务连续性,从而减少可能带来的经济损失。
实际上,数据库备份和还原的方法多种多样。为了让大家能够轻松掌握并实际操作,接下来将介绍两种简单且常见的 SQL Server 备份与还原方式:
- 使用 SQL Server Management Studio (SSMS) 进行备份和还原。
- 利用专业备份软件进行数据库备份和恢复。
您可以根据自身需求和环境,选择最适合的备份方式,为数据库安全提供更强有力的保障。
SQL Server是目前一种比较流行的数据库类型,它包含数据库核心、DBMS、管理客户端。而SSMS(SQL Server Management Studio的简称)则为管理SQL Server基础架构的集成环境,它可以与SQL Server数据库本身安装在同一台数据库,也可以独立安装,然后连接远程的SQLServer数据库。
那么我们该如何使用SSMS来执行SQL2008数据库备份与还原任务呢?大家可以参照以下流程并逐步进行操作。另外,这种方式也同样适用于SQL2000数据库备份与还原或者其他SQL数据库备份与还原任务,大家可以触类旁通,举一反三。
1. 打开SSMS,在对象资源管理器列表中找到您想要备份的数据库,然后右键点击它并选择“任务”>“备份”。
2. 在弹出的备份数据库窗口中先删除原来的默认备份位置,然后再点击“添加”以设置您想要备份到的目标位置。
3. 在弹出的选择备份目标窗口中,点击文件名右侧的点点按钮,然后选择一个存储数据库备份的目标路径,并在下方将文件类型设置为“所有文件”,再为此备份备注一个名称(通常来说为了后期查找方便可以使用数据库名称+日期来命名,并以.bak后缀结尾),然后再点击“确定”即可完成数据库备份任务。
1. 打开SSMS,同样在对象资源管理器列表中找到您之前备份过的数据库,然后右键单击它并选择“任务”>“还原”>“数据库”。
2. 在弹出窗口中选择还原的源区域中的“源设备”,然后点击其右侧的点点按钮。
3. 在弹出的指定备份窗口中,点击“添加”按钮,找到数据库备份的路径,找到您之前备份的数据库文件,然后在下方文件类型中选择所有文件,再连续点击两次“确定”即可。
4. 在还原数据库窗口中,勾选选择用于还原的备份集下的数据库前的复选框。
5. 从常规选择页转到选项选择页,然后勾选“覆盖现有数据库”,再点击“确定”即可完成SQL2008数据库备份与还原任务。
SSMS作为一个SQL Server管理程序,它能够帮助我们完成一些简单的数据库的备份与还原任务,但是它只适用于少量数据库的备份任务,因为它不支持大批量的备份,一次仅能备份还原一个数据库,效率可能不会太高。
傲梅企业备份旗舰版就是一个全面的企业备份解决方案,提供了用于SQL server数据库备份和恢复的专用功能,凭借其用户友好的操作界面以及专业的备份功能,大大简化了备份还原数据库的过程,能够更加轻松地保护数据库的安全,并在需要的时候快速还原数据库。
- 简单易用:用户界面整洁直观,操作方法简单易学,无需编写任何代码即可轻松配置SQL数据库备份还原任务。
- 批量备份:支持对局域网内客户端计算机上的多个SQL数据库实例进行集中化批量化的备份还原任务,包括SQL Express。
- 备份计划:支持创建备份计划,使其按照每天、每周、每月自动执行数据库备份任务,无需人工操作。
- 备份路径:支持备份到本地磁盘、网络共享位置、NAS等(SMB协议共享)。
傲梅企业备份旗舰版支持Microsoft SQL Server(2005-2022),VMware ESXi(6.0及以上版本)和Hyper-V(Windows 8/8.1/10/11,Windows Server/Microsoft Hyper-V Server 2012 R2及更高版本)。如果您觉得还不错的话可以点击下方按钮进入下载中心下载安装傲梅企业备份旗舰版,然后跟着我们的演示教程一起看看怎么轻松备份数据库吧!
在开始备份数据库之前,我们需要先安装代理客户端,所以请您在主机端登录傲梅企业备份旗舰版,在主界面点击“设备”>“代理设备”>“下载代理”。
等待下载完成之后再将此代理客户端安装到您需要备份SQL数据库的计算机上,然后打开傲梅企业备份旗舰版客户端,在出现的客户端界面中输入您主机端的IP地址与端口号,点击“连接”即可。在此之后,您就可以在主机端的设备页面中看到此客户端上的SQL Server数据库信息了。
在安装完代理客户端,并且成功建立控制连接之后,还需要验证一下数据库实例,所以请您点击“设备”>“Microsoft SQL Server”,找到您的数据库,点击其右侧的三个小点图标,选择“身份验证”,并在弹出窗口中选择“SQL身份验证”,再输入账户密码,点击“验证”即可。
注意:除此之外还有一种远程安装代理的方法,就是点击“设备”>“代理设备”>“添加代理”,然后输入客户端计算机的IP地址与用户信息,点击“确定”即可开始远程安装代理。
安装完代理客户端之后,我们就可以开始备份SQL Server数据库了,请您参考以下流程并逐步进行操作:
1. 在傲梅企业备份旗舰版主界面中点击“任务”>“备份任务”>“新建任务”。
2. 在弹出页面中您可以设置详细的SQL Server备份任务配置。
- 备份类型:选择Microsoft SQL Server备份任务。
- 任务名:您可以自行备注此备份任务的名称以便后期区分查找。
- 设备:选择您想要备份的数据库实例。
- 备份目标:选择您想要将数据库备份到的目标位置。
- 备份计划:选择您想要的备份方式和备份计划(每天/每周/每月)。
- 版本清理:配置保留策略以自动删除旧备份文件节省存储磁盘空间。
- 邮件通知:启用邮件通知后等待备份任务执行完毕之后将自动发送一封邮件到预留的邮箱。
3. 确认无误之后就可以点击右下角的“开始备份”按钮即可,如果设置了备份计划的话则请选择“添加定时任务并立即备份”或“仅添加定时任务”,创建的任务将单独列出和监控,以进行恢复、进度检查和计划更改。
在此之后,如果您需要还原数据库的话,可以转到“备份管理”>“历史版本”,找到您想要还原的数据库备份版本,点击其右侧的三个小点图标,选择“还原”,然后您可以选择还原到原位置或新位置,非常方便。
本文主要向大家简单介绍了一下数据库安全对企业业务正常运转的重要性,并分享了2个简单有效的SQL2008数据库备份与还原方法,帮助大家更好地保护自己的SQL数据库安全,大家可以根据自身实际情况来选择一种更加适合自己的数据库备份还原解决方案。
Oracle数据库的备份与恢复,实用易学简单,转发收藏备用
Oracle数据库非常强大,有其自己的备份与恢复机制,并且细分,只要配置合理,完全可以保证数据库的完整,免去运维人员的后顾之忧。
Oracle数据库使用RMAN备份,需要把数据库的非归档模式改成归档模式。
一、更改数据库的归档模式需要重新启动数据库,在mount模式下修改(三种启动模式nomount—mount— open)。
具体步骤如下:
1、进入数据库后,关闭数据库
SQL>shutdown immediate
2、启动数据库到mount状态
SQL>startup mount
3、改变数据库为归档模式
SQL>alter database archivelog;(归档改为非归档语句为alter database noarchivelog;)
4、验证方式
SQL>alter database open;(打开数据库)
SQL>archive log list
二、启动控制文件的自动备份
RMAN>configure controlfile autobackup on;
RMAN>show controlfile autobackup ;(验证)
三、全库备份
3.1最简单的全库备份
RMAN>backup database;
RMAN>list backup;(验证)
RMAN>list backup summary;(验证)
四、脚本备份
4.1查看linux系统oracle用户的环境变量,从而知道需要备份数据库的名称和实例
$ cat /home/oracle/.bash_profile
主要看ORACLE_SID=orcl
4.2在RMAN中设置冗余数(备份的次数,根据需要,一次备份的数据大小,备份的磁盘空间大小来决定)。
$ rman target/
RMAN>configure retenticn policy to redundancy 10;(这里设置为10次)
4.3规划备份的目录
/usr/local/oradata/orcl/RmanBackup,如果没有,创建即可,这里需要注意这个文件夹必须属于oracle用户。
4.4全量备份脚本如下图
这个0级全量备份脚本需要在oracle用户下执行,并且需要把脚本chmod为775权限。
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 0 tag \’db0\’ format
\’/usr/local/oradata/orcl/RmanBackup/db0_%d_%U\’ database include current controlfile;
delete noprompt obsolete;
release channel c1;
}
#end
把以上脚本放置到crontab中,可以设置自动执行。
4.3增量备份脚本
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 1 tag \’db1\’ format
/usr/local/oradata/orcl/RmanBackup/db1_%d_%T_%s\’ database include current controlfile;
delete noprompt obsolete;
release channel c1;
}
#end
Oracle数据库的恢复需要在oracle用户下执行,恢复内容包括控制文件*.ctl,重组日志文件*.log,数据库文件*.dbf。
一、恢复dbf文件
前提条件是Oracle数据库的初始化spfile文件,控制文件、重组日志文件、归档日志、备份都可以正常使用。
现在先删除dbf文件。
1、关闭数据库,再重新数据库,进入数据库
1.1 $ sqlplul / as sysdba
SQL>shutdown immediate(无法正常关闭,原因是没有数据库文件)
SQL>shutdown abort(强制关闭)
1.2 SQL>startup(无法正常启动,原因是没有数据库文件)
1.3恢复
$ rman target/
Oracle数据库没有处于open状态,这是因为数据库找不到数据文件,所以目前的数据库处于mount状态。
1.3.1 还原文件
RMAN> restore database;
1.3.2验证
进入存放dbf文件的目录查看,dfb文件已经被恢复。
1.3.3继续恢复数据
RMAN> recover database;
1.3.4打开数据库的open状态
RMAN> sql \’alter database open\’;
恢复完成,下面退出oracle数据库的rman环境,重新进入数据库。
[oracle@shell ~]$ sqlplus / as sysdba
SQL> select instance_name,status from v$instance;
查看重做日志文件是否为原来的重做日志文件
SQL> archive log list;
由上图显示,数据库的重做日志的序号没有从1开始,证明还是原来的重做日志。数据库进行了完全恢复。
恢复成功后,最好立刻备份数据。
二、重做日志文件损坏的恢复
2.1确定数据库的备份状态
必须是oracle用户,执行rman target/
查看数据库备份信息
2.2删除重做日志文件
2.3重做日志
$sqlplus / as sysdba
SQL> alter system switch logfile;
数据库会报错
这里第一行主要出现
ORA-01034: ORACLE not available的错误
此时可以重新启动到mount状态
SQL> startup mount;
继续恢复
SQL> alter database open resetlogs;
SQL> select * from v$log;
SQL> alter database open resetlogs;
第一行出现错误,ORA-01139:RESETLOGS选项仅在不完全数据库恢复后有效。
SQL> recover database until time \’2021-06-16 09:09:09\’;
完成介质恢复。把数据恢复到6月19日9点09分09秒。
SQL> alter database open resetlogs;
数据库已经更改
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE例程已经关闭。
SQL> startup
ORACLE实例已经启动。
数据库装载完毕。
数据库已经打开。
SQL> select instance_name,status from v$instance;
查看文件.log文件在/usr/local/oradata/orcl目录下
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。