SQL Server 数据库备份方法介绍

备份数据库是指对数据库或事务日志进行复制,当系统、磁盘或数据库文件损坏时,可以使用备份文件进行恢复,防止数据丢失。

  SQL Server数据库备份支持4种类型,分别应用于不同的场合,下面简要介绍。

  (1)完全备份

  完全备份,即完整数据库备份,可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。这是大多数人常用的方式,但需要花费更多的时间和空间,所以一般推荐一周做一次完全备份。 

  (2)事务日志备份

  事务日志备份时一个单独的文件,记录数据库的改变,备份时只需要复制上次备份以来对数据库所做的改变,可支持从数据库、差异或文件备份中快速恢复,时间少,速度快,推荐每小时甚至更频繁地备份事务日志。

  (3)差异备份

  在完整数据库备份之间执行差异数据备份,比完全备份小,因为只包含自完全备份以来所改变的数据库,优点是存储和恢复速度快。推荐每天做一次差异备份。

  (4)文件和文件组备份

  数据库一般由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能备份完,那么可以使用文件和文件组备份,每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以此种备份并不常用。

  本实例运用SQLDMO.backup对象完成整个系统数据库的备份。这使得在系统或数据库发生故障(如硬盘发生故障)时可以重建系统。

  备份整个数据库的语法如下:

BACKUP DATABASE {database_name|@database_name_var}
TO<backup_device>[,...n]
[WITH
        [BLOCKSIZE={blocksize|@blocksize_variable}]
        [[,]DESCRIPTION={'text'|@text_variable}]
        [[,]DIFFERENTIAL]
        [[,]EXPIREDATE={date|@date_var}
            |RETAINDAYS={days|@days_var}]
        [[,]PASSWORD={password|@password_variable}]
        [[,]FORMAT|NOFORMAT]
        [[,]{INIT|NOINIT}]
        [[,]MEDIADESCRIPTION={'text'|@text_variable}]
        [[,]MEDIANAME={media_name|@media_name_variable}]
        [[,]MEDIAPASSWORD={mediapassword|@mediapassword_variable}]
        [[,]NAME={backup_set_name|@backup_set_name_var}]
        [[,]{NOSKIP|SKIP}]
        [[,]{NOREWIND|REWIND}]
        [[,]{NOUNLOAD|UNLOAD}]
        [[,]RESTART]
        [[,]STATS[=percentage]]
]  

备份数据库参数及说明如下:
首先,在“企业管理器”中右键点击动易的数据库,弹出菜单中选择“所有任务/备份数据库”


然后,保持其他选项不变,在“目的”一项中点击“添加”:


弹出的菜单中,选择按文件保存备份,在“文件名”后输入你要保存到的路径和文件名:


点击“确定”返回最初弹出的界面,点“确定”完成备份。


备份文件可以随便迁移到任何地方,包括另外的服务器都可以。在新的服务器上,首先新建一个数据库,只需输入和原来一样的数据库名字即可,其他任何设置都不要改动,建立以后,不必运行sql脚本生成数据库,也不要从mdb数据库中导入数据:


 


数据库建立之后,在新建立的数据库上点右键,选择“所有任务/还原数据库”


弹出的窗口中,还原的类型选择“从设备”,然后点“选择设备”:


系统默认是“还原自磁盘”,点击“添加”:


弹出选择还原目的的窗口,在“文件名”后面输入(或者选取)你的备份文件:


点两次确定回到还原数据库的最初窗口,在这里选择“选项”,钩选“在现有数据库上强制还原”,然后点确定。


OK,至此大功告成:


通过这个方法,可以实现备份、还原数据库,也可以用于将SQL数据库迁移到其它服务器上。

时间: 2024-11-17 12:26:56

SQL Server 数据库备份方法介绍的相关文章

SQL Server 数据库备份

原文 http://www.cnblogs.com/ynbt/archive/2013/04/04/2999642.html 备份数据库是指对数据库或事务日志进行复制,当系统.磁盘或数据库文件损坏时,可以使用备份文件进行恢复,防止数据丢失. SQL Server数据库备份支持4种类型,分别应用于不同的场合,下面简要介绍. (1)完全备份 完全备份,即完整数据库备份,可以备份整个数据库,包含用户表.系统表.索引.视图和存储过程等所有数据库对象.这是大多数人常用的方式,但需要花费更多的时间和空间,所

SQL Server数据库备份还原时,提示“数据库正在使用”的解决办法

问题描述:          SQL Server数据库备份还原后,在数据库名称后会出现"受限制访问"字样 解决办法:          右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Multiple -> 确定. 问题描述:         在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权.(Micros

SQL Server 数据库备份和还原认识和总结(二)_MsSql

通过<SQL Server 数据库备份和还原认识和总结(一)>,相信您对数据备份和还原有了一个更深入的认识,在上文中我没有对事务日志做剖析,在此推荐宋沄剑的文章,对事务日志做了比较详细的讲解:http://www.jb51.net/article/31038.htm.本文将针对上文继续进行数据备份和还原讲解,主要讲解备份和还原的一些关键选项. 数据库备份选项 备份数据库时,有几个备份选项需要了解一下,覆盖介质.事务日志等.谈到覆盖介质时,必须先对这个概念有所了解,不然无从谈起. ● 介质集 (

通过Windows批处理命令执行SQL Server数据库备份_MsSql

建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. @echo off set path=%path%;C:Program Files\Microsoft SQL Server\80\Tools\Binn echo 数据库备份开始 >> E:\DataBaseBAK\任务计划完成记录.txt date /t >> E:\DataBaseBAK\任务计划完成记录.txt time /t >> E

通过Windows批处理命令执行SQL Server数据库备份

建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. @echo off set path=%path%;C:Program Files\Microsoft SQL Server\80\Tools\Binn echo 数据库备份开始 >> E:\DataBaseBAK\任务计划完成记录.txt date /t >> E:\DataBaseBAK\任务计划完成记录.txt time /t >> E

SQL Server数据库备份与还原处理

  SQL Server数据库备份与还原处理 转贴路径:http://blog.111cn.net/zjcxc/archive/2003/12/29/20074.aspx 利用T-SQL语句,实现数据库的备份与还原的功能体现了SQL Server中的四个知识点: 1.   获取SQL Server服务器上的默认目录 2.   备份SQL语句的使用 3.   恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理 4.   作业创建SQL语句的使用

解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法_MsSql

SQL SERVER数据库进行备份时出现"操作系统错误5(拒绝访问).BACKUP DATABASE 正在异常终止."错误.我们应该如何解决这个问题?小编今天为大家推荐一个解决办法. 一般备份文件选择的目录为磁盘根目录或备份所选分区未授予sqlserver用户读写权限时会出现此错误. 解决办法就是给sqlserver用户授予权限:    选择要备份的文件夹 ,右键-->属性-->安全-->看下"组或用户"是否包涵Authenticated User

go语言通过odbc访问Sql Server数据库的方法_Golang

本文实例讲述了go语言通过odbc访问Sql Server数据库的方法.分享给大家供大家参考.具体如下: 这里需要用到go-odbc库,开源地址为:https://github.com/weigj/go-odbc 复制代码 代码如下: package main; import (     "fmt"     "database/sql"     _"odbc/driver" ) func main(){     conn,err := sql.O

SQL Server数据库备份的镜像

原文:SQL Server数据库备份的镜像 SQL Server数据库备份的镜像   一个完整备份可以分开镜像 USE master GO BACKUP DATABASE [testdatabase] TO DISK = N'C:\testdatabase1.bak' MIRROR TO DISK = N'D:\testdatabase2.bak' WITH FORMAT, INIT GO   一个完整备份可以先条带化,然后再分开镜像 USE master GO BACKUP DATABASE