SQLserver完全、差异、日志备份与恢复命令
all-sql-about_bak_restore(一): #完全备份 #差异备份 #日志备份
#列出备份集中包含的文件信息 #逐个恢复备份集,恢复数据库到指定时间点 --清空备份记录 all-sql-about_bak_restore(二): #完全备份 BACKUP DATABASE [timeRecord] TO? DISK = N'C:Program FilesMicrosoft SQL ServerMSSQL12.FANTASYMSSQLBackuptimeRecord.bak' WITH? RETAINDAYS = 9,NOFORMAT,NOINIT,? NAME = N'timeRecord-完整 数据库 备份',SKIP,NOREWIND,NOUNLOAD,COMPRESSION,? STATS = 10,CHECKSUM
BACKUP LOG [timeRecord] TO? DISK = 'C:Program FilesMicrosoft SQL ServerMSSQL12.FANTASYMSSQLBackuptimeRecord_log.bak' WITH? DESCRIPTION = '日志备份',? RETAINDAYS = 7,FORMAT,INIT,? NAME = 'timeRecord-日志备份',? STATS = 10 C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLBackup
BACKUP DATABASE [timeRecord] TO? DISK = N'C:Program FilesMicrosoft SQL ServerMSSQL12.FANTASYMSSQLBackuptimeRecord_diff.bak' WITH? RETAINDAYS = 9,? COMPRESSION,?? DIFFERENTIAL; ======================== #完全备份 #查看备份介质中的备份信息 backup database zhaotest to disk = 'C:mssqlbackupzhaotest.all.1.bak' backup database zhaotest to disk='C:mssqlbackupzhaotest.all.2.bak'? backup log zhaotest to disk = 'C:mssqlbackupzhaotest.all.3.bak'? backup log zhaotest to disk = 'C:mssqlbackupzhaotest.all.4.bak'? restore database zhaotest from disk= 'C:mssqlbackupzhaotest.all.3.bak'? restore database zhaotest from disk='C:MSSQLBackupzhaotest.all.2.bak' restore log zhaotest from disk='C:MSSQLBackupzhaotest.all.3.bak' restore database zhaotest with recovery; all-sql-about_bak_restore(四): 实验一?SQLserver完全备份,差异备份,日志备份并且恢复到指定的时间点 示例: 备份(要求在每次备份前,都要向数据库里更新数据) 恢复到指定时间点 要求,把操作的步骤截图,贴到下面(至少要含有备份成功,恢复成功的步骤),如果恢复遇到数据库被占用的问题,请参考附录进行解决 ?? 附录: 还原sql server数据库遇到如下问题 该问题主要是你在还原的时候还有其他进程连在上面,导致无法获得独占造成的。 解决思路: 步骤 USEMaster ALTERDATABASE?数据库名称?SETOFFLINEWITHROLLBACKIMMEDIATE 如果此时还原还是不行。可能是删完进程马上有新的进程连进来,导致一直失败。应用程序一直不停的进行数据库链接 这时,可以在单用户下还原。 设置方式:选中要还原的数据库-->属性选项限制访问 该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式 这是GUI的模式,语句的办法比较简单 MASTER Go ?数据库名字?SINGLE_USERIMMEDIATE;??? GO 设置单用户数据库必须要超级用户 或者使用 删除连在上面的进程,回滚未提交的事务,然后还原。 1.查询要还原的数据库ID Select*frommaster..sysdatabaseswherename=''; 2.获取该数据库的进程 sys.sysprocessesaa.dbid3.杀掉连接在上面的进程 kill@spid; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |