备份术语的术语表

使用sql语句备份数据:

差异备份 (differential backup)定义

一种数据备份,基于完整数据库或部分数据库或一组数据文件或文件组(差异基准)的最新完整备份,并且仅包含自确定差异基准以来发生更改的数据。

(非原创,资料来源于培训资料)

知识部分
系统数据库:SQL Server 2008
R2默认包括四个系统数据库,分别是master、model、msdb、tempdb。其中master数据库用以记录所有系统级别的信息、所有的登陆账户和系统配置设置。同时记录所有其他的数据库信息,其中包括数据库文件的位置,同时还记录所有SQL
Server的初始化信息。如果master数据库出现问题,将导致整个数据库的崩溃、无法使用,对企业造成巨大的损失。所以做好master数据库的备份是作为一名合格DBA必须做的工作。
操作部分
1、首先我们创建一个用以实验的数据库“database”,在该数据库中建立一个表“student”用于测试是否还原成功。
图片 1
2、并新建一个登录名
图片 2
3、第一步,我们找到“服务器对象”-“备份设备”-“新建备份设备”
图片 3
4、为备份设备起名
图片 4
5、然后对新建的“备份设备”右键-“备份数据库”
图片 5
6、选择备份“master”
图片 6
7、完成后我们开始准备模拟数据库的master出现故障。首先停掉SQL
Server(MSSQLSERVER)服务。
图片 7
8、然后找到下图路径下的master数据库将其删除。
图片 8
9、删除后再去登陆SSMS工具,会出现下图错误。这时候数据库就无法使用了。
图片 9
10、恢复部分。我们插入SQL Server 2008 R2光盘。
图片 10
11、运行cmd,输入下图中的命令-回车完成
图片 11
12、打开服务管理-找到SQL
Server(MSSQLSERVER)服务,编辑其属性。在启动参数中输入“-c
-m”,启动服务。再次使用SSMS工具登陆SQLServer会进入单用户模式。
图片 12
13、注意进入单用户模式要在服务器名称这里输入“.” 。
图片 13
14、找到备份文件的所在位置。
图片 14
15、新建查询中输入一下语句并执行以恢复master数据库
图片 15
16、再次找到这个服务,启动参数留空,重新启动服务
图片 16
17、然后重新登陆SSMS,发现数据库可以重新使用了。
图片 17

备份

 创建备份的过程,方法是通过复制 SQL
Server 数据库中的数据记录或复制其事务日志中的日志记录。备份 可用于在出现故障后还原或恢复数据的数据副本。 数据库备份还可用于将数据库副本还原到新位置。

BACKUP DATABASE 数据库名称 TO DISK = '存储备份文件的路径\备份名称.bak' WITH INIT

使用SSMS数据库管理工具进行数据库差异备份

1、选择数据库-》右键点击-》选择任务-》选择备份。

图片 18

2、在备份数据库弹出框中-》选择备份类型为差异-》然后删除系统生成的目标文件-》然后点击添加。

图片 19

3、在选择备份目标弹出框中-》点击选择备份路径。

图片 20

4、在定位数据库文件弹出框中,先选择需要备份的文件路径,然后数据备份文件名,点击确定。

图片 21

 5、在备份数据库弹出框,点击确定。

图片 22

6、查看备份是否成功。

图片 23

1、引用 Microsoft.SqlServer.ConnectionInfo和Microsoft.SqlServer.Smo;

备份设备

要写入 SQL Server
备份及能从中还原这些备份的磁盘或磁带设备。 SQL Server 备份也可以写入 Microsoft Azure Blob
存储服务,并且使用 URL 格式来指定备份文件的目标和名称。 有关详细信息,请参阅 使用 Microsoft Azure Blob
存储服务进行 SQL Server 备份和还原。

使用例子:

使用SSMS数据库管理工具进行数据库差异还原

差异备份与还原须知:差异备份是上次完整备份之后发生改变的副本。所以还原是需要上次的完整备份和最近一次差异备份。差异还原有两步操作,第一步为还原数据库,第二步还原差异部分。

还原数据库步骤

1、选择数据库-》右键点击-》选择任务-》选择还原-》选择数据库。

图片 24

2、在还原数据库弹出框中-》先点击设备-》再点击还原文件路径。

图片 25

3、在选择备份设备弹出框中-》点击添加文件。

图片 26

4、在定位备份文件弹出框中-》先选择文件夹-》再选择要还原的文件-》点击确定。

图片 27

5、进入还原模式。

图片 28

6、覆盖现有数据库可不勾选-》选择数据库恢复模式为设置为NORecorvery。

图片 29

7、查看数据库状态。

图片 30

还原差异文件步骤

1、选择要还原的数据库-》右键点击-》选择任务-》选择还原-》选择文件和文件组。

图片 31

2、在还原文件和文件组弹出框-》选择设备-》选择文件还原路径。

图片 32

3、在选择备份设备弹出框-》选择添加。

图片 33

4、在定位备份文件弹出框-》选择要还原的差异文件-》点击确定。

图片 34

5、在还原文件和文件组弹出框-》选择文件-》点击选项。

图片 35

6、选择恢复状态-》点击确定。

图片 36

7、还原结果。

图片 37

图片 38

2、连接SQLServer服务器

备份介质

已写入一个或多个备份的一个或多个磁带或磁盘文件。

BACKUP DATABASE ShopDB TO DISK = 'E:\SQLServerDatabaseDB\Backup\2016-02-15.bak' WITH INIT  --备份ShopDB数据库

使用T-SQL脚本进行差异备份

语法:backup database 数据库名 to
disk=文件路径 with differential;

示例:backup database testss to
disk=’D:\SqlTest\backup\t3.bak’ with differential;

图片 39

图片 40    Dim myServer As New Server()
图片 41    Dim conn As ServerConnection
图片 42
图片 43    ‘##### Add connection code here #####
图片 44    conn = myServer.ConnectionContext
图片 45    conn.ServerInstance = “localhost”
图片 46    conn.Connect()

数据备份 (data backup)

完整数据库的数据备份(数据库备份)、部分数据库的数据备份(部分备份)或一组数据文件或文件组的数据备份(文件备份)。

 

使用T-SQL脚本进行差异还原

语法:第一步先指定数据库恢复模式:restore
database 数据库名 from disk=数据库文件 with norecovery ;

           第二步再恢复差异备份:restore
database 数据库名 from disk=差异文件 with recovery;
示例:第一步先恢复备份数据库:restore database testss from
disk=’D:\SqlTest\backup\testss.bak’ with norecovery ;

           第二步再恢复差异备份:restore
database testss from disk=’D:\SqlTest\backup\t3.bak’ with
recovery;

         
 (注意数据库如果存在,可删除或者使用覆盖先有数据库)

图片 47

3、设置必要的属性,包括:备份动作、备份名称
、要备份的数据库和备份设备。然后开始备份.

数据库备份 (database backup)

数据库的备份:完整数据库备份表示备份完成时的整个数据库。 差异数据库备份只包含自最近完整备份以来对数据库所做的更改。

 总结

优点:1、与创建完整备份相比,创建差异备份的速度可能非常快。 差异备份只记录自差异备份所基于的完整备份后更改的数据。 这有助于频繁地进行数据备份,减少数据丢失的风险。 但是,在还原差异备份之前,必须先还原其基准。 因此,从差异备份进行还原必然要比从完整备份进行还原需要更多的步骤和时间,因为这需要两个备份文件。

   2、如果数据库的某个子集比该数据库的其余部分修改得更为频繁,则差异数据库备份特别有用。 在这些情况下,使用差异数据库备份,您可以频繁执行备份,并且不会产生完整数据库备份的开销。

   3、在完整恢复模式下,使用差异备份可以减少必须还原的日志备份的数量。

缺点:差异备份基于最后一次完整备份的差异,那么,对于一个繁忙的数据库,在一段时间内做了几次差异备份,无论这中间有多少次Checkpoint,SQL
Server依然将这些基于完整备份的差异页面放入差异备份文件,按道理来说,一个页面在一次Checkpoint之后,如果没有再发生任何修改,那么是不需要放入差异备份文件里面的(如果是基于最后一次差异的差异),因为差异位图无法基于差异的差异,这样会导致,有时候差异备份文件比完整备份文件还要大。

图片 48        Dim MyBackup As New Backup
图片 49
图片 50        MyBackup.Action = BackupActionType.Database
图片 51        MyBackup.BackupSetName = dbName & “Backup”
图片 52        MyBackup.Database = dbName ‘备份的数据库名称
图片 53
图片 54        Dim deviceItem As BackupDeviceItem = New BackupDeviceItem(“”, DeviceType.File)
图片 55        deviceItem.Name = “C:\” & dbName & “.bak”
图片 56
图片 57        MyBackup.Devices.Add(deviceItem)
图片 58        MyBackup.SqlBackup(myServer)

完整备份 (full backup)

一种数据备份,包含特定数据库或者一组特定的文件组或文件中的所有数据,以及可以恢复这些数据的足够的日志。

使用SSMS数据库管理工具备份数据库

打开数据库管理工具,选择要备份的数据库-》右键点击-》选择任务-》选择备份-》数据库管理工具默认是完整备份,不用修改其他配置-》找到目标,删除当前文件-》选择添加-》在选择备份目标弹出框中点击选择路径-》选择路径-》在定位数据库文件弹出框中输入文件名-》最后在备份数据库文件框中点击确定

图片 59

图片 60

图片 61

 图片 62

 

图片 63

图片 64

使用SSMS数据库管理工具还原数据库

打开数据库管理工具,连接数据库-》右键点击数据库-》选择还原数据库-》在还原数据库弹出框选择设备,点击右边的选择文件按钮-》在选择备份设备弹出框中,点击添加-》在定位备份文件中,选择你要还原的文件,点击确定-》在选择备份设备弹出框中,点击确定-》在还原数据库弹出框选择设备,点击确定-》刷新数据库即可看到

图片 65

图片 66

图片 67

 

图片 68

 图片 69

图片 70

使用T-SQL脚本备份数据库

本分数据库语法:backup database 数据库名
to disk=路径;

示例:backup database testss to
disk=’D:\SqlTest\backup\testss.bak’;

图片 71

图片 72

 

使用T-SQL脚本还原数据库

 

还原数据库语法:   restore database
数据库名 from disk=完整路径;

示例:restore database testss from
disk=’D:\SqlTest\backup\testss.bak’;

图片 73

 总结

优点:1、这种模式下,所有数据库操作都被完整地记录在日志中,出现某些操作在这种模式下也还是最小化日志,并且不是自动截断,它支持任何备份还原策略,特别是时间点还原。

         
 2、能够完整记录数据库操作进行时间点恢复,保证数据尽可能0丢失。

缺点:1、需要严格管理事务日志文件。

     
2、数据库规模可能会变得难以控制。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图