sqlserver备份与恢复学习笔记.docx
- 文档编号:2369461
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:9
- 大小:20.26KB
sqlserver备份与恢复学习笔记.docx
《sqlserver备份与恢复学习笔记.docx》由会员分享,可在线阅读,更多相关《sqlserver备份与恢复学习笔记.docx(9页珍藏版)》请在冰豆网上搜索。
sqlserver备份与恢复学习笔记
SqlServerDatabase
BackupandRestorePracticeNotes
----温和
该文档为本人在MSsqlserver数据库恢复与备份的学习过程中,结合具体操作实践的一些总结,仅供参考。
一、创建练习使用的数据库为mydb,创建过程如下:
1>dropdatabasemydb
2>go---drop掉原使用的mydb数据库,因有其他会话使用,数秒后报错退出
消息3702,级别16,状态4,服务器ANGEL,行1
无法除去数据库'mydb',因为它当前正在使用。
1>alterdatabasemydbsetrestricted_userwithrollbackimmediate
2>go--更改数据库为单用户使用模式,并强制其他会话回滚
正在回滚不合法事务。
估计回滚已完成:
100%。
1>dropdatabasemydb
2>go--独占式访问数据库,可执行删除
正在删除数据库文件'c:
\msdata\mydb_fg1_2.ndf'。
正在删除数据库文件'c:
\msdata\mydb_fg1_1.ndf'。
正在删除数据库文件'c:
\msdata\mydb_log.ldf'。
正在删除数据库文件'c:
\msdata\mydb_pri.mdf'。
1>createdatabasemydb
2>onprimary
3>(name='mydb_pri',filename='c:
\msdata\mydb_pri.mdf',
4>size=5mb,maxsize=15mb,filegrowth=1mb,
5>filegroupmydb_fg1
6>(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=1mb
10>logon
11>(name='mydb_log',filename='c:
\msdata\mydb_log.ldf',
12>size=5mb,maxsize=15mb,filegrowth=1mb
13>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_fg1default
2>go--更改数据库默认文件组为mydb_fg1
文件组属性'DEFAULT'已设置。
1>selectcount(*frommaster..sysobjects
2>go
-----------
1266
(1行受到影响
1>usemydb
2>go
1>setrowcount1000
2>go
1>select*intot1frommaster..sysobjects
2>go
(1000行受到影响
1>insertintot1select*frommaster..sysobjects
2>go
(1000行受到影响
1>selectcount(*fromt1
2>go--取系统表sysobjects的记录做数据源生成表t1,t1表在mydb_fg1上
-----------
2000
(1行受到影响
1>createtablet2(col1char(8000on[primary]
2>go--在primary文件组上建表t2,char(8000意味着一行的数据将占用一个page
1>insertintot2values('a'
2>insertintot2values('b'
3>insertintot2values('c'
4>insertintot2values('d'
5>insertintot2values('e'
6>go--构造几条测试数据
(1行受到影响
(1行受到影响
(1行受到影响
(1行受到影响
(1行受到影响
1>alterdatabasemydbsetrecoveryfull
2>go--更改mydb数据库的恢复模式为full(默认恢复模式继承自model数据库
至此,练习环境准备完毕。
数据库mydb,两个文件组,3个数据文件一个日志文件。
二、下面做数据库备份后模拟简单情况下的数据文件丢失的恢复
备份:
1、做mydb的全库备份:
1>Backupdatabasemydbtodisk='c:
\bak\mydb_all.bak'withformat
2>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>setrowcount500
2>go
1>deletefromt1
2>go
(500行受到影响
1>setrowcount0
2>go
1>deletefromt2wherecol1='c'
2>go
(1行受到影响
1>Backupdatabasemydbtodisk='c:
\bak\mydb_dif.b01'withformat,differential
2>go--数据库差异备份(完全恢复模式下可选,差异备份不截断事务日志
已处理32页,这些页属于数据库'mydb'的文件'mydb_pri'(位于文件1上。
已处理8页,这些页属于数据库'mydb'的文件'mydb_fg1_1'(位于文件1上。
已处理24页,这些页属于数据库'mydb'的文件'mydb_fg1_2'(位于文件1上。
已处理1页,这些页属于数据库'mydb'的文件'mydb_log'(位于文件1上。
BACKUPDATABASEWITHDIFFERENTIAL操作成功地处理了65页,花费了
0.364秒(1.443
MB/秒。
3、做mydb的日志备份
1>insertintot2values('x'
2>go
(1行受到影响
1>insertintot2values('y'
2>go
(1行受到影响
1>setrowcount100
2>go
1>insertintot1select*frommaster..sysobjects
2>go
(100行受到影响
1>backuplogmydbtodisk='c:
\bak\mydb_log.001'withformat
2>go--数据库事务日志备份
已处理20页,这些页属于数据库'mydb'的文件'mydb_log'(位于文件1上。
BACKUPLOG操作成功地处理了20页,花费了0.190秒(0.829MB/秒。
1>
1、模拟在服务器运行数据库关闭的状况下丢失一个次要文件时的恢复
1>usemaster
2>go
1>selectstatusfromsysdatabaseswherename='mydb'
2>go--查sysdatabases表知mydbautoclose=on
status
-----------
4194321
(1行受到影响
1>alterdatabasemydbsetrestricted_userwithrollbackimmediate
2>go--限制用户访问
正在回滚不合法事务。
估计回滚已完成:
100%。
1>selectstatusfromsysdatabaseswherename='mydb'
2>go--数据库自动关闭(否则无法删除数据文件
status
-----------
1077938193--数据库已关闭
(1行受到影响
--在操作系统中删除mydb数据文件mydb_fg1_1.ndf,打开数据库报错
1>usemydb
2>go
消息5105,级别16,状态5,服务器ANGEL,行1
设备激活错误。
物理文件名'c:
\msdata\mydb_fg1_1.ndf'可能有误。
消息945,级别14,状态2,服务器ANGEL,行1
由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库'mydb'。
详细信息请参阅SQLServer错误日志。
/*说明:
这种情况下的文件丢失等同于服务器关闭后丢失文件,一般出现机率不大还原步骤:
A、先还原数据库完全备份mydb_all.baknorecovery
B、还原数据库差异备份mydb_dif.b01(因差异备份不截断日志,可选,若要恢复至改差异备份的时间点则recovery
C、还原事务日志备份mydb_log.001recovery
1>restoredatabasemydbfromdisk='c:
\bak\mydb_all.bak'withnorecovery
2>go
消息5105,级别16,状态5,服务器ANGEL,行1
设备激活错误。
物理文件名'c:
\msdata\mydb_fg1_1.ndf'可能有误。
已处理112页,这些页属于数据库'mydb'的文件'mydb_pri'(位于文件1上。
已处理32页,这些页属于数据库'mydb'的文件'mydb_fg1_1'(位于文件1上。
已处理32页,这些页属于数据库'mydb'的文件'mydb_fg1_2'(位于文件1上。
已处理1页,这些页属于数据库'mydb'的文件'mydb_log'(位于文件1上。
RESTOREDATABASE操作成功地处理了177页,花费了0.267秒(5.417MB/秒。
1>restoredatabasemydbfromdisk='c:
\bak\mydb_dif.b01'withnorecovery
2>go
已处理32页,这些页属于数据库'mydb'的文件'mydb_pri'(位于文件1上。
已处理8页,这些页属于数据库'mydb'的文件'mydb_fg1_1'(位于文件1上。
已处理24页,这些页属于数据库'mydb'的文件'mydb_f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 备份 恢复 学习 笔记