教你如何用SQL备份和还原数据库

数据库的备份和恢复
一、备份数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录
3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库
4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份
二、还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称-->然后点上面菜单中的工具-->选择恢复数据库
4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001.mdf,现在的数据库是zw0002,就改成zw0002.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是.ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:\sqldata\zw0002.mdf或者d:\sqldata\zw0002.ldf),否则恢复将报错
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复
三、设定每日自动备份数据库
1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器
2、然后点上面菜单中的工具-->选择数据库维护计划器
3、下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->下一步检查数据完整性,也一般不选择
4、下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择每天备份后点确定
5、下一步指定备份的磁盘目录,选择指定目录,如您可以在D盘新建一个目录如:d:\databak,然后在这里选择使用此目录,如果您的数据库比较多最好选择为每个数据库建立子目录,然后选择删除早于多少天前的备份,一般设定4-7天,这看您的具体备份要求,备份文件扩展名一般都是bak就用默认的
6、下一步指定事务日志备份计划,看您的需要做选择-->下一步要生成的报表,一般不做选择-->下一步维护计划历史记录,最好用默认的选项-->下一步完成
7、完成后系统很可能会提示Sql Server Agent服务未启动,先点确定完成计划设定,然后找到桌面最右边状态栏中的SQL绿色图标,双击点开,在服务中选择Sql Server Agent,然后点击运行箭头,选上下方的当启动OS时自动启动服务
8、这个时候数据库计划已经成功的运行了,他将按照您上面的设置进行自动备份



 --完整备份
  Backup Database NorthwindCS
  To disk='G:BackupNorthwindCS_Full_20070908.bak'
  --差异备份
  Backup Database NorthwindCS
  To disk='G:BackupNorthwindCS_Diff_20070908.bak'
  With Differential
  --日志备份,默认截断日志
  Backup Log NorthwindCS
  To disk='G:BackupNorthwindCS_Log_20070908.bak'
  --日志备份,不截断日志
  Backup Log NorthwindCS
  To disk='G:BackupNorthwindCS_Log_20070908.bak'
  With No_Truncate
  --截断日志不保留
  Backup Log NorthwindCS
  With No_Log
  --或者
  Backup Log NorthwindCS
  With Truncate_Only
  --截断之后日志文件不会变小
  --有必要可以进行收缩
  --文件备份
  Exec Sp_Helpdb NorthwindCS --查看数据文件
  Backup Database NorthwindCS
  File='NorthwindCS'   --数据文件的逻辑名
  To disk='G:BackupNorthwindCS_File_20070908.bak'
  --文件组备份
  Exec Sp_Helpdb NorthwindCS --查看数据文件
  Backup Database NorthwindCS
  FileGroup='Primary'   --数据文件的逻辑名
  To disk='G:BackupNorthwindCS_FileGroup_20070908.bak'
  With init
  --分割备份到多个目标
  --恢复的时候不允许丢失任何一个目标
  Backup Database NorthwindCS
  To disk='G:BackupNorthwindCS_Full_1.bak'
  ,disk='G:BackupNorthwindCS_Full_2.bak'
  --镜像备份
  --每个目标都是相同的
  Backup Database NorthwindCS
  To disk='G:BackupNorthwindCS_Mirror_1.bak'
  Mirror
  To disk='G:BackupNorthwindCS_Mirror_2.bak'
  With Format --第一次做镜像备份的时候格式化目标
  --镜像备份到本地和远程
  Backup Database NorthwindCS
  To disk='G:BackupNorthwindCS_Mirror_1.bak'
  Mirror
  To disk='\192.168.1.200BackupNorthwindCS_Mirror_2.bak'
  With Format
  --每天生成一个备份文件
  Declare @Path Nvarchar(2000)
  Set @Path ='G:BackupNorthwindCS_Full_'
  +Convert(Nvarchar,Getdate(),112)+'.bak'
  Backup Database NorthwindCS
  To disk=@Path
  --从NoRecovery或者
  --Standby模式恢复数据库为可用
  Restore Database NorthwindCS_Bak
  With Recovery
  --查看目标备份中的备份集
  Restore HeaderOnly
  From Disk ='G:BackupNorthwindCS_Full_20070908.bak'
  --查看目标备份的第一个备份集的信息
  Restore FileListOnly
  From Disk ='G:BackupNorthwindCS_Full_20070908_2.bak'
  With File=1
  --查看目标备份的卷标
  Restore LabelOnly
  From Disk ='G:BackupNorthwindCS_Full_20070908_2.bak'
  --备份设置密码保护备份
  Backup Database NorthwindCS
  To disk='G:BackupNorthwindCS_Full_20070908.bak'
  With Password = '123',init
  Restore Database NorthwindCS
  From disk='G:BackupNorthwindCS_Full_20070908.bak'
  With Password = '123'
本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接:http://www.hackbase.com/tech/2009-01-23/43244.html

你可能感兴趣的:(sql,SQL Server,Microsoft,OS)