1. 1):将SQLServer 2000光盘放入光驱或下载的文件找到autorun.exe并双击,出现Microsoft SQL Server2000对话框,单击 安装SQL Server2000组件选项,或者直接运行光盘上的 autorun.exe。d出如图所示1-2窗口:
图1-2
3):单击“安装SQL Server 2000组件”项,系统d出如图1-3所示窗口:
图1-3
4):选择“安装数据库服务器”,系统d出安装向导窗口,如图1-4所示:
图1-4
5):单击“下一步”按钮,系统d出“计算机名”窗口,系统提示创建SQL Server实例的计算机的名称,如图1-5所示:
图1-5
6):选择“本地计算机”项,单击“下一步”按钮,系统d出“安装选项”窗口,如图1.6所示:
图1-6
7):选择“创建新的SQL Server实例,或安装客户端工具”项,单击“下一步”按钮,系统d出“用户信息”设置窗口,如图1-7所示:
图1-7
8):在“用户信息”窗口中录入用户姓名和公司名,然后单击“下一步”按钮,系统进入“软件许可协议”窗口,如图1-8所示:
图1-8
9):单击“是”按钮接受协议,系统d出“安装定义”窗口,如图1-9所示:
图1-9
10):选择“服务器和客户端工具”项,单击“下一步”按钮,系统d出“实例名”窗口,如图1-10所示:
图1-10
11):勾选“默认”项,使用由系统提供的默认实例名,单击“下一步”按钮,系统d出“安装类型”选择窗口,如图1-11所示:
图1-11
12):选择“典型”项,单击“下一步”按钮,系统d出“服务账户”设置窗口,如图1-12所示:
图1-12
13):选择“对每个服务使用同一账户,自动启动SQL Server服务”项,服务设置选项“使用本地系统账户”,单击“下一步”按钮,系统d出“身份验证模式”窗口,如图1-13:
图1-13
14):选择“混合模式(Windows身份验证和SQLServer身份验证)”项----勾选“空密码(不推荐)”项,单击“下一步”按钮,系统进入“开始复制文件”窗口,如图1-14所示:
图1-14
15):单击“下一步”按钮,系统开始执行安装工作,并出现安装进度条指示,如图1-15所示:
图1-15
16):安装完成后,系统d出“安装完毕”窗口,单击“完成”按钮,完成SQL Server 2000的安装工作。
安装完成后,建议重启计算机以查看SQL Server 2000能否正常启动。重启后,单击【开始】→【程序】→【Microsoft SQL Server】→【服务管理器】,系统d出“SQL Server 服务管理器”窗口,如图1-16所示,当图中表示为“绿色三角形”符号时表示正常启动。
图1-16
说明:如若在安装过程中,d出如图1-17所示窗口,
图1-17
方法1(推荐):则重新启动计算机重新安装即可。
方法2(若对注册表不熟悉,请务随便 *** 作):【开始】→【运行】→输入regedit后点确定,按照下面分支顺序:HKEY-LOCAL.MACHINE/SYSTEM/CurrentcontrolSet/Control/
Session Manage/PendingRenameOperations 项直接在PendingRenameOperations项目上单击右键并删除,再重新安装即可。
附录:
一:Sql server2000 与windows的对应关系:
SQL Server 2000企业版和标准版只能安装在以下 *** 作系统上:
• Windows Server 2003 R2
• Windows Server 2003, Standard Edition1
• Windows Server 2003, EnterpriseEdition2
• Windows Server 2003, DatacenterEdition3
• Windows® 2000 Server
• Windows 2000 Advanced Server
• Windows 2000 Datacenter Server
SQL Server2000 评估版和开发版只能安装在以下 *** 作系统上:
• 以上列出的企业版或者标准版或更高版本的 *** 作系统
• Windows XP Professional
• Windows XP Home Edition
• Windows 2000 Professional
SQL Server2000个人版和桌面引擎(MSDE)只能安装在以下 *** 作系统上:
•以上列出的企业版,标准版,评估版,开发版或更高版本的 *** 作系统
• WindowsServer 2003, Web Edition5 (MSDE only)
• Windows98
• WindowsMillennium Edition (Windows Me)
更多内容访问:http://www.microsoft.com/sql/prodinfo/previousversions/system-requirements.mspx
二:MS SQL SERVER的网络特点
1、服务器端的网络连接
微软研制WINDOWS NT的一个设计目标就是为应用软件提供强大的开发平台。为了达到这一目标,设计者在 *** 作系统中创建了一系列非常强大的服务来解决服务器所需的 *** 作,例如文件存取、打印服务以及网络互连。SQL SERVER实际上是远远独立于网络的,并且SQL SERVER的最底层只需具有网络识别功能。而这些底层的网络识别能力是被隔离在网络库中的,如图1所示。
SQL Server
TCP/IP库
多协议库
命名管道库
NWLinK库
RPC库
文件服务
Windows NT网络
网络接口(物理层和数据链路层)
图1 网络接口(物理层和数据链路层)
服务器端的网络库可以分成两组。第一组依靠WINDOWS *** 作系统网络结构来提供通信服务。这组网络库包括以下几种:
n命名管道库(Named Pipe library)
n多协议库(Multi-Protocol library)
n当地RPC库(Local RPClibrary)
n共享内存库(Share Memory library)
命名管道库在UNC网络结构的基础上,采用一种简单的通信系统。一个命名管道有一个完全的UNC路径,如\\Server \pipe \SQL\Query。对于本地服务器,这可以被缩写为\\. \pipe \SQL\Query。从程序员的角度来看,编写命名管道程序与编写以文件为基础的输入和输出程序非常相似。因此,可以看到,利用这一网络库需要被WINDOWS NT验证,这并不值得大惊小怪,用户必须被WINDOWS NT的安全机制鉴别。
Multi-protocol 系统利用远程过程调用(或RPC)来完成客户机和服务器之间的通信。RPC是一个安全的协议,与命名管道相似,用户必须被WINDOWS NT的安全机制鉴别。
本组中的另一个网络库是Local RPC (本地远程调用)库。尽管从表面上看,存在本地远程调用是矛盾的,但这是一个真正的协议。Local RPC被运行在WINDOWS NT服务器上的过程用于和SQL Server进行通信(例如运行在服务器上的SQL Enterprise Manager 工具,或SQL Agent)。
共享内存库(Share Memory library)同样也被用于同一台服务器上进程之间的通信。共享内存库被自动安装,不能被删除,而且没有配置选项,所以在此不对它们作进一步的讨论。
由于Named pipe及Multi-protocol库都利用了WINDOWS网络结构,因此它们其实是独立于协议的(与使用什么协议无关)。Namedpipe可以被用于任何文件服务支持的协议上,也就是说,它可以用于IPX/SPX,TCP/IP ,BANYAN VINES,以及NETBEUI上。RPC可以和任何支持远程过程调用的协议一起使用,这些协议也包括了上面所说的几个协议。唯一真正不支持RPC的协议的是DLC。
第二组服务器端的网络协议库是一组依靠协议的库,它包括以下几个协议:
nNWLINK
nTCP/IP SOCKETS
nBANYAN-VINES SPP LIBARRIES
与Named pipe及Multi-protocol不同,这些库不用WINDOWS指定的文件服务器或RPC。例如TCP/IP SOCKETS,就如其他任何以SOCKETS为基础的程序(比如Telnetd or Oracle Listenerdaemon )利用TCP/IPSOCKETS一样。SQL SERVER包括IPX/SPX,TCP/IP SOCKETS ,BANYAN-VINES 以及Apple Talk 的ADSP协议。
这些库中的每一个协议都需要对某些配置进行设置.,以作为标识其自身的方法。例如,为了配置TCP/IP库,必须指定端口号。对于IPX/SPX,Apple Talk ADSP或者BANYAN-VINES SPP,都必须提供一个服务名,这个服务名通常不与服务器名相同。同样,如果想用其中这些库,相应的协议必须在Windows NT的控制面板的网络窗口中进行设置。换句话说,如果想支持IPX/SPX协议,则必须安装NWLINK IPX/SPX协议。
在服务器端,由于网络互连基本上被 *** 作系统来管理了,因此几乎不需要文件,复杂程度也大为下降。SQL Server提供了服务器端网络库,因此它能够以不同的方式,与一些网络进行交互。例如,Multi-protocol库利用RPC机制进行通信,以确保SQLServer提供集成的安全性。用于实现网络库的文件存放在\MSSQL\BINN目录下。表1列出所用的文件。
表1、SQL Server的服务器端网络库DLL文件
文件
用于
SSMSSH70.DLL
Local RPC
SSMSSO70.DLL
TCP/IP Sockets
SSNMPN70.DLL
Named-Pipe
SSMSRP70.DLL
Multi-prltocol
SSMSAD70.DL
ADSP(Apple Talk)
SSMSSP70.DLL
Nwlink IPX/SPX
SSMSVI70.DLL
Banyan VINES SPP
在这里值得说的是,与这些DLL相关的函数在文件中被描述为是Open Data Services的一部分。这意味着第三方可以提供新的网络库,尽管这并不普通。
客户网络库被安放在独立的DLL文件中,并且与服务器的网络库十分相似。表2列出了客户端的DLL文件。区别服务器端网络库和客户端网络库最简单的方法是,服务器端网络库以SS(代表SERVER SIDE)开头,而客户端的网络库通常以DB开头。除了Namedpipe 库被存放在\windows\system目录下或 winnt\system32目录下之外,这些库都被存放在\MSSQL7\ BINN目录下。
表2、客户端的网络DLL文件
DLL文件
网络库
DBNMPNTW.DLL
Named pipe
DBMSRPCN.DLL
TCP/IP
DBMSRPCN.DLL
Multi-protocol
DBNSSPXN.DLL
Nwlink IPX/SPX
DBMADSN.DLL
Apple talk
DBMSVINN.DLL
Banyan VINE SPP
2、解决客户连接的故障
客户机/服务器的连接问题可以由低到高地进行诊断。换句话说,先检查网络的物理层,再检查网络组件,最后检查应用程序的网络调用。在里,我们将主要关注TCP/IP环境下的故障排除。其他环境下的故障排除与此类似。
如果在客户机和服务器之间存在着一个数据库连接问题,首先你就的确认客户机和服务器之间的网络连接是否畅通无阻。以下几个步骤说明了如何检测TCP/IP连接。
(1) 打开一个命令行窗口(MSDOS窗口),PING本机地址127.0.0.1;如果PING不通本机,则在这一本地机器上存在着网络配置错误。
(2) PING本机的外部TCP/IP地址 。为了找到本机的IP地址,可以在WINDOWS9X下运行WINIPCFG,或在WINDOW S NT的命令行下运行IPCONFIG。如果PING本机IP地址 *** 作失败,则在本地机器上存在着网络配置错误。
(3) PING缺省的网关地址(同样利用WINPCFG或IPCONFIG,你可以同样找到网关地址)。如果这一 *** 作失败,则可检查一下你的IP地址是否和缺省的网关在同一个子网下。如果这两个地址在同一子网下,则本地机器的网络配置可能有问题。
(4) PING服务器的IP地址,然后利用服务器的机器名来PING服务器。请确信你PING服务器名返回的服务器地址和通过PING服务器IP地址返回的结果相同。
如果不相同,则表明在你的网络上,存在DNS(域名服务)错误。如果PING失败,返回”Destination host unreachable”则在你的路由器上可能存在配置问题。
如果PING成功,则表明在客户机和服务器之间存在着良好的网络连接。
在确定网络连接良好之后,继续查找其他方面的问题,打开SQL Server Client Configuration工具来检查缺省的网络协议是否配置正确,接下来,检查服务器端的网络库,并查它们是否支持相应的协议。
作为最后一个求助手段,可以从SQLServer的光盘上安装客户软件到客户机上,并利用ISQL/W来连接SQL SERVER。ISQL/W是最容易实现的连接,如果它能够连接成功,则你所使用的软件可能存在着某个问题,妨碍了连接的实现。
三、MS SQL SERVER自动备份计划配置
利用MSSQL SERVER的自动备份功能进行备份安排是非常方便的。现在,让我们一起来了解怎样安排备份以及怎样才能够定期备份。以下是主要内容:
n创建备份设备
n利用SQL 来执行备份
n设置备份预定表
自动备份提供了一种SQL SERVER例程,它确保备份能够按时执行,如果你每天早晨准备要做的第一件事情是手工运行备份程序,但某一天你由于交通拥挤而不能够按时上班,就可能会漏掉一次备份,但对备份进行预定提供了更高级的可靠性,它能够在用户不想在办公室也能执行备份 *** 作。
在执行自动备份或进行以下步骤练习时,请确定“SQLServerAgent”服务已经启动,因为自动备份需要“SQLServerAgent”服务支持。
1、创建备份设备
备份设备是用作备份目标的某种磁带设备或磁盘文件,通过创建一种备份设备,就能够确定每次都可以轻松的找到正确的文件,为了创建某种备份设备,应该先打开SQL Enterprise Mamager 并打开你想要使用的服务器,右击BACKUP DEVICES(备份设备),并选择NEW BACKUP DEVICES…(新建备份设备),随后会出现Backup Devices Properties(备份设备属性)对话框,如图所示,
接着,为该设备输入一个名字,再选择某种设备类型(磁带或磁盘)以及设备名,对于磁带驱动器,系统会提供一个磁带驱动器名称列表,对于磁盘驱动器,可以键入一个本地路径(如果文件应该存放在本地计算机中),也可以键入一个UNC路径(这样就可以将备份将备份文件放在另一台计算机中)。单击OK(确定)按钮,则SQL SERVER会给出消息,”Backup Device CreatedSuccessfully(备份设备创建成功)。新创建的备份设备名将出现在Backup Device文件夹中。
2、利用SQL Enterprise Mamager执行备份
SQL Enterprise Mamager可以帮助用户对数据库进行快速备份。这就要求能够创建一次性的备份,该备份用来传输数据或对某个备份进行测试。下面介绍的是具体过程:
(1)打开DATABASES(数据库)文件夹,并右击你想要进行备份的数据库名。
(2)从上下文菜单中选择TOOLS(工具),BACKUP DATABASES(备份数据)选项,随后出现SQL SERVERBACKUP对话框,如图所示:
(3)DESCRIPTION(说明)子端中填写相应的信息,选择备份类型(包括完全备份,差异备份,事务日志备份,文件组备份),再选择备份目标。如果你想同时备份到多个设备上,则应该为备份选择多个目标,最后,选择是否覆盖现有的介质,或者将备份集合添加到现有的介质当中。
(4)在如图所示的OPTIONS(选项)选项卡画面中,你会发现可以获得TRANSACT-SQLBACKUP DATABASES命令的选项列表中的全部选项,包括当备份完成时d出磁带以及与介质集合相关的各种选项。
(5)OK(确定)按钮,以便启动备份程序,于是,开始进行备份。当备份完成时,就会出现”The Backtup Operation has completed successfully “(备份 *** 作成功)的消息。备份进程要花费一些时间,这主要取决于数据库的大小以及备份介质的速度,出现一个漂亮的蓝色条也许会使你更欣赏该备份进程。
3、设置备份计划
对备份进行预定是建立总体备份例程中的一个重要组成部分。预定好的备份可以在非高峰时间运行,这样就可以避免损害用户的利益。
为了设置一个备份预定表,可以先执行“利用来SQL Enterprise Mamager执行备份”中介绍的步骤3,然后单击SCHEDULE(预定表)复选框。它可以对备份进行设置,使备份按照缺省的循环日程预定进行,即预定在每周星期天的午夜进行。如果这一设置恰好是你想要的,则可以直接使用该选项。但是,情况可能不是这样的。为了指定一个不同的备份预定时间,可单击省略号按钮(…),以便打开如图所示的EditRecurring Job Schedule(编辑可重复出现行的作业预定表)对话框。
选择Recurring(重复出现)选项,接着对备份预定日程进行更改,使该预定表能够反映你真正想要的某种设置。为了将备份预定设置在从周一到周五的每天凌晨两点钟进行,可选择 Weekly(每周)单选钮,并且选中从周一到周五的所有复选框,将时间设置为“2AM ”,然后,单击OK(确定)按钮即可。
在SQL Server中预定好所有的作业以后,就可以将事情交给 SQL Agent去做而我们撒手不管了。SQL Agent先将所有作业进行排队,然后再分别予以处理。这就意味着SQL Agent必须运行各种预定好的作业。为了监视某个作业,可打开SQLEnterprise Mamager ,与指定用来运行该作业的服务器进行连接,再打开SQL Agent 。SQL Agent 的JOBS文件夹中包含了所有被预定的作业。你可以右击其中某个作业并选择Job History,以便找出该作业前几次运行的状态信息。
三、MS SQL SERVER数据恢复配置
在SQL Enterprise Marnager 里 *** 作项目选择还原数据库,
还原为数据库名称为ZKHR,从设备还原,
找到原来备份的数据库文件,
选择数据库物理文件的存放位置
点击“确定”按钮,进入还原状态(千万不要去点击“停止”,如反正不成让它自行报错再结束)
一会儿不愿成功d出下图:
点击确定退出即可。
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 ] ]
]
备份特定的文件或文件组:
BACKUP DATABASE { database_name | @database_name_var }
<file_or_filegroup >[ ,...n ]
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 ] ]
]
备份一个事务日志:
BACKUP LOG { database_name | @database_name_var }
{
TO <backup_device >[ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ ,] 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 } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
}
<backup_device >::=
{
{ logical_backup_device_name | @logical_backup_device_name_var }
|
{ DISK | TAPE } =
{ 'physical_backup_device_name' | @physical_backup_device_name_var }
}
<file_or_filegroup >::=
{
FILE = { logical_file_name | @logical_file_name_var }
|
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
}
截断事务日志:
BACKUP LOG { database_name | @database_name_var }
{
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}
参数
DATABASE
指定一个完整的数据库备份。假如指定了一个文件和文件组的列表,那么仅有这些被指定的文件和文件组被备份。
说明 在进行完整数据库备份或差异数据库备份时,Microsoft® SQL Server™ 备份足够的事务日志,以生成一个将在还原数据库时使用的一致的数据库。在 master 数据库上只能采用完整数据库备份。
{ database_name | @database_name_var }
指定了一个数据库,从该数据库中对事务日志、部分数据库或完整的数据库进行备份。如果作为变量 (@database_name_var) 提供,则可将该名称指定为字符串常量 (@database_name_var = database name) 或字符串数据类型(ntext 或 text 数据类型除外)的变量。
<backup_device >
指定备份 *** 作时要使用的逻辑或物理备份设备。可以是下列一种或多种形式:
{ logical_backup_device_name } | { @logical_backup_device_name_var }
是由 sp_addumpdevice 创建的备份设备的逻辑名称,数据库将备份到该设备中,其名称必须遵守标识符规则。如果将其作为变量 (@logical_backup_device_name_var) 提供,则可将该备份设备名称指定为字符串常量 (@logical_backup_device_name_var = logical backup device name) 或字符串数据类型(ntext 或 text 数据类型除外)的变量。
{ DISK | TAPE } =
'physical_backup_device_name' | @physical_backup_device_name_var
允许在指定的磁盘或磁带设备上创建备份。在执行 BACKUP 语句之前不必存在指定的物理设备。如果存在物理设备且 BACKUP 语句中没有指定 INIT 选项,则备份将追加到该设备。
当指定 TO DISK 或 TO TAPE 时,请输入完整路径和文件名。例如,DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Mybackup.dat' 或 TAPE = '\\.\TAPE0'。
说明 对于备份到磁盘的情况,如果输入一个相对路径名,备份文件将存储到默认的备份目录中。该目录在安装时被设置并且存储在 KEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer 目录下的 BackupDirectory 注册表键值中。
如果使用的是具有统一命名规则 (UNC) 名称的网络服务器或已重新定向的驱动器号,则请指定磁盘的设备类型。
当指定多个文件时,可以混合逻辑文件名(或变量)和物理文件名(或变量)。但是,所有的设备都必须为同一类型(磁盘、磁带或管道)。
Windows 98 不支持备份到磁盘。
n
是表示可以指定多个备份设备的占位符。备份设备数目的上限为 64。
BLOCKSIZE = { blocksize | @blocksize_variable }
用字节数来指定物理块的大小。在 Windows NT 系统上,默认设置是设备的默认块大小。一般情况下,当 SQL Server 选择适合于设备的块大小时不需要此参数。在基于 Windows 2000 的计算机上,默认设置是 65,536(64 KB,是 SQL Server 支持的最大大小)。
对于磁盘,BACKUP 自动决定磁盘设备合适的块大小。
说明 如果要将结果备份集存储到 CD-ROM 中然后从 CD-ROM 中恢复,请将 BLOCKSIZE 设为 2048。
磁带的默认 BLOCKSIZE 为 65,536 (64 KB)。显式声明块大小将替代 SQL Server 选择的块大小。
DESCRIPTION = { 'text' | @text_variable }
指定描述备份集的自由格式文本。该字符串最长可以有 255 个字符。
DIFFERENTIAL
指定数据库备份或文件备份应该与上一次完整备份后改变的数据库或文件部分保持一致。差异备份一般会比完整备份占用更少的空间。对于上一次完整备份时备份的全部单个日志,使用该选项可以不必再进行备份。有关更多信息,请参见差异数据库备份和文件差异备份。
说明 在进行完整数据库备份或差异备份时,SQL Server 备份足够的事务日志,从而在恢复数据库时生成一个一致的数据库。
EXPIREDATE = { date | @date_var }
指定备份集到期和允许被重写的日期。如果将该日期作为变量 (@date_var) 提供,则可以将该日期指定为字符串常量 (@date_var = date)、字符串数据类型变量(ntext 或 text 数据类型除外)、smalldatetime 或者 datetime 变量,并且该日期必须符合已配置的系统 datetime 格式。
RETAINDAYS = { days | @days_var }
指定必须经过多少天才可以重写该备份媒体集。假如用变量 (@days_var) 指定,该变量必须为整型。
重要 假如 EXPIREDATE 或 RETAINDAYS 没有指定,有效期将取决于 sp_configure 的 media retention 配置设置。这些选项仅仅阻止 SQL Server 重写文件。用其它方法可擦除磁带,而通过 *** 作系统可以删除磁盘文件。有关过期验证的更多信息,请参见本主题的 SKIP 和 FORMAT。
PASSWORD = { password | @password_variable }
为备份集设置密码。 PASSWORD 是一个字符串。如果为备份集定义了密码,必须提供这个密码才能对该备份集执行任何还原 *** 作。
重要 备份集密码防止未经授权即通过 SQL Server 2000 工具访问备份集的内容,但是不能防止重写备份集。
有关使用密码的更多信息,请参见"权限"部分。
FORMAT
指定应将媒体头写入用于此备份 *** 作的所有卷。任何现有的媒体头都被重写。FORMAT 选项使整个媒体内容无效,并且忽略任何现有的内容。
重要 使用 FORMAT 要谨慎。格式化一个备份设备或媒体将使整个媒体集不可用。例如,如果初始化现有条带备份集中的单个磁带,则整个备份集都将变得不可用。
通过指定 FORMAT,备份 *** 作也就暗示了 SKIP 和 INIT;这些都不必显式说明。
NOFORMAT
指定媒体头不应写入所有用于该备份 *** 作的卷中,并且不要重写该备份设备除非指定了 INIT。
INIT
指定应重写所有备份集,但是保留媒体头。如果指定了 INIT,将重写那个设备上的所有现有的备份集数据。
当遇到以下几种情况之一时不重写备份媒体:
媒体上的备份设置没有全部过期。有关更多信息,请参见 EXPIREDATE 和 RETAINDAYS 选项。
如果 BACKUP 语句给出了备份集名,该备份集名与备份媒体上的名称不匹配。有关更多信息,请参见 NAME 子句。
使用 SKIP 选项替代这些检查。有关使用 SKIP、NOSKIP、INIT 和 NOINIT 时的相互作用关系的更多信息,请参见注释部分。
说明 如果备份媒体有密码保护,SQL Server 将不写入媒体,除非提供媒体密码。SKIP 选项不替代此检查。只有通过格式化才能重写受密码保护的媒体。有关更多信息,请参见 FORMAT 选项。
NOINIT
表示备份集将追加到指定的磁盘或磁带设备上,以保留现有的备份集。NOINIT 是默认设置。
RESTORE 命令的 FILE 选项用于在还原时选择适当的备份集。有关更多信息,请参见 RESTORE。
如果为媒体集定义了媒体密码,则必须提供密码。
MEDIADESCRIPTION = { text | @text_variable }
指明媒体集的自由格式文本描述,最多为 255 个字符。
MEDIADESCRIPTION = { text | @text_variable }
为整个备份媒体集指明媒体名,最多为 128 个字符。假如指定了 MEDIANAME,则它必须与以前指定的媒体名相匹配,该媒体名已存在于备份卷中。假如没有指定 MEDIANAME,或指定了 SKIP 选项,将不会对媒体名进行验证检查。
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
为媒体集设置密码。MEDIAPASSWORD 是一个字符串。
如果为媒体集定义了密码,则在该媒体集上创建备份集时必须提供此密码。另外,从该媒体集执行任何还原 *** 作时也必须提供媒体密码。只有通过格式化才能重写受密码保护的媒体。有关更多信息,请参见 FORMAT 选项。
有关使用密码的更多信息,请参见"权限"部分。
NAME = { backup_set_name | @backup_set_var }
指定备份集的名称。名称最长可达 128 个字符。假如没有指定 NAME,它将为空。
NORECOVERY
只与 BACKUP LOG 一起使用。备份日志尾部并使数据库处于正在还原的状态。当将故障转移到辅助数据库或在 RESTORE *** 作前保存日志尾部时,NORECOVERY 很有用。
STANDBY = undo_file_name
只与 BACKUP LOG 一起使用。备份日志尾部并使数据库处于只读或备用模式。撤消文件名指定了容纳回滚更改的存储,如果随后应用 RESTORE LOG *** 作,则必须撤消这些回滚更改。
如果指定的撤消文件名不存在,SQL Server 将创建该文件。如果该文件已存在,则 SQL Server 将重写它。有关更多信息,请参见使用备用服务器。
NOREWIND
指定 SQL Server 在备份 *** 作完成后使磁带保持打开。NOREWIND 意即 NOUNLOAD。SQL Server 将保留磁带驱动器的所有权,直到 BACKUP或 RESTORE 命令使用 REWIND 为止。
如果无意中使磁带处于打开状态,则释放磁带的最快方法是使用下面的 RESTORE 命令:
RESTORE LABELONLY FROM TAPE = <name>WITH REWIND
通过查询 master 数据库中的 sysopentapes 表可以查找正在打开的磁带列表。
REWIND
指定 SQL Server 将释放磁带和倒带。如果 NOREWIND 和 REWIND 均未指定,则默认设置为 REWIND。
NOSKIP
指示 BACKUP 语句在可以重写媒体上的所有备份集之前先检查它们的过期日期。
SKIP
禁用备份集过期和名称检查,这些检查一般由 BACKUP 语句执行以防重写备份集。有关更多信息,请参见注释部分。
NOUNLOAD
指定不在备份后从磁带驱动器中自动卸载磁带。设置始终为 NOUNLOAD,直到指定 UNLOAD 为止。该选项只用于磁带设备。
UNLOAD
指定在备份完成后自动倒带并卸载磁带。启动新用户会话时其默认设置为 UNLOAD。该设置一直保持到用户指定了 NOUNLOAD 时为止。该选项只用于磁带设备。
RESTART
指定 SQL Server 重新启动一个被中断的备份 *** 作。因为 RESTART 选项在备份 *** 作被中断处重新启动该 *** 作,所以它节省了时间。若要重新启动一个特定的备份 *** 作,请重复整个 BACKUP 语句并且加入 RESTART 选项。不一定非要使用 RESTART 选项,但是它可以节省时间。
重要 该选项只用于导向磁带媒体的备份和跨越了多个磁带卷的备份。在备份的第一卷上永远不会有重新启动 *** 作。
STATS [= percentage]
每当另一个 percentage 结束时显示一条消息,它被用于测量进度。如果省略 percentage,SQL Server 将每完成 10 个百分点显示一条消息。
<file_or_filegroup>
指定包含在数据库备份中的文件或文件组的逻辑名。可以指定多个文件或文件组。
FILE = { logical_file_name | @logical_file_name_var }
给一个或多个包含在数据库备份中的文件命名。
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
给一个或多个包含在数据库备份中的文件组命名。
说明 当数据库的大小和性能要求使得进行完整数据库备份不切实际时,备份一个文件。若要单独备份事务日志,请使用 BACKUP LOG。
重要 必须通过使用 BACKUP LOG 提供事务日志的单独备份,才能使用文件和文件组备份来恢复数据库。有关文件备份的更多信息,请参见备份使用文件备份。
如果恢复模型为 SIMPLE,则不允许文件和文件组备份。
n
是一个占位符,表示可以指定多个文件和文件组。对文件或文件组的最大个数没有限制。
LOG
指定只备份事务日志。该日志是从上一次成功执行了的 LOG 备份到当前日志的末尾。一旦备份日志,可能会截断复制或活动事务不再需要的空间。
说明 假如备份日志看来并没有截断大部分的日志,则有可能在日志中存在一个旧的开放事务。可以使用 DBCC SQLPERF (LOGSPACE) 观察日志空间。有关更多信息,请参见事务日志备份。
NO_LOG | TRUNCATE_ONLY
无须备份复制日志即删除不活动的日志部分,并且截断日志。该选项会释放空间。因为并不保存日志备份,所以没有必要指定备份设备。NO_LOG 和 TRUNCATE_ONLY 是同义的。
使用 NO_LOG 或 TRUNCATE_ONLY 备份日志后,记录在日志中的更改不可恢复。为了恢复,请立即执行 BACKUP DATABASE。
NO_TRUNCATE
允许在数据库损坏时备份日志。
注释
可以将数据库或日志备份追加到任何磁盘或磁带设备上,从而使得数据库和它的事务日志能存储在一个物理位置中。
当数据库正在使用时,SQL Server 使用一个联机备份过程来对数据库进行备份。下面的列表包括在数据库或事务日志备份时无法进行的 *** 作:
在备份 *** 作时允许进行文件管理 *** 作,如带有 ADD FILE 或 REMOVE FILE 选项的 ALTER DATABASE 语句,以及 INSERT、UPDATE 或 DELETE 语句。
收缩数据库或文件。这包括自动收缩 *** 作。
假如在这些 *** 作正在进行时启动备份,备份将终止。假如正在进行备份时,试图进行这些 *** 作,则 *** 作会失败。
只要 *** 作系统支持数据库的排序规则,就可以在不同的平台之间执行备份 *** 作,即使这些平台使用不同的处理器类型。有关更多信息,请参见 SQL Server 排序规则基础知识。
备份文件格式
因为 SQL Server 2000 的备份格式遵从 Microsoft 磁带格式 (MTF),该格式与 Windows NT 磁带备份所使用的格式相同,所以 SQL Server 备份可与 Windows NT 备份共存于磁带媒体上。若要确保相互 *** 作性,磁带应由 NTBackup 格式化。
备份类型
SQL Server 支持的备份类型包括:
完整数据库备份,它备份包括事务日志的整个数据库。
在完整数据库备份之间执行差异数据库备份。
事务日志备份。
日志备份序列提供了连续的事务信息链,可支持从数据库、差异或文件备份中快速恢复。
文件和文件组备份。
当时间限制使得完整数据库备份不切实际时,请使用 BACKUP 备份数据库文件和文件组,而不是备份完整数据库。若要备份一个文件而不是整个数据库时,请合理安排步骤以确保数据库中所有的文件按规则备份。同时必须进行单独的事务日志备份。在恢复一个文件备份后,使用事务日志将文件内容前滚,使其与数据库其余部分一致。
在条带集中使用的备份设备必须一直在条带集中使用(除非在某处用 FORMAT 重新初始化),而且设备数目不变。在备份设备已定义为条带集的组成部分后,就不能用于单个设备备份,除非指定了 FORMAT。同样,一个含有非条带集备份的备份设备不能用于条带集,除非指定了 FORMAT。使用 FORMAT 来分开条带备份集。
如果写入媒体头时未指定 MEDIANAME 或 MEDIADESCRIPTION,则与空项对应的媒体头字段将为空。
如果恢复模型为 SIMPLE,则无法使用 BACKUP LOG。应该使用 BACKUP DATABASE 来替代。
SKIP、NOSKIP、INIT 和 NOINIT 间的相互作用
下表说明 { INIT | NOINIT }和{ NOSKIP | SKIP } 子句间是如何相互作用的。
说明 在所有这些交互 *** 作中,如果磁带媒体为空或磁带备份文件不存在,则写入媒体头并继续。如果媒体头不为空或不含有效的媒体头,则指出这是无效的 MTF 媒体并取消备份。
INIT NOINIT
SKIP 如果卷中包含有效的1 媒体头,则验证媒体密码并重写媒体上的全部备份集,仅保留媒体头。
如果卷不含有效的媒体头,则使用给定的 MEDIANAME、MEDIAPASSWORD 和 MEDIADESCRIPTION(若有)生成媒体头。
如果卷中包含有效的媒体头,则验证媒体密码并添加备份集,并保留所有现有备份集。
如果卷不含有效的媒体头,则会出错。
NOSKIP 如果该卷包含一个有效的媒体头,将执行以下检查:
验证媒体密码。2
如果指定了 MEDIANAME,将验证所给的媒体名是否匹配媒体头的媒体名。
验证媒体上没有未过期的备份集。
如果有,将终止备份。
如果这些检查都通过了,将重写该媒体上一切备份集,只保留媒体头。
如果卷不含有效的媒体头,则使用给定的 MEDIANAME、MEDIAPASSWORD 和 MEDIADESCRIPTION(若有)生成媒体头。
如果该卷包含一个有效的媒体头,将验证媒体密码*并且验证媒体是否名匹配所给的 MEDIANAME(假如有的话)。如果匹配,追加备份集,同时保留所有现有的备份集。
如果卷不含有效的媒体头,则会出错。
1. 有效性包括 MTF 版本号和其它标题信息。如果不支持指定的版本或指定的版本不是期望值,将会发生错误。
2. 用户必须属于适当的固定数据库或服务器角色,并提供执行备份 *** 作所需的正确媒体密码。
说明 为保持向后兼容性,在 BACKUP 语句的语法中可使用 DUMP 关键字替代 BACKUP 关键字。另外,可使用 TRANSACTION 关键字替代 LOG 关键字。
备份历史表
SQL Server 使用以下的备份历史表来跟踪备份活动:
backupfile
backupmediafamily
backupmediaset
backupset
执行 RESTORE 时,将修改备份历史记录表。
兼容性注意事项
注意 无法在早期 SQL Server 版本中还原使用 Microsoft® SQL Server™ 2000 创建的备份。
权限
BACKUP DATABASE 和 BACKUP LOG 权限默认情况下授予 sysadmin 固定服务器角色和 db_owner 及 db_backupoperator 固定数据库角色的成员。
此外,用户可以为媒体集、备份集或两者指定密码。如果为媒体集指定了密码,则用户若只是适当的固定服务器和数据库角色成员还不足以执行备份。用户还必须提供媒体密码才能执行这些 *** 作。同样,除非在还原命令中指定正确的媒体集密码和备份集密码,否则不能执行还原 *** 作。
在 BACKUP 语句中,定义备份集密码和媒体集密码为可选功能。使用密码可防止利用 SQL Server 2000 工具未经授权地执行还原 *** 作和在媒体中添加备份集,但是,密码不能防止通过 FORMAT 选项重写媒体。
因此,尽管使用密码对防止利用 SQL Server 工具未经授权地访问媒体内容有帮助,但密码不能防止媒体内容被破坏。密码不能完全防止未经授权地访问媒体内容,原因在于备份集中的数据没有加密,理论上可以被专为此目的创建的程序所检查。对于安全性至关重要的场合,防止未经授权的个人访问媒体非常重要。
为不是用相关密码创建的对象指定密码是错误的做法。
BACKUP 使用由 PASSWORD 选项提供的备份集密码创建备份集。另外,BACKUP 正常情况下在写入媒体之前验证由 MEDIAPASSWORD 选项提供的媒体密码。BACKUP 不验证媒体密码的唯一情况是当格式化媒体时,这将重写媒体头。BACKUP 只在下列情况下格式化媒体:
如果指定了 FORMAT 选项。
如果媒体头无效且指定了 INIT。
如果正在写入延续卷。
如果 BACKUP 写入媒体头,BACKUP 将给 MEDIAPASSWORD 选项中指定的值指派媒体集密码。
有关密码对 SKIP、NOSKIP、INIT 和 NOINIT 选项的影响的更多信息,请参见注释部分。
备份设备物理文件的所有权和权限问题可能会妨碍备份 *** 作。SQL Server 必须能够读取并写入设备;运行 SQL Server 服务的帐户必须有写入权限。但是,为设备在系统表中添加项目的 sp_addumpdevice 不检查文件访问权。备份设备物理文件的这些问题可能直到为备份或还原而访问物理资源时才会出现。
示例
A. 备份整个 MyNwind 数据库
说明 MyNwind 数据库仅用于演示。
下例创建用于存放 MyNwind 数据库完整备份的逻辑备份设备。
-- Create a logical backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_1',
DISK ='c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_1
B. 备份数据库和日志
本例创建了一个数据库和日志的完整备份。将数据库备份到称为 MyNwind_2 的逻辑备份设备上,然后将日志备份到称为 MyNwindLog1 的逻辑备份设备上。
说明 创建逻辑备份设备需要一次完成。
-- Create the backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_2',
'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_2.dat'
--Create the log backup device.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwindLog1',
'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwindLog1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_2
-- Update activity has occurred since the full database backup.
-- Back up the log of the MyNwind database.
BACKUP LOG MyNwind
TO MyNwindLog1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)