admin 管理员组

文章数量: 887021


2024年1月19日发(作者:node下载)

第52章 SQL Server 2008备份设备

备份存放在物理备份介质上,备份介质可以是磁带驱动器或者硬盘驱动器(位于本地或者网络上)。SQL Server并不知道连接到服务器的各种介质形式,因此必须通知SQL Server将备份存储在那里。

52.1 备份设备的分类

备份设备就是用来存储数据库、事务日志或文件和文件组备份的存储介质。常见的备份设备可以分为3种类型:磁盘备份设备、磁带备份设备和物理设备和逻辑设备。

1.磁盘备份设备

磁盘备份设备就是存储在硬盘或其他磁盘媒体上的文件,与常规操作系统文件一样。引用磁盘备份设备与引用任何其他操作系统文件一样。可以在服务器的本地磁盘上或共享网络资源的远程磁盘上定义磁盘备份设备,磁盘备份设备根据需要可大可小。最大的文件大小相当于磁盘上可用的闲置空间。如果磁盘备份设备定义在网络的远程设备上,则应该使用统一命名方式(UNC)来引用该文件,以ServernameSharenamePathFile格式指定文件的位置。在网络上备份数据可能受到网络错误的影响。因此,在完成备份后应该验证备份操作的有效性。

建议不要将数据库事务日志备份到数据库所在的同一物理磁盘上的文件中。如果包含数据库的磁盘设备发生故障,由于备份位于同一发生故障的磁盘上,因此无法恢

复数据库。

2.磁带备份设备

磁带备份设备的用法与磁盘设备相同,不过磁带设备必须物理连接到运行SQL Server 2008实例的计算机上。如果磁带备份设备在备份操作过程中已满,但还需要写入一些数据,SQL Server 2008将提示更换新磁带并继续备份操作。

若要将SQL Server 2008数据备份到磁带,那么需要使用磁带备份设备或者Microsoft Windows平台支持的磁带驱动器。另外,对于特殊的磁带驱动器,就仅使用驱动器制造商推荐的磁带。在使用磁带驱动器时,备份操作可能会写满一个磁带,并继续在另一个磁带上进行。所使用的第一个媒体称为“起始磁带”,该磁带含有媒体标头,每个后续磁带称为“延续磁带”,其媒体序列号比前一磁带的媒体序列号大1。

3.逻辑备份设备

物理备份设备名称主要用来供操作系统对备份设备进行引用和管理,如:C:。逻辑备份设备是物理备份设备的别名,通常比物理备份设备更能简单、有效地描述备份设备的特征。逻辑备份设备名称被永久保存在SQL Server的系统表中。

使用逻辑备份设备的一个优点是比使用长路径简单。如果准备将一系列备份数据写入相同的路径或磁带设备,则使用逻辑备份设备非常有用。逻辑备份设备对于标识磁带备份设备尤为有用。

可以编写一个备份脚本以使用特定逻辑备份设备。这样就无需更新脚本即可切换到新的物理备份设备。切换涉及以下过程:

删除原来的逻辑备份设备。

定义新的逻辑备份设备,新设备使用原来的逻辑设备名称,但映射到不同的物理备份设备。逻辑备份设备对于标识磁带备份设备尤为有用。

52.2 创建备份设备

备份设备是用来存储数据库、事务日志或者文件和文件组备份的存储介质,所在执行备份数据之前,首先来介绍以下如何创建备份设备。

在SQL Server 2008中创建设备的方法有两种:一是在SQL Server Management Studio中使用现有命令和功能,通过方便的图形化工具创建,二是通过使用系统存储过程sp_addumpdevice创建。下面将对这两种创建备份设备的方法分别阐述。

1.使用SQL Server Management Studio管理器创建备份设备

使用Microsoft SQL Server Management Studio管理器创建备份设备的操作步骤如下:

(1)在【对象资源管理器】中,单击服务器名称以展开服务器树。

(2)展开【服务器对象】节点,然后用鼠标右键单击【备份设备】选项。

(3)从弹出的菜单中选择【新建备份设备】命令,打开【备份设备】窗口。

(4)在【备份设备】窗口,输入设备名称并且指定该文件的完整路径,这里创建一个名称为“网店购物系统备份”的备份设备。如图10-1所示。

图10-1 创建备份设备

(5)单击【确定】按钮,完成备份设备的创建。展开【备份设备】节点,就可以看到刚刚创建的名称为“网店购物系统备份”备份设备。

2.使用系统存储过程SP_ADDUMPDEVICE创建备份设备

除了使用图形化工具创建备份设备外,还可以使用系统存储过程SP_ADDUMPDEVICE来添加备份设备,这个存储过程可以添加磁盘和磁带设备。SP_ADDUMPDEVICE的基本语法如下:

SP_ADDUMPDEVICE [ @devtype = ] 'device_type'

, [ @logicalname = ] 'logical_name'

, [ @physicalname = ] 'physical_name'

[ , { [ @cntrltype = ] controller_type |

[ @devstatus = ] 'device_status' }

]

下面对上述语法中的各参数进行简单的说明:

 [ @devtype = ] 'device_type' 该参数指备份设备的类型。device_type的数据类型为varchar(20),无默认值,可以是disk、tape和pipe。其中,disk用于指硬盘文件作为备份设备;tape用于指Microsoft Windows支持的任何磁带设备。pipe是指使用命名管道备份设备。

 [ @logicalname = ] 'logical_name' 该参数指在BACKUP和RESTORE语句中使用的备份设备的逻辑名称。logical_name的数据类型为sysname,无默

认值,且不能为NULL。

 [ @physicalname = ] 'physical_name' 该参数指备份设备的物理名称。物理名称必须遵从操作系统文件名规则或者网络设备的通用命名约定,并且必须包含完整路径。physical_name的数据类型为nvarchar(260),无默认值,且不能为NULL。

指定存放备份设备的物理路径必须真实存在,否则将会提示“系统找不到指定的

路径”,因为SQL Server 2005不会自动为用户创建文件夹。

 [ @cntrltype = ] 'controller_type' 如果cntrltype的值是2,则表示是磁盘;如果cntrltype值是5,则表示是磁带。

 [ @devstatus = ] 'device_status' devicestatus如果是noskip,表示读ANSI磁带头,如果是skip,表示跳过ANSI磁带头。

例如,创建一个名称为Test的备份设备,就可以使用如下代码:

USE master

GO

EXEC sp_addumpdevice 'disk','Test','D:'

创建本地磁带备份设备TapeTest,可以使用如下语句:

USE master

GO

EXEC SP_ADDUMPDEVICE 'tape','tapebackup','.tape0 '

52.3 管理备份设备

在Microsoft SQL Server 2008系统中,创建了备份设备以后就可以通过系统存储过程、Transact-SQL语句或者图形化界面查看备份设备的信息,或者把不用的备份设备删除等。

1.查看备份设备

可以通过两种方式查看服务器上的所有备份设备,一种是通过使用SQL Server Management Studio图形化工具,另一种是通过系统存储过程SP_HELPDEVICE。

 使用SQL Server Management Studio工具

首先介绍使用SQL Server Management Studio图形化工具查看所有备份设备,操作步骤如下:

(1)在【对象资源管理器】中,单击服务器名称以展开服务器树。

(2)展开【服务器对象】|【备份设备】节点,就可以看到当前服务器上已经

创建的所有备份设备,如图10-2所示。

10-2 查看备份设备

 使用系统存储过程SP_HELPDEVICE

使用系统存储过程SP_HELPDEVICE也可以查看服务器上每个设备的相关信息,如图11-3所示。

图10-3 使用系统存储过程查看备份设备

2.删除备份设备

如果不再需要的备份设备,可以将其删除,删除备份设备后,其上的数据都将丢失,删除备份设备也有两种方式,一种是使用SQL Server Management Studio图形化工具,另一种是使用系统存储过程SP_DROPDEVICE。

1) 使用SQL Server Management Studio工具

使用SQL Server Management Studio图形化工具,可以删除备份设备。例如将备份设备Test删除,操作步骤如下:

(1)在【对象资源管理器】中,单击服务器名称以展开服务器树。

(2)展开【服务器对象】|【备份设备】节点,右击要删除的备份设备Test,在弹出的命令菜单中选择【删除】命令,打开【删除对象】窗口。

(3)在【删除对象】窗口单击【确定】按钮,即完成对该备份设备的删除操

作。

2) 使用系统存储过程SP_DROPDEVICE

使用SP_DROPDEVICE系统存储过程将服务器中备份设备删除,并能删除操作系统文件。具体语句如下所示:

SP_DROPDEVICE ‘备份设备名’ [,‘DELETE’]

上述语句中,如果指定了DELETE参数,则在删除备份设备的同时删除他使用的操作文件。例如删除名称为Test的备份设备,基于可以使用如下代码:

EXEC SP_DROPDEVICE 'Test'


本文标签: 备份 设备 磁带 使用 磁盘