词条 | 深入浅出SQLServer2005系统管理与应用开发 |
释义 | 《深入浅出SQLServer2005系统管理与应用开发》是作者多年从事SQL Server 2005数据库系统管理、应用开发和教学培训的经验总结。全书深入浅出地剖析了SQL Server 2005系统管理和基于。NET应用开发的重点技术,突出了读者容易忽略的、但又是管理和开发实践中需要注意的重点,比如数据库的日常管理和维护、存储过程的设计、事务实现机制等。相信读者会有耳目一新的体会。 图书信息作 者:赵松涛 编著 出 版 社: 电子工业出版社 出版时间: 2008-11-1 页 数:608页 开 本: 16开 I S B N :978712106659 所属分类: 图书 >> 计算机/数据库 >>SQL Server 预估价:69.00元(含光盘1张) 内 容 简 介全书分为两大部分,共22章,内容包括构建服务器管理、数据库管理、文件管理、集成服务、维护计划、代理服务、T-SQL语法、DBCC命令、安全管理、事务和锁、备份和恢复、高可用性、基于.NET(C#)的DBA Expert项目开发等。 本书内容全面、思路流畅、实用性强,所有实例均经过上机反复实践;对常见的问题提出了解决方案,具有很强的指导性。本书适合SQL Server 2005数据库管理人员、数据库应用开发人员阅读和参考,可作为管理SQL Server 2005数据库的技术手册、数据库技术培训教材,以及参加SQL Server 2005认证考试的参考书。 作者简介赵松涛,北京大学计算机专业硕士。高校教学5年,从事计算机网络和数据库系统管理、应用开发6年。目前在一线从事SQLServer和Oracle数据库的系统管理、应用开发,并为大型企业和高校做培训,广受学员好评。从2001年至今,先后独立和合作出版了6本数据库方面的图书。 前 言为什么我的眼里充满热泪,是因为我对这片土地爱得深沉。 ——艾青 本书写给谁看 本书可以供SQL Server 2005数据库管理人员和基于.NET(C#)技术的开发人员阅读。 本书可以供SQL Server 2005数据库系统管理和开发教学的教师和学生使用。 本书的写作历时两年,从2005年SQL Server 2005发布到本书付印,如今SQL Server 2008又正式发布,我自己对SQL Server 2005的认识也是由浅入深,逐步深入的,所以才敢诚惶诚恐将自己的经验和体会汇编成书。本书的写作前后做了三次大的修改和调整。我相信读者在阅读本书时能够体会到作者潜心专研和默默探索的精神。 由于SQL Server 2005的体系实在太庞大,读者的需求又十分多样,因此本书在选题布局时只能挑选最重要和最常用的功能进行介绍。 本书的写作思路 在长期的教学实践和工程实践中,我收到了很多读者的来信,尤其是初学数据库开发的读者和从事教学工作的老师,他们的困惑是:到底如何从零开始来学习数据库管理和开发? 目前市面上大量的图书充斥的是内容单一和简单晦涩的翻译,本书不是按照这样的思路写作的。知识点串接的方式导致读者在实践工作中不好和自己的本职工作相结合,但所谓实践性的图书又知识点分散,很难形成一个整体。 本书的写作遵循作者一贯的习惯和作风,将基本知识讲透彻,将基本操作讲明晰,不是简单的概念介绍,而是同时融入作者自己的理解。一本书是有自己的思想和灵魂的。 致谢 感谢读者大量的来信提出的建议和意见! 感谢郭立女士和她领导的博文视点这个年轻的、充满朝气的团队给予我充分的创作自由并提出了宝贵的意见。 感谢我的爱人、女儿和父母对我的理解和支持! 联系方式 我相信,踏实做人,用心做事,付出总会有回报。您的批评、建议和反馈就是对我最大的回报。 我的E-mail:dancewithwave@163.com,zhaosongtao@pku.org.cn。 欢迎您通过电子邮件交流阅读和使用中的体会和建议。 我的工作BLOG:http://hi.baidu.com/dancewithwave/,欢迎大家登录! 作 者 2008-03-24 目 录第1章 安装SQL Server 2005 1 1.1 版本 1 1.2 组件 2 1.2.1 服务器组件 2 1.2.2 客户机组件 2 1.3 安装企业版 3 1.3.1 安装环境 3 1.3.2 安装服务器 3 1.3.3 安装客户机 8 1.3.4 安装Service Pack 8 1.4 服务器的后台服务 9 1.4.1 MSSQLSERVER 10 1.4.2 SQLSERVERAGENT 10 1.4.3 MSSQLServerOLAPService 10 1.4.4 ReportServer 10 1.4.5 MSDTSServer 10 1.4.6 SQLBrowser 10 1.4.7 MSFTESQL 10 1.5 客户机上的管理工具 11 1.5.1 Management Studio 11 1.5.2 Visual Studio 2005 13 1.5.3 SQL Server配置管理器 15 1.5.4 通知服务命令提示 16 1.5.5 报表服务配置 18 1.5.6 SQL Server错误和使用情况报告 18 1.5.7 SQL Server外围应用配置器 19 1.5.8 SQL Server Profiler 21 1.5.9 数据库引擎优化顾问 21 1.6 本章小结 22 1.7 习题 23 第2章 SQL Server 2005新特性 24 2.1 Service Broker 24 2.1.1 分布式系统 24 2.1.2 分布式数据库系统 25 2.1.3 Service Broker的作用 25 2.1.4 Service Broker的术语 26 2.1.5 Service Broker的组件 28 2.1.6 Service Broker的实现 28 2.2 CLR集成 31 2.2.1 .NET是什么 31 2.2.2 .NET Framework是什么 31 2.2.3 .NET Framework的特性 32 2.2.4 .NET Framework的结构 33 2.2.5 CLR是什么 34 2.2.6 CLR集成的优点 35 2.2.7 CLR集成的编程增强 36 2.2.8 CLR集成是否可以取代T-SQL 36 2.2.9 启用CLR集成 37 2.3 专用管理员连接DAC 37 2.3.1 有权使用DAC的用户 38 2.3.2 DAC使用的局限 38 2.3.3 DAC使用的命令 39 2.3.4 Sqlcmd使用DAC 39 2.3.5 Management Studio使用DAC 40 2.4 resource系统数据库 41 2.4.1 resource数据库在哪里 42 2.4.2 如何使用resource数据库 44 2.5 用户与架构分离 44 2.5.1 与架构相关的概念 44 2.5.2 基于用户的数据对象描述 46 2.5.3 基于架构的数据对象描述 47 2.5.4 用户与架构分离的优点 47 2.6 分区 48 2.6.1 概念 48 2.6.2 类型 48 2.6.3 分区的数据对象 48 2.7 本章小结 49 2.8 习题 49 第3章 配置SQL Server 2005网络 50 3.1 网络基础 50 3.1.1 网络工作模式 50 3.1.2 网络管理模式 52 3.1.3 网络通信协议 52 3.1.4 TCP/IP 53 3.1.5 IP地址 54 3.1.6 端口 56 3.2 SQL Server网络基础 57 3.2.1 进程和线程 57 3.2.2 IPC 57 3.2.3 常见的IPC机制 58 3.2.4 Net-Library 58 3.3 网络中的名称 59 3.3.1 服务器NetBIOS名称 59 3.3.2 实例名称 60 3.3.3 服务器别名 62 3.4 TDS协议 63 3.4.1 TDS的概念 63 3.4.2 TDS的作用 63 3.4.3 TDS的结构 64 3.5 端点 64 3.5.1 端点的作用 65 3.5.2 端点的类型 65 3.5.3 TDS端点 66 3.5.4 需不需要创建TDS端点 66 3.5.5 创建TDS端点 66 3.6 网络配置工具与步骤 67 3.6.1 网络配置工具 67 3.6.2 网络配置步骤 68 3.7 配置共享内存网络 68 3.7.1 配置服务器 68 3.7.2 配置客户机 69 3.8 配置TCP/IP网络 70 3.8.1 配置服务器 70 3.8.2 配置客户机 72 3.9 配置命名管道网络 74 3.9.1 配置服务器 75 3.9.2 配置客户机 76 3.10 配置网络中的常见问题 78 3.10.1 怎样选择网络协议 78 3.10.2 不同的网络协议的效率 79 3.10.3 隐藏实例(HideInstance) 80 3.11 本章小结 81 3.12 习题 81 第4章 服务器日常管理 82 4.1 注册 82 4.1.1 注册服务器 83 4.1.2 排除常见注册故障 86 4.1.3 总结注册方法 87 4.2 暂停服务器 87 4.2.1 在【控制面板】中暂停 87 4.2.2 在【Management Studio】中暂停 88 4.2.3 在【SQL Server配置管理器】中暂停服务器 89 4.3 关闭服务器 89 4.3.1 在【控制面板】中关闭 89 4.3.2 在【Management Studio】中关闭 90 4.3.3 在【SQL Server配置管理器】中关闭 91 4.4 启动服务器 91 4.4.1 在【控制面板】中启动 91 4.4.2 在【Management Studio】中启动 92 4.4.3 在【SQL Server配置管理器】中启动 92 4.5 服务启动信息 93 4.5.1 查看启动信息的方法 93 4.5.2 分析启动信息的内容 94 4.5.3 服务启动顺序 96 4.6 服务启动参数 97 4.6.1 配置方法 97 4.6.2 -d参数 98 4.6.3 -l参数 99 4.6.3 -e参数 99 4.7 最小配置启动 99 4.7.1 -f参数 100 4.7.2 最小配置的含义 101 4.8 本章小结 101 4.9 习题 102 第5章 服务器配置 103 5.1 常规参数 103 5.1.1 基础信息 103 5.1.2 排序规则 104 5.2 内存配置 105 5.2.1 有关内存的术语 106 5.2.2 SQL Server有关内存的术语 107 5.2.3 SQL Server服务器内存结构 107 5.2.4 在内存中寻找数据 108 5.2.5 时钟管理算法 109 5.2.6 内存空间分配 110 5.2.7 最小服务器内存 110 5.2.8 最大服务器内存 110 5.2.9 索引占用的内存 111 5.2.10 每次查询占用的最小内存 111 5.2.11 AWE内存分配 112 5.3 处理器配置 112 5.3.1 处理器关联掩码 112 5.3.2 I/O关联掩码 114 5.3.3 最大工作线程数 114 5.3.4 提升SQL Server优先级 115 5.3.5 使用Windows纤程 115 5.4 安全性配置 117 5.4.1 服务器身份验证 118 5.4.2 登录审核 119 5.4.3 启用服务器代理账户 121 5.4.4 启用C2审核跟踪 123 5.5 连接配置 125 5.5.1 最大并发连接数 125 5.5.2 使用查询调控器 126 5.5.3 远程服务器连接 127 5.5.4 默认连接选项 127 5.6 数据库设置配置 128 5.6.1 默认索引填充因子 128 5.6.2 磁带备份和还原参数 129 5.6.3 恢复间隔 129 5.6.4 数据库默认位置 130 5.7 高级配置 130 5.7.1 并行 130 5.7.2 网络 131 5.7.3 杂项 131 5.8 本章小结 132 5.9 习题 133 第6章 数据库日常管理 134 6.1 数据库的逻辑结构 134 6.1.1 数据库关系图 134 6.1.2 表 137 6.1.3 索引 138 6.1.4 视图 139 6.1.5 同义词 140 6.1.6 存储过程 140 6.1.7 数据库触发器 141 6.1.8 类型 141 6.1.9 规则 141 6.1.10 默认值 143 6.1.11 程序集 143 6.2 数据库的物理结构 143 6.2.1 数据文件 144 6.2.2 日志文件 144 6.3 数据库的类型 145 6.3.1 系统数据库 145 6.3.2 用户数据库 146 6.3.3 数据库快照 146 6.4 数据库的状态 147 6.4.1 查看数据库状态 147 6.4.2 状态值的含义 148 6.5 创建数据库 149 6.5.1 数据库命名规则 149 6.5.2 创建数据库 149 6.6 配置数据库 152 6.6.1 备份信息 152 6.6.2 大小和可用空间 153 6.6.3 对用户数的勘误 155 6.6.4 排序规则 157 6.6.5 恢复模式 158 6.6.6 页验证 159 6.6.7 只读数据库 160 6.6.8 限制访问 160 6.6.9 统计信息 160 6.6.10 自动关闭 161 6.6.11 自动收缩 161 6.7 分离和附加数据库 162 6.7.1 分离数据库 162 6.7.2 附加用户数据库 163 6.8 脱机和联机数据库 165 6.8.1 脱机用户数据库 165 6.8.2 联机用户数据库 165 6.9 重命名数据库 166 6.9.1 重命名数据库 166 6.9.2 Alter Database重命名数据库 166 6.10 本章小结 166 6.11 习题 167 第7章 数据库文件管理 168 7.1 文件类型 168 7.1.1 主要数据文件 168 7.1.2 次要数据文件 169 7.1.3 日志文件 170 7.2 文件状态 170 7.2.1 查看文件状态 170 7.2.2 文件状态的含义 170 7.3 数据文件管理 171 7.3.1 数据文件内部的读写机制 171 7.3.2 添加次要数据文件 172 7.3.3 删除次要数据文件 173 7.3.4 调整数据文件的增长属性 175 7.3.5 收缩数据文件 176 7.3.6 移动数据文件的数据 178 7.4 日志文件管理 179 7.4.1 VLF 179 7.4.2 日志文件的内部读写机制 180 7.4.3 日志文件的作用 181 7.4.4 日志文件的特点 181 7.4.5 日志文件的结构 182 7.4.6 查看日志文件内容 182 7.4.7 添加日志文件 183 7.4.8 移动日志文件的内容 184 7.4.9 删除日志文件 185 7.5 文件组 185 7.5.1 概念 185 7.5.2 文件组的读写机制 185 7.5.3 文件组的使用原则 186 7.6 本章小结 186 7.7 习题 187 第8章 代理服务 188 8.1 代理服务基础 188 8.1.1 作用 188 8.1.2 作业(Job) 189 8.1.3 计划(Schedule) 189 8.1.4 警报(Alert) 189 8.1.5 操作员(Operator) 190 8.2 管理代理服务 190 8.2.1 启动代理服务 190 8.2.2 配置代理服务 191 8.2.3 查看代理服务的错误日志 194 8.3 基于代理服务的案例 195 8.3.1 创建操作员 195 8.3.2 创建警报 196 8.3.3 创建计划 197 8.3.4 创建作业 198 8.3.5 配置警报属性 202 8.3.6 总结案例的关系 202 8.3.7 查看作业的执行情况 203 8.4 本章小结 204 8.5 习题 204 第9章 维护计划 205 9.1 作用 205 9.2 维护计划管理 205 9.2.1 用向导创建维护计划 206 9.2.2 修改维护计划 210 9.2.3 修改优先约束 211 9.2.4 修改执行服务器 211 9.2.5 执行维护计划 211 9.3 本章小结 213 9.4 习题 213 第10章 集成服务SSIS 214 10.1 SSIS基础 214 10.1.1 作用 214 10.1.2 体系结构 215 10.2 SSIS使用 217 10.2.1 导出数据 217 10.2.2 查看包 221 10.2.3 执行包 221 10.3 SSIS项目开发 222 10.3.1 开发SSIS项目 222 10.3.2 解决方案 224 10.3.3 SSIS项目剖析 225 10.3.4 开发复杂的SSIS项目 225 10.4 SSIS包 226 10.4.1 总体结构 226 10.4.2 容器 226 10.4.3 任务 227 10.4.4 优先约束 229 10.4.5 控制流 229 10.4.6 数据流 230 10.4.7 事件处理程序 230 10.4.8 包资源管理器 231 10.5 本章小结 232 10.6 习题 232 第11章 T-SQL基础知识 233 11.1 语法约定 233 11.2 数据对象表示方法 234 11.2.1 参数说明 234 11.2.2 使用实例 234 11.3 安装AdventureWorks数据库 235 11.4 研究T-SQL的原则 237 11.4.1 功能与效率并重的原则 237 11.4.2 数据与日志并重的原则 237 11.5 T-SQL的执行机制 237 11.5.1 引擎的工作流程 238 11.5.2 引擎的体系结构 239 11.5.3 T-SQL的执行过程 240 11.6 T-SQL的执行计划 241 11.6.1 执行计划的内容 241 11.6.2 执行计划的执行 241 11.6.3 执行计划的老化 242 11.6.4 查看T-SQL的执行计划 242 11.7 T-SQL的优化 243 11.7.1 查询优化器 244 11.7.2 基于CBO的优化 244 11.7.3 数据库统计信息 245 11.7.4 查看表的统计信息 245 11.8 研究T-SQL效率的方法 246 11.8.1 客户端统计信息 247 11.8.2 T-SQL的I/O 248 11.8.3 T-SQL的执行时间 249 11.8.4 T-SQL的执行计划 249 11.8.5 编程计算T-SQL的执行时间 251 11.8.6 编程计算成批T-SQL的执行时间 251 11.9 研究T-SQL数据的方法 252 11.9.1 DBCC PAGE命令 253 11.9.2 DBCC LOG命令 254 11.10 本章小结 256 11.11 习题 256 第12章 T-SQL语法要素 257 12.1 数据类型 257 12.1.1 整数型 258 12.1.2 二进制型 258 12.1.3 字符串型 258 12.1.4 日期时间型 259 12.1.5 小数型 259 12.1.6 货币型 259 12.1.7 其他类型 260 12.2 常量 260 12.2.1 常见的常量定义格式 260 12.2.2 常见的常量使用方法 262 12.3 变量 262 12.3.1 全局变量 263 12.3.2 局部变量 263 12.4 运算符 264 12.4.1 算术运算符 264 12.4.2 位运算符 264 12.4.3 比较运算符 264 12.4.4 逻辑运算符 265 12.4.5 字符串连接运算符 265 12.4.6 赋值运算符 265 12.4.7 运算符的优先级 265 12.5 T-SQL函数 266 12.5.1 聚合函数 266 12.5.2 日期和时间函数 266 12.5.3 数学函数 267 12.5.4 字符串函数 267 12.6 T-SQL表达式 268 12.6.1 表达式的组合 268 12.6.2 表达式的结果 268 12.7 注释 269 12.7.1 单行注释 269 12.7.2 多行注释 269 12.8 批处理 270 12.8.1 批处理的含义 270 12.8.2 批处理的特点 270 12.9 流程控制 270 12.9.1 程序块语句BEGIN..END 270 12.9.2 判断语句IF..ELSE 271 12.9.3 循环语句WHILE 272 12.9.4 分支判断语句CASE 273 12.9.5 无条件退出语句RETURN 273 12.9.6 无条件跳转语句GOTO 275 12.9.7 延期执行语句WAITFOR 275 第13章 查询语句研究 277 13.1 语法结构 277 13.2 选择列表 278 13.2.1 选择所有列 278 13.2.2 选择特定列 282 13.2.3 包含运算符的查询 284 13.2.4 包含函数的查询 285 13.2.5 消除重复项 286 13.3 FROM子句 287 13.3.1 使用表别名 287 13.3.2 使用表提示 290 13.4 WHERE子句 293 13.4.1 WHERE子句中的运算符 294 13.4.2 比较查询 295 13.4.3 范围查询 296 13.4.4 列表查询 297 13.4.5 模式匹配查询 298 13.5 GROUP BY子句 299 13.5.1 语法结构 300 13.5.2 实例分析 300 13.6 ORDER BY子句 302 13.6.1 语法结构 302 13.6.2 实例分析 302 13.7 本章小结 303 13.8 习题 303 第14章 数据操作语句研究 304 14.1 INSERT语句研究 304 14.1.1 表结构和索引结构 305 14.1.2 执行前的日志情况分析 305 14.1.3 执行情况分析 305 14.1.4 执行后的日志情况分析 307 14.1.5 研究数据的变化情况 308 14.1.6 研究结论 308 14.2 UPDATE语句研究 309 14.2.1 执行前的日志情况分析 310 14.2.2 执行情况分析 310 14.2.3 执行后的日志情况 311 14.2.4 研究结论 313 14.3 DELETE语句研究 313 14.3.1 执行前的日志情况分析 314 14.3.2 执行情况分析 314 14.3.3 执行后的日志情况 315 14.3.4 研究结论 316 14.4 深入探讨语句内部机制 317 14.4.1 谁先插入数据 317 14.4.2 谁先更新数据 317 14.4.3 谁先删除数据 317 14.5 本章小结 317 14.6 习题 318 第15章 DBCC命令深入研究 319 15.1 验证类DBCC命令 319 15.1.1 DBCC CHECKALLOC 319 15.1.2 DBCC CHECKCATALOG 323 15.1.3 DBCC CHECKDB 324 15.2 DBCC CLEANTABLE深入研究 326 15.2.1 创建测试表 327 15.2.2 表的存储空间分配 328 15.2.3 删除列 331 15.2.4 删除列后表的存储空间分配 331 15.2.5 执行DBCC CLEANTABLE命令 333 15.2.6 DBCC CLEANTABLE命令日志分析 333 15.2.7 存储空间的变化 335 15.2.8 结论 337 15.3 DBCC DBREINDEX深入研究 337 15.3.1 语法结构 337 15.3.2 查询执行前的页面情况 338 15.3.3 查询执行前的日志情况 339 15.3.4 重建索引 339 15.3.5 查询执行后的日志情况 340 15.3.6 查询执行后的页面情况 340 15.4 本章小结 341 15.5 习题 341 第16章 安全管理 342 16.1 安全方案 342 16.1.1 基于网络安全机制实现的方案 342 16.1.2 基于SQL Server 2005本身实现的方案 343 16.2 网络安全方案 343 16.2.1 网络安全的新需求 344 16.2.2 常规加/解密技术 344 16.2.3 公钥加/解密技术 345 16.2.4 公钥加/解密技术的实现方案 345 16.2.5 产生公钥的数字证书实现方案 347 16.3 主流的网络安全技术 348 16.3.1 IPSec 348 16.3.2 VPN 350 16.3.3 SSL 351 16.4 SQL Server 2005的安全体系 352 16.4.1 安全体系 352 16.4.2 安全主体 353 16.4.3 安全对象 353 16.5 服务器安全管理 354 16.5.1 身份验证机制 354 16.5.2 更改身份验证机制 355 16.5.3 查询登录名 357 16.5.4 新建登录名 357 16.5.5 服务器角色 361 16.5.6 密码复杂性策略 361 16.5.7 启用登录审核 361 16.5.8 查询登录审核信息 363 16.6 数据库安全管理 367 16.6.1 用户管理 367 16.6.2 固定数据库角色 369 16.6.3 创建应用程序角色 369 16.6.4 创建架构 370 16.7 加密机制 371 16.7.1 加密体系 372 16.7.2 密钥的加密 373 16.8 对称密钥加/解密 374 16.8.1 产生对称密钥的语句 374 16.8.2 产生对称密钥 375 16.8.3 打开和关闭对称密钥 376 16.8.4 加密和解密数据的语句 377 16.8.5 实例:用对称密钥加密数据 378 16.8.6 实例:用对称密钥解密数据 378 16.9 非对称密钥加/解密 379 16.9.1 产生非对称密钥的语句 379 16.9.2 产生非对称密钥 380 16.9.3 加密和解密数据的语句 380 16.9.4 实例:用非对称密钥加密数据 381 16.9.5 实例:用非对称密钥解密数据 381 16.10 数字证书加/解密 381 16.10.1 产生数字证书的语句 382 16.10.2 产生数字证书 382 16.10.3 加密和解密数据的语句 382 16.10.4 实例:用数字证书加密数据 383 16.10.5 实例:用数字证书解密数据 383 16.11 密钥管理 384 16.11.1 备份和恢复服务主密钥 384 16.11.2 产生数据库主密钥 384 16.11.3 用服务主密钥加密数据库主密钥 385 16.12 密码策略 386 16.12.1 增加密码的复杂性 386 16.12.2 强密码 386 16.13 SQL注入式攻击与防范 386 16.13.1 SQL注入式攻击的产生 386 16.13.2 SQL注入式攻击的防范 387 16.14 存储介质的安全管理 387 16.14.1 尽可能保证日志文件的安全 388 16.14.2 用硬件实现日志文件的复用 388 16.14.3 分离存储数据文件和日志文件 388 16.15 本章小结 389 16.16 习题 389 第17章 事务和锁 391 17.1 多用户数据库的并发问题 391 17.1.1 并发访问的实例 391 17.1.2 并发问题 392 17.2 事务 393 17.2.1 事务的特性 393 17.2.2 事务的状态 394 17.3 SQL Server 2005中的事务机制 395 17.3.1 事务模式 395 17.3.2 更改事务模式 396 17.3.3 事务的启动 396 17.3.4 事务日志记录 397 17.3.5 事务编程语句 397 17.3.6 事务的调度 398 17.3.7 事务的隔离性级别 398 17.3.8 批(GO) 399 17.4 锁 399 17.4.1 锁的粒度 400 17.4.2 锁的类型(模式) 400 17.4.3 锁持有度 401 17.4.4 动态锁机制 401 17.4.5 查看锁 401 17.5 死锁 402 17.5.1 死锁的发生 402 17.5.2 消除死锁的方法 403 17.5.3 SQL Server 2005死锁检测和结束机制 403 17.5.4 跟踪和检测死锁 404 17.6 本章小结 404 17.7 习题 405 第18章 备份恢复 406 18.1 数据库系统故障类型 406 18.1.1 事务故障 407 18.1.2 系统故障 407 18.1.3 介质故障 407 18.1.4 DBA需要应对的故障 407 18.2 不同类型故障的恢复机制 408 18.2.1 事务故障的恢复机制 408 18.2.2 系统故障的恢复机制 408 18.2.3 介质故障的恢复机制 408 18.3 基于事务日志的备份和恢复机制 409 18.3.1 经典的事务日志结构 409 18.3.2 Redo(重做)事务 409 18.3.3 Undo(回滚)事务 410 18.3.4 WAL原则 411 18.4 SQL Server 2005基于日志的恢复机制 412 18.4.1 剖析日志记录结构的奥秘 412 18.4.2 Previous Page LSN参数的奥秘 414 18.4.3 Undo的实现机制 415 18.4.4 Redo的实现机制 416 18.5 检查点机制 417 18.5.1 检查点的操作 417 18.5.2 检查点与恢复效率的关系 417 18.5.3 MinLSN的选择 418 18.6 SQL Server 2005恢复模式 419 18.6.1 恢复模式与日志的关系 419 18.6.2 完整恢复模式 419 18.6.3 简单恢复模式 420 18.6.4 大容量日志恢复模式 421 18.7 实例:完整备份与恢复 422 18.7.1 完整数据库备份恢复的原理 422 18.7.2 完整数据库备份 422 18.7.3 完整数据库恢复 424 18.8 实例:完整+日志备份与恢复 425 18.8.1 完整+日志备份恢复的原理 425 18.8.2 完整+日志备份 426 18.8.3 完整+日志恢复 427 18.9 实例:完整+差异+日志备份与恢复 429 18.9.1 完整+差异备份恢复的原理 429 18.9.2 完整+差异+日志备份 430 18.9.3 完整+差异+日志恢复 431 18.10 BAK文件恢复 434 18.10.1 查看BAK文件的内容 434 18.10.2 实例:从BAK文件恢复 435 18.11 本章小结 437 18.12 习题 437 第19章 高可用性 438 19.1 故障转移群集 438 19.1.1 网络服务新需求 438 19.1.2 SMP解决方案 439 19.1.3 群集 439 19.1.4 故障转移群集 440 19.2 数据库镜像 441 19.2.1 数据库镜像方案 442 19.2.2 数据库镜像的具体实现 443 19.2.3 数据库镜像的特点 443 19.2.4 故障转移的实现 443 19.2.5 数据库镜像模式 444 19.3 日志传送 444 19.3.1 日志传送方案 445 19.3.2 日志传送的特点 446 19.3.3 日志传送的具体实现 446 19.3.4 构建实例环境 447 19.3.5 步骤1:以有权限的用户登录 447 19.3.6 步骤2:创建专门的目录 448 19.3.7 步骤3:初始化辅助服务器的数据库 448 19.3.8 步骤4:配置主数据库的日志传送 449 19.3.9 步骤5:查看作业情况 453 19.3.10 步骤6:分析配置脚本 453 19.4 本章小结 456 19.5 习题 456 第20章 分布式复制 457 20.1 分布式复制概述 457 20.1.1 构建高可用性服务器环境 457 20.1.2 构建分布式数据交换环境 458 20.2 分布式复制模型 459 20.2.1 发布服务器 459 20.2.2 订阅服务器 459 20.2.3 分发服务器 459 20.2.4 项目 460 20.2.5 发布 460 20.2.6 订阅 460 20.3 分布式复制类型 461 20.3.1 事务复制 461 20.3.2 快照复制 462 20.3.3 合并复制 462 20.4 分布式复制代理 463 20.4.1 快照代理 463 20.4.2 日志读取器代理 463 20.4.3 分发代理 463 20.4.4 分发代理 463 20.4.5 队列读取器代理 464 20.5 两台服务器间复制数据库案例 464 20.5.1 案例环境 464 20.5.2 实现步骤 464 20.6 典型的复制案例 468 20.6.1 配置分发服务器 468 20.6.2 配置分发服务器的属性 472 20.6.3 配置发布服务器的属性 473 20.6.4 创建发布 474 20.6.5 创建订阅 479 20.6.6 同步发布和订阅 482 20.7 本章小结 482 第21章 Transact-SQL实例 483 21.1 配置参数检测调整 483 21.1.1 配置服务器的AWE内存 483 21.1.2 配置最小服务器内存 484 21.1.3 配置最大服务器内存 484 21.1.4 配置服务器的身份验证方式 484 21.1.5 配置服务器的登录审核 485 21.1.6 配置服务器的远程连接 486 21.1.7 启动OLE自动化 486 21.1.8 配置数据库的恢复模式 487 21.1.9 配置数据库的统计信息参数 488 21.1.10 检测CPU资源调度模式设置 489 21.1.11 配置参数综合检测与修改 491 21.2 性能监控实例 498 21.2.1 性能计数器种类 498 21.2.2 当前内存总数 499 21.2.3 当前用户连接使用内存数 499 21.2.4 当前锁使用内存数 500 21.2.5 当前查询优化使用内存数 500 21.2.6 当前工作空间使用内存数 501 21.2.7 当前过程缓冲区使用内存数 502 21.2.8 当前可用内存 502 21.2.9 当前数据缓冲区内存数 503 21.2.10 数据缓冲区使用比例 504 21.2.11 数据缓冲区命中率 504 21.2.12 数据缓冲区中消耗资源Top对象 505 21.3 本章小结 507 第22章 DBA Expert项目开发实践 508 22.1 项目概述 508 22.1.1 DBA Expert安装 509 22.1.2 DBA Expert使用 510 22.2 构建开发环境 510 22.2.1 C/S模式的开发环境 511 22.2.2 B/S模式的开发环境 511 22.2.3 项目的开发环境 512 22.2.4 构建本书的开发环境 513 22.3 项目总体结构 513 22.3.1 解决方案和项目 513 22.3.2 DBAExpertSQLServer项目 514 22.3.3 DBAExpertSQLServerSetup项目 515 22.4 数据库设计 515 22.4.1 需要重点关注什么内容 515 22.4.2 表的设计应重点关注什么内容 517 22.4.3 索引的设计应重点关注什么内容 518 22.4.4 DBA Expert项目数据库设计 519 22.5 存储过程设计 521 22.5.1 存储过程P_DataBaseCollationCheck 521 22.5.2 存储过程P_GetAllDataBase 521 22.5.3 存储过程P_GetAllocationUnit 522 22.5.4 存储过程P_GetBuffer 523 22.5.5 存储过程P_GetFile 524 22.5.6 存储过程P_GetFileGroup 525 22.5.7 存储过程P_GetIndex 526 22.5.8 存储过程P_GetObject 527 22.5.9 存储过程P_GetPartitions 528 22.5.10 存储过程P_GetPrincipal 529 22.5.11 存储过程P_GetSchema 530 22.5.12 存储过程P_DeleteAllIndex 531 22.5.13 存储过程P_DeleteAllObject 531 22.5.14 存储过程P_DeleteAllocationUnit 531 22.5.15 存储过程P_DeleteAllPartitions 532 22.5.16 存储过程P_DeleteAllSchema 532 22.5.17 存储过程P_DeleteBuffer 533 22.5.18 存储过程P_DeleteCacheTop 533 22.5.19 存储过程P_DeleteDataBase 533 22.5.20 存储过程P_DeleteFile 534 22.5.21 存储过程P_DeleteFileGroup 534 22.5.22 存储过程P_DeleteIndex 534 22.5.23 存储过程P_DeleteObject 535 22.5.24 存储过程P_DeletePartitions 535 22.5.25 存储过程P_DeletePrincipal 536 22.5.26 存储过程P_DeleteSchema 536 22.5.27 存储过程P_Init 536 22.5.28 存储过程P_BufferTopObject 537 22.6 典型模块与技巧 541 22.6.1 如何设计公用类 541 22.6.2 如何使用公用类 545 22.6.3 如何使用第三方控件 545 22.6.4 如何设计报表打印数据 547 22.6.5 如何实现自动保存连接信息 548 22.6.6 如何实现窗体之间传递数据 553 22.7 事务处理与实现 554 22.7.1 基于开发语言的事务实现机制 554 22.7.2 基于T-SQL的事务实现机制 555 22.7.3 什么样的事务语句有意义 555 22.8 DBA Expert项目典型窗体剖析 555 22.8.1 主窗体 555 22.8.2 直接执行T-SQL的窗体 557 22.8.3 获取存储过程输出参数的窗体 569 22.8.4 图形显示结果的窗体 572 22.9 项目打包发布 577 22.9.1 打包项目 577 22.9.2 生成安装包 579 22.9.3 集成运行环境的安装包 582 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。