400 likes | 535 Views
SQL Server 2000 数据库管理. 第一章: SQL Server 概述 第二章: 准备安装 SQL Server 第三章:管理数据库文件 第四章: 管理安全性 第五章: 执行管理任务 第六章: 备份数据库 第七章: 还原数据库 第八章: SQL Server 性能监视 第九章: 数据传输 第十章: 维护高度可用性 第十一章: SQL Server 复制. 第三章:管理数据库文件. 数据库结构介绍 数据存储方式 事务和事务日志的工作方式 创建数据库 管理数据库 存放数据库文件和日志 使用基于硬件的 RAID 优化数据库
E N D
SQL Server 2000 数据库管理 • 第一章:SQL Server 概述 • 第二章:准备安装 SQL Server • 第三章:管理数据库文件 • 第四章:管理安全性 • 第五章:执行管理任务 • 第六章:备份数据库 • 第七章:还原数据库 • 第八章:SQL Server 性能监视 • 第九章:数据传输 • 第十章:维护高度可用性 • 第十一章:SQL Server 复制
第三章:管理数据库文件 • 数据库结构介绍 • 数据存储方式 • 事务和事务日志的工作方式 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
数据库 数据的存储方式 3.1.1 数据的存储方式 数据(文件) .mdf 或 .ndf 日志(文件).ldf 扩展盘区( 8 个连续页,每页 8 KB) 表,索引 数据页 (8 KB) 行的最大容量 = 8060 字节
多媒体演示:事务 3.1.2 事务
应用程序发送更改请求 1 将更改记录在磁盘上的事务 日志中 3 缓存 磁盘 磁盘 定位数据页,将其读入缓存中 并进行更改 2 检查点进程将已提交 的事务写入数据库 4 事务日志的工作方式 3.1.3 事务日志的工作方式
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
创建数据库 3.2 创建数据库 • 创建数据库时所做的工作 • 指定数据库创建过程中的选项 • 使用 SQL Server 企业管理器来创建一个数据库 • 使用创建数据库 Transact-SQL 语句创建用户数据库 • 使用 SQL 企业管理器的脚本编写数据库和数据库对象 • 在创建数据库后更改数据库选项 • 查看数据库属性
创建数据库时所做的工作 3.2.1 创建数据库时所做的工作 • 创建一个数据文件和一个事务日志文件 • 要求新数据库的所有者兼创建者有使用 master 数据库的权限 • 创建数据库时用户可以定义: • 数据库的名称 • 数据库的属性 • 数据库文件的存放位置
指定数据库创建过程中的选项 3.2.2 指定数据库创建过程中的选项 • 主要数据文件 • 次要数据文件 • 事务日志文件 • 文件名和存放位置 • 大小 • 文件增长 • 最大值 • 排序规则
数据库选项类别 控 制 自动 特定的自动行为 光标 光标的行为和范围 恢复 对数据库的恢复模式 SQL ANSI 兼容选项 状态 数据库在线或不在线 谁能连接数据库 数据库是否处于只读模式 在创建数据库后更改数据库选项 3.2.6 在创建数据库后更改数据库选项
查看数据库属性 3.2.7 查看数据库属性 • 使用 SQL Server 企业管理器 • 使用 SQL 查询分析器 • 系统函数 • 系统存储过程(sp_helpdb或 sp_spaceused) • 数据库一致性检查器语句 (DBCC SQLPERF (LOGSPACE))
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
管理数据库 3.3 管理数据库 • 管理数据和日志文件增长 • 自动收缩数据库或数据库文件 • 手动收缩数据库或数据库文件 • 删除数据库
管理数据和日志文件增长 3.3.1 管理数据和日志文件增长 • 使用自动文件增长 • 指定分配的最大值和每个文件的增量 • 通过分配充足的空间,设置最大值和文件增量以优化性能 • 手动扩展数据和事务日志文件 • 选择自动扩展还是手动扩展 • 创建次要数据文件和事务日志文件
自动收缩数据库或数据库文件 3.3.2 自动收缩数据库和数据库文件 • 设置自动收缩 • 在 SQL Server 企业管理器中指定“自动收缩“选项 • 执行 ALTER DATABASE AUTO SHRINK 语句 • 执行 sp_dboption 系统存储过程 • 自动收缩过程中 SQL Server 的活动 • 当文件包含的未使用的空间超过 25% 时,数据文件和事务日志文件将会收缩 • 在后台执行这个操作,不影响任何用户活动
手动收缩数据库或数据库文件 3.3.3 手动收缩数据库或数据库文件 • 收缩的方法 • 收缩数据库和数据文件 • 收缩事务日志文件 • 如果事务日志超过预期大小,则收缩事务日志的非活动部分 • 如果不能将事务日志收缩到预期大小 ,SQL Server 将返回一个消息并通知用户应该做的操作 • 配置收缩数据库选项
删除数据库 3.3.4 删除数据库 • 删除数据库的方法 • 删除数据库时的限制条件 • 当数据库正在恢复时 • 当用户正在操作数据库时 • 当数据库发布为复制的一部分时 • 系统数据库
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
存放数据库文件和日志 3.4 存放数据库文件和日志 • 管理磁盘存储器 • 性能 • 容错 • 分散数据文件 • 在独立的磁盘上创建事务日志 • 存放 tempdb 数据库
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
使用基于硬件的 RAID 优化数据库 3.5 使用基于硬件的 RAID 优化数据库 • 使用基于硬件的 RAID • 基于硬件的 RAID 的性能比基于操作系统的 RAID 更好 • 允许在没有关掉系统的情况下更换故障驱动器 • 应用 RAID 的类型 • 为事务日志的冗余使用磁盘镜像或磁盘双工 (RAID1) • 为数据文件和事务日志的冗余和性能使用带奇偶校验的磁盘条带化 • 使用条带化的磁盘镜像获得最优性能
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
使用文件组优化数据库 3.6 使用文件组优化数据库 • 自定义文件组介绍 • 创建自定义文件组 • 使用自定义文件组改善性能 • 使用自定义文件组简化维护 • 创建自定义文件组注意事项
Northwind 数据库 sys… Products Customers Orders … sysobjects sysusers sys… OrdHistYear2 OrdHistYear1 C:\ D:\ E:\ Northwnd.mdf OrdHist1.ndf OrdHist2.ndf Northwnd.ldf 主文件组 自定义文件组 事务日志 自定义文件组介绍 3.6.1 自定义文件组介绍
创建自定义文件组 3.6.2 创建自定义文件组 • 创建自定义文件组的方法 • 选择默认文件组 • SQL Server 会指定一个文件组作为默认文件组 • 默认文件组设置为主文件组 • 如果创建了自定义文件组,则更改主默认文件组 • 调整主默认文件组大小 • 查看文件组信息
一个文件组中 的一个文件 一个文件组中 的两个文件 Salesdata.mdf 文件映射 文件映射 文件映射 Salesdata1.ndf Salesdata.mdf 使用自定义文件组改善性能 3.6.3 使用自定义文件组改善性能 • 在多个磁盘上平衡数据负载 • 使用并行线程改善数据访问
使用自定义文件组简化维护 3.6.4 使用自定义文件组简化维护 • 备份或者恢复个别文件或文件组而不必备份或者恢复整个数据库 • 把有类似维护要求的表和索引划分到同一个文件组中 • 为维护需求高的表分配独占的文件组
创建自定义文件组注意事项 3.6.5 创建自定义文件组的注意事项 • 监视系统性能 • 根据维护要求而不是性能注意事项来决定文件组的数量 • 指定一个自定义文件组作为默认文件组 • 文件组不提供容错性能
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
FileA 文件组 FileB FileC 磁盘 控制器 FileD FileE 磁盘 控制器 FileF FileG 磁盘 控制器 FileH 磁盘 控制器 事务日志 操作系统 事务日志 使用基于硬件 RAID 的文件组优化数据库 3.7 使用基于硬件 RAID 的文件组优化数据库
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
容量规划 3.8 容量规划 • 估计数据库大小 • 估计表中数据的总量
日志(文件) 数据(文件) 活动 频率 表 索引 事务大小 用户和 系统 键值 备份 行的数量 行的数量 填充因素 估计数据库大小 3.8.1 估计数据库大小
估计表中数据的总量 3.8.2 估计表中数据的总量 • 计算一行的字节数量 • 每行的字节总数 • 对可变长度的列取平均值 • 确定平均每一个数据页包含行的数目 • 8060 除以一行的字节数 • 取整 • 表中行的数目除以平均每一个数据页包含行的数目
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
性能注意事项 3.9 性能注意事项 • 使用 RAID 提高性能和提供容错 • 把数据文件和事务日志存放到相互独立的物理磁盘上 • 使用自定义文件组简化大数据库的备份策略
第三章:管理数据库文件 • 数据库结构介绍 • 创建数据库 • 管理数据库 • 存放数据库文件和日志 • 使用基于硬件的 RAID 优化数据库 • 使用文件组优化数据库 • 使用基于硬件 RAID 的文件组优化数据库 • 容量规划 • 性能注意事项 • 推荐的习惯
备份 master 数据库 指定文件大小的最大值 确保初始数据库文件大小和增长量足够大 使用带奇偶校验的磁盘镜像,选择条带化磁盘 在每一个物理磁盘上创建一个文件 更改默认的文件组 推荐的习惯 3.10 推荐的习惯
回顾 • 描述 SQL Server 如何存储数据和处理事务 • 创建数据库,包括在数据库创建期间和创建成功后对一些设置或选项进行设置 • 增长、收缩或删除数据库 • 确定数据库文件和事务日志文件的存放位置以优化性能和容错功能 • 使用硬件 RAID 来优化数据库 • 确定何时及如何使用文件组来优化数据库 • 使用基于硬件RAID 的文件组来优化数据库 • 估计数据库所需的空间大小