第二章 管理数据库文件
数据库中的事务
一组数据库操作操作SQL语句作为整体执行,要么完全地执行,要么完全地不执行
对数据库中的数据操作的过程增删改
修改数据过程:
1)将数据调入内存中修改,同时写事务日志
2)默认每隔1分钟数据库就有1个检查点,就把内存里的数据写入硬盘
3)出现故障后(故障点),数据库重启就会检查数据库事务日志,检查最近一次检查点和故障点
之间哪些事务(数据修改)完成了,哪些事务(数据修改)没完成。完成的事务进行前滚,没
完成的事务取消,进行回滚。
前滚:(在检查点和故障点之间,已经完成的事务即数据修改完)检查点以后的事务在内存里再执
行一遍,确保下次检查点存盘
回滚:在检查点和故障点之间,没完成的事务即数据没修改完,对事务取消,恢复到以前没修改时
的状态
数据库类型
mdf 一个数据库一个mdf文件,数据库配置信息,数据库文件信息,日志文件信息都存在mdf上
mdf文件损坏,所有信息全部无法使用
ndf 数据库文件可以有多个
ldf 日志文件可以有多个
建议:mdf ndf ldf 文件放在两块硬盘上(考虑硬件的可靠性)
创建多个数据库文件
1) 优化性能
2) 扩容
create databasestudy 创建数据库
sp_helpdb study 查询数据库文件和大小
管理数据库文件的增长
将SQL数据库设为文件自动增长是为了简化系统管理,当磁盘上有剩余空间,数据库总能装下新输入的数据。
数据库文件自动增长只发生在当现有剩余空间不足以装新输入数据时才增长,对数据库的只读访问无论多少次都不使数据库增长,新增/修改数据时也只有在剩余空间不足时才增大文件;而删除数据时,释放的空间满足一定条件时这部分空间可以被重新使用。由于增长文件大小需要消耗大量系统资源,数据库管理系统总是尽可能减少增长文件的操作
收缩数据库和数据库文件
清空数据库文件后再删除数据库文件
配置数据库属性选项设置自动收缩数据库为Ture
移动数据库文件到新位置
第一种方法:选择要移动的数据库,选择脱机将数据库文件和日志文件拷贝到新位置
在master数据库下执行以下命令:
alter database studymodify file
(
name=study,filename=’D:\studyDB\study.mdf’
)
alter database studymodify file
(
name=study_log,filename=’D:\studyDB\study_log.ldf’
)
然后再联机
第二种方法:分离和附加
选择要分离的数据库选择任务分离 把数据库文件拷贝到新位置
选择数据库选择附加找到数据库文件和日志文件的位置
本文出自 “7165088” 博客,请务必保留此出处http://7175088.blog.51cto.com/7165088/1661200
原文地址:http://7175088.blog.51cto.com/7165088/1661200