一.备份数据库
BACKUP DATABASE test to disk ='D:/cbmBack/previousDay.bak' with init,name='full backup'
备注:with init表示指针移动文件头部去写。
二.备份日志
BACKUP LOG test to disk ='D:/cbmBack/log.bak' with init
备注:在备份周期开始的时候,要加上with init,表示文件的写指针移动文件头部。
在备份周期内部,就不要加with init了,表示备份的日志附加到原文件之后。
三.查看备份文件
restore headeronly from disk='D:/cbmBack/log.bak'
restore headeronly from disk='D:/cbmBack/previousDay.bak'
四.备份尾日志
BACKUP LOG test TO DISK = N'D:/cbmBack/log.bak'
WITH NO_TRUNCATE ,
NOFORMAT,
NOINIT,
NAME = N'db_test-事务日志备份',
SKIP,
NOREWIND,
NOUNLOAD,
NORECOVERY ,
STATS = 10
备注:如果数所据库的备份程序还不到10分钟间隔,而没有备份日志,这个时候要手动备份日志,就用以上语句。
这里有个疑问,就是备份尾日志和备份普通时候的日志有什么不一样?我测试了没什么不同,这可能是因为测试的时候,数据库是好着的,如果遇到数据库已经崩溃了,可能就要用以上的语句才能把尾日志备出来。
五.恢复数据库
1.首先恢复完整备份
RESTORE DATABASE test FROM DISK = N'D:/cbmBack/previousDay.bak'
WITH FILE = 1,
NORECOVERY,
NOUNLOAD,
REPLACE,
STATS = 10
2.恢复非尾日志
RESTORE LOG test FROM DISK = N'D:/cbmBack/log.bak'
WITH FILE =1,
NORECOVERY,
NOUNLOAD,
STATS = 10
3.恢复尾日志
RESTORE LOG test FROM DISK = N'D:/cbmBack/log.bak'
WITH FILE =2,
RECOVERY,
NOUNLOAD,
STATS = 10
备注:尾日志恢复的时候,要用RECOVERY
利用bak恢复数据库,强制还原(REPLACE)
STATS = 10 每完成10%显示一条记录
DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件
*/
USE master
RESTORE DATABASE DB
FROM DISK = 'g:\back.Bak'
WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf',
MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf',
STATS = 10, REPLACE
GO
++++++++++++++++++++++++++++++++
/**//*
备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。
*/
USE master
BACKUP DATABASE DB
TO DISK = 'g:\DBBack0930.bak'
RESTORE FILELISTONLY
FROM DISK = 'g:\DBBack0930.bak'
RESTORE DATABASE DBTest
FROM DISK = 'g:\DBBack0930.bak'
WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf',
MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf'
GO
一.线程2select
线程1
|
线程2
|
条件
|
结果
|
Insert多条记录
|
select
|
TRANSACTION_READ_UNCOMMITTED
|
线程2无阻塞,直接取到了线程1中的实时操作,虽然这些操作未提交
|
Insert多条记录
|
select
|
TRANSACTION_READ_COMMITTED
|
线程2阻塞,直到线程1提交事务,才取到了线程1中的所有操作结果
|
Insert多条记录
|
select
|
TRANSACTION_SERIALIZABLE
|
内容同
TRANSACTION_READ_UNCOMMITTED
|
如果在事务中应用了select 的串行化事务,则其他事务要等这个select结束
二.线程2update
线程1
|
线程2
|
条件
|
结果
|
Update某条记录
|
Update线程1相同的记录
|
任何条件
|
线程2阻塞,直到线程1提交事务,接着线程2才执行自己的update操作
|
Update某条记录
|
Update线程1不相同的记录
|
任何条件
|
线程2无阻塞,直接提交自己的事务
|
三.线程2insert
线程1
|
线程2
|
条件
|
结果
|
Delete所有记录
|
Insert一条记录
|
非TRANSACTION_SERIALIZABLE
|
线程2无阻塞,直接插入并提交,线程1只删除它那个瞬间可以删除的数据
|
Delete所有记录
|
Insert一条记录
|
TRANSACTION_SERIALIZABLE
|
线程2阻塞,直到线程1结束,然后线程2才插入记录。最后表中看到的记录和上面一项的结果一样
|
四.线程2delete
线程1
|
线程2
|
条件
|
结果
|
Insert一条记录
|
Delete 所有记录
|
任何条件
|
线程2阻塞,直到线程1提交事务,接着线程2才执行自己的delete操作
|
Insert一条记录
|
Delete 某条记录
|
任何条件
|
线程2无阻塞,直接删除并提交
|
Connection 设置事务级别,是告诉别人我的事务有多高.
1.读已提交
如果另一个事务对本事务的读有影响,并且另一个事务没有结束,则本事务的读操作等另一事务结束
2.update ,delete
在update一条记录时,如果另一个事务也在update此记录(包括update 表 set field=value 无where条件),则本事务等另一个事务结束
3.insert操作
两个线程开始执行的瞬间,有两个作用域,如果两个作用域存在交集,则后来的线程等待。
分享到:
相关推荐
- 数据备份是防止数据丢失的关键,包括完整备份、差异备份和日志备份,恢复时需遵循正确的顺序。 - 在进行数据归档时,可以采用规范化、非规范化或汇总信息的方法。 7. **问题处理**: - 遇到阻塞,可以考虑杀掉...
### SQL Server 2005 数据备份与恢复详解 #### 一、备份数据库 ##### 1. 备份概述 在进行数据库备份时,可以自定义备份文件的名称,但备份文件内会记录原始数据库的 `.mdf`(主数据文件)和 `.ldf`(事务日志文件...
SQL Server 2000支持完整备份、差异备份、日志备份等多种方式,同时提供还原操作以在数据丢失或系统故障时恢复数据。 六、视图和存储过程 视图是虚拟表,基于一个或多个表的查询结果。存储过程是预编译的SQL语句...
下面是 SQL Server 2005 故障转移群集的建立方法和过程笔记: 一、数据库集成 在建立故障转移群集之前,需要安装 SQL Server 2005 数据库。安装时选择 Database Service 和 Client Component,其他组件无需安装。...
以下是从提供的文件内容中提炼的SQL Server学习笔记的知识点: 1. 数据库的创建与管理: - 新建数据库:使用CREATE DATABASE语句来创建一个新的数据库。 - 修改数据库:ALTER DATABASE语句用于修改已存在数据库的...
数据库 SQL备份和还原 , 数据库资料, MS SQL SERVER数据库置疑后恢复步骤 MSSQL中如何用SQL清除所有表的数据,SQL优化,配置SQL内存,利用触发器实现标识列连续,清理过大的日志文件
以上是对SQL Server数据库管理和表操作中的一些关键知识点的总结,包括数据库的创建、修改、删除、备份和恢复等基本操作,以及表的创建、修改、删除、数据的插入、更新和删除等操作,还有统计函数和转换函数的使用...
- **备份策略**: 包括完整备份、差异备份和事务日志备份。 #### 九、安全性 **9.1 用户和权限** - **用户管理**: 创建和管理数据库用户。 - **权限分配**: 授权用户对数据库对象的操作权限。 **9.2 加密和身份验证...
- **极佳的数据备份和还原能力**:提供了丰富的备份和恢复策略,确保数据安全。 #### 二、SQL Server 2000安装与简介 **2.1 安装选项** - **排序和排序原则**:选择合适的排序规则对于确保数据正确排序至关重要。...
本笔记主要涵盖了SQL Server 2000的基础操作和核心概念,包括数据库操作、表操作、查询、安全性、索引、视图、游标、存储过程、触发器等,旨在帮助初学者建立对数据库管理系统的理解和应用。 1. **数据库操作**:...
4PostgreSQL 触发器99PostgreSQL 触发函数100PostgreSQL 类型102...SQL Server 备份或还原(只限于完整版本)120SQL Server 备份120SQL Server 还原122SQL Server 模式123SQL Server 表124SQL Server 表栏位124...
3. 对SQL Server 2000中的项目数据库进行备份,这包括主数据文件(MDF)和日志文件(LDF),或者通过SQL Server企业管理器进行数据库备份。 安装TD8.0+SP2时,应在新服务器上进行,并确保所有备份数据的安全。新...
- 数据恢复:在故障后,通过备份还原数据到先前的已知良好状态。 - 点-in-time恢复:通过日志文件实现特定时间点的数据恢复。 8. **数据库安全**: - 用户权限管理:设置不同级别的访问权限,确保数据安全。 - ...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
#### 备份和还原工具 - `ntbackup` - **功能**: 备份和恢复整个系统或选定的数据文件。 - **应用场景**: 定期备份系统以防数据丢失。 #### 关机命令 - `rononce-p` - **功能**: 计划计算机的关机操作。 - **应用...