Backup 和Restore 命令详解
Backup Restore 命令详解
(2006-11-09 16:11:01)
转载
分类: 数据库
标签:Sqlserver
 
语法:Restore an entire database:
RESTORE DATABASE { database_name | @database_name_var }
[ FROM < backup_device > [ ,...n ] ]
[ WITH
    [ RESTRICTED_USER ]
    [ [ , ] FILE = { file_number | @file_number } ]
    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    [ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]
            [ ,...n ]
    [ [ , ] KEEP_REPLICATION ]
    [ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ]
    [ [ , ] { NOREWIND | REWIND } ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
    [ [ , ] REPLACE ]
    [ [ , ] RESTART ]
    [ [ , ] STATS [ =bak文件 percentage ] ]
]
1.首先看一段代码
 
BACKUP DATABASE Northwind TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Northwind.BAK'
 
RESTORE FILELISTONLY FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Northwind.BAK'

RESTORE DATABASE TestDB FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Northwind.BAK' WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
 
 
第一句将Northwind数据库备份到C:\Northwind.bak文件
 
第二句从BAK文件获取Northwind数据库的一些原始信息,包括LogicalName,  PhyscialName, Type, FileGroupName, Size, MaxSize
其中最重要的是LogicalNamePhyscialName,它们分别代表了数据库的逻辑名以及对应的物理文件名,注意:当还原数据库时,你可以改变数据库的名称以及它的物理文件名称,但是你不可以改变它的逻辑名称,所以,当我们将一个数据库还原成为另外一个数据库时,我们首先要利用RESTORE FILELISTONLY命令得到它的原始逻辑名称
 
第三句
Northwind数据库还原成一个名为TestDB的数据库,并将它的物理文件保存在"'c:\test\"下,这里需要注意的是逻辑名称必须是原始逻辑名称
 
SqlServer数据库在创建时会建立两个文件,一个是数据文件mdf,另外一个是日志文件ldf,而在备份时,会产生一个bak文件.
 backup命令
backup命令在备份介质上创建文件的副本。命令路径/usr/sbin/backup
两种备份格式:
使用-i标志,按名称备份整个文件系统
使用LevelFileSystem参数内节点备份文件系统
如果不带任何参数发出backup命令,它缺省为级别9的内节点备份,将根文件系统备份到/dev/rfd0设备
缺省的语法是:
-9uf /dev/rfd0 /dev/rhd4
注:
1backup命令覆盖介质
2、备份过程中,将系统活动保持最小
3、如果备份到设备块大小设置为0的磁带机,则除非缺省写大小和backup命令一起使用,否
则很难再从磁带恢复数据。当磁带的块大小为0 时,backup命令的缺省写大小可由Restore命令读取。换句话说,当磁带机的块大小为0的时候,不应该指定-b标志,如果指定backup命令的-b标志,且他和缺省大小不同,则当从磁带恢复归档文件时,必须用restore命令的-b标志来指定相同的大小。
按名称备份文件
需要使用-i参数
p 标准则只打包小于2G的文件。
按内节点备份文件系统
要指定-level FileSystem参数
u标志,-level参数提供维护每个文件系统的增量备份的层次结构的方法。指定-u标志并将-level参数设置为n,则只备份从n1级别备份以后修改过的文件。
有关每个增量备份日期,时间和级别的信息,被写入/etc/dumpdates文件
用户必须具备访问/dev/hd4读访问权,或者备份权限
注:
1、安装内节点备份文件系统将截断有超过65535UIDGID的文件的uid或者gid
2、按内节点备份,只能备份JFS文件系统,(使用paxtarcpio备份非JFS文件系统)
标志
b 按名称备份时指定512字节块的数量,按内节点备份时指定1024字节块的数量,缺省是10032
c 指定磁带是盒式磁带,而不是九磁道格式
e RegularExpression 指定不打包的名称和正则表达式的文件
E 按名称备份,三个值,warn(如果不能保持文件的空间保留或固定范围大小,则发出警报),forceignore
f Device 指定输入设备
L 指定磁带长度,仅在备份内节点使用,指定2G字节长度的磁带,则-L 2g
l 限制要在软盘设备上使用的块的总量、
p 在创建归档之前先打包或压缩,只打包小于2G的文件。不活动的文件系统才选用该选项。
q 指可移动介质已准备就绪
u 用文件系统的原始设备名称和时间日期以及备份级别来更新/etc/dumpdates文件
v 显示使用backup命令来显示备份的附加信息。显示文件备份时的大小。
W 显示/etc/dumpdates文件中每个文件系统的最近的备份日期和级别。
示例:

1、要使用全路径名备份/home目录中的文件和子目录
find /home -print | backup -i -f /dev/rmt0

2、要使用相对路径备份/home/mike目录中所有的文件和子目录
cd /home/mike
find . -print | backup -i -v -q
缺省备份设备/dev/rfd0

3、要备份/(根)文件系统
backup -0 -u -f /dev/rmt0 /
4、要备份/()文件系统中自从最后一次级别0备份以来修改过的所有文件。
backup -1 -u -f /dev/rmt0 /
如果/etc/dumpdates文件不具有/()系统的级别0的备份的条目,则备份该文件系统的所有文件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。