SqlServerDatabaseBackupandRestorePracticeNotes----温和该文档为本人在MSsqlserver数据库恢复与备份的学习过程中,结合具体操作实践的一些总结,仅供参考。一、创建练习使用的数据库为mydb,创建过程如下:1>dropdatabasemydb2>go---drop掉原使用的mydb数据库,因有其他会话使用,数秒后报错退出消息3702,级别16,状态4,服务器ANGEL,行1无法除去数据库'mydb',因为它当前正在使用。1>alterdatabasemydbsetrestricted_userwithrollbackimmediate2>go--更改数据库为单用户使用模式,并强制其他会话回滚正在回滚不合法事务。估计回滚已完成:100%。1>dropdatabasemydb2>go--独占式访问数据库,可执行删除正在删除数据库文件'c:\msdata\mydb_fg1_2.ndf'。正在删除数据库文件'c:\msdata\mydb_fg1_1.ndf'。正在删除数据库文件'c:\msdata\mydb_log.ldf'。正在删除数据库文件'c:\msdata\mydb_pri.mdf'。1>createdatabasemydb2>onprimary3>(name='mydb_pri',filename='c:\msdata\mydb_pri.mdf',4>size=5mb,maxsize=15mb,filegrowth=1mb,5>filegroupmydb_fg16>(name='mydb_fg1_1',filename='c:\msdata\mydb_fg1_1.ndf',7>size=5mb,maxsize=15mb,filegrowth=1mb,8>(name='mydb_fg1_2',filename='c:\msdata\mydb_fg1_2.ndf',9>size=5mb,maxsize=15mb,filegrowth=1mb10>logon11>(name='mydb_log',filename='c:\msdata\mydb_log.ldf',12>size=5mb,maxsize=15mb,filegrowth=1mb13>go--创建数据库mydb供操作用CREATEDATABASE进程正在磁盘'mydb_pri'上分配5.00MB的空间。CREATEDATABASE进程正在磁盘'mydb_fg1_1'上分配5.00MB的空间。CREATEDATABASE进程正在磁盘'mydb_fg1_2'上分配5.00MB的空间。CREATEDATABASE进程正在磁盘'mydb_log'上分配5.00MB的空间。1>alterdatabasemydbmodifyfilegroupmydb_fg1default2>go--更改数据库默认文件组为mydb_fg1文件组属性'DEFAULT'已设置。1>selectcount(*frommaster..sysobjects2>go-----------1266(1行受到影响1>usemydb2>go1>setrowcount10002>go1>select*intot1frommaster..sysobjects2>go(1000行受到影响1>insertintot1select*frommaster..sysobjects2>go(1000行受到影响1>selectcount(*fromt12>go--取系统表sysobjects的记录做数据源生成表t1,t1表在mydb_fg1上-----------2000(1行受到影响1>createtablet2(col1char(8000on[primary]2>go--在primary文件组上建表t2,char(8000意味着一行的数据将占用一个page1>insertintot2values('a'2>insertintot2values('b'3>insertintot2values('c'4>insertintot2values('d'5>insertintot2values('e'6>go--构造几条测试数据(1行受到影响(1行受到影响(1行受到影响(1行受到影响(1行受到影响1>alterdatabasemydbsetrecoveryfull2>go--更改mydb数据库的恢复模式为full(默认恢复模式继承自model数据库至此,练习环境准备完毕。数据库mydb,两个文件组,3个数据文件一个日志文件。二、下面做数据库备份后模拟简单情况下的数据文件丢失的恢复备份:1、做mydb的全库备份:1>Backupdatabasemydbtodisk='c:\bak\mydb_all.bak'withformat2>go已处理112页,这些页属于数据库'mydb'的文件'mydb_pri'(位于文件1上。已处理32页,这些页属于数据库'mydb'的文件'mydb_fg1_1'(位于文件1上。已处理32页,这些页属于数据库'mydb'的文件'mydb_fg1_2'(位于文件1上。已处理1页,这些页属于数据库'mydb'的文件'mydb_log'(位于文件1上。BACKUPDATABASE操作成功地处理了177页,花费了0.412秒(3.510MB/秒。2、做mydb的差异备份1>setrowcount5002>go1>deletefromt12>go(500行受到影响1>setrowcount02>go1>deletefromt2wherecol1='c'2>go(1行受到影响1>Backupdatabasemydbtodisk='c:\bak\mydb_dif.b01'withformat,differential2>go--数据库差异备份(完全恢复模式下可选,差异备份不截断事务日志已处理32页,这些页属于数据库'mydb'的文件'mydb_pri'(位于文件1上。已处理8页,这些页属于数据库'mydb'的文件'mydb_fg1_1'(位于文件1上。已处理24页,这些页属于数据库'mydb'的文件'mydb_fg1_2'(位于文件1上。已处理1页,这些页属于数据库'mydb'的文件'mydb_log'(位于文件1上。BACKUP...