SQL Server 7编程技术内幕

SQL Server 7编程技术内幕 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:(美)Johh Papa
出品人:
页数:606
译者:前导工作室
出版时间:2000-01
价格:60.00
装帧:平装
isbn号码:9787111076490
丛书系列:
图书标签:
  • 数据库
  • 开发
  • SQL Server
  • 数据库
  • 编程
  • 技术
  • 7
  • 0
  • Transact-SQL
  • 开发
  • 微软
  • 书籍
  • 参考
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书从SQLServer7编程的各个方面深入讨论,以数百个实例和大量图表详细讲解高级T-SQL编程、SQLServer7的最新特性、多层应用编程、数据迁移及集成、各种应用程序接口等专题。读者可以直接将这些技术运用于相应场景,获得完善稳定的高性能应用。本书是SQLServer7高级编程人员的必备工具书,也可供SQLServer系统管理人员、数据库设计人员参考。

SQL Server 7.0:从入门到精通 本书聚焦于微软SQL Server 7.0数据库管理系统,提供一套全面、深入且实用的技术指南,旨在帮助读者从基础概念构建起扎实的知识体系,直至能够高效地设计、开发、管理和优化企业级数据库解决方案。本书内容严格围绕SQL Server 7.0特有的架构、功能集及其最佳实践展开,绝不涉及后续版本的功能更新或特性。 --- 第一部分:基础架构与安装部署 本部分详细解析了SQL Server 7.0的核心架构组件,为深入学习打下坚实基础。 第一章:SQL Server 7.0 体系结构概览 深入探讨SQL Server 7.0的进程模型、内存管理机制(包括缓冲区管理器和缓存结构)、I/O子系统的工作原理,以及数据如何组织在磁盘上的物理结构(页、区、扩展)。重点分析SQL Server 7.0中引入的增强型查询优化器与执行引擎的工作流程。 第二章:安装、配置与升级路径 详尽指导在Windows NT/2000环境下完成SQL Server 7.0的全新安装与定制配置。内容涵盖服务器实例的命名、网络协议的选择(TCP/IP Sockets、命名管道等)、服务账户的权限设定。同时,提供从早期版本(如SQL Server 6.5)平稳迁移至7.0版本的详细步骤、注意事项及潜在的数据完整性校验方法。 第三章:数据库和文件系统管理 讲解数据库的创建、尺寸设定、文件组(Primary和User-Defined Filegroups)的逻辑划分与物理文件映射。深入研究事务日志文件的作用、写入机制和恢复模式(Simple、Full、Bulk-Logged)对数据备份与恢复策略的具体影响。如何使用`ALTER DATABASE`命令来动态管理数据库大小和文件增长。 第二部分:数据操作与查询语言深度解析 (Transact-SQL) 本部分是本书的核心,专注于SQL Server 7.0环境下的Transact-SQL(T-SQL)语言特性、编程技巧和高级功能。 第四章:T-SQL 基础语法与数据定义 全面覆盖数据定义语言(DDL):`CREATE TABLE`, `ALTER TABLE`, `DROP TABLE`等。重点讲解SQL Server 7.0特有的数据类型,如`text`, `ntext`, `image`,及其在存储和检索上的性能考量。讲解约束(Primary Key, Foreign Key, Unique, Check)的实现与强制执行机制。 第五章:数据操纵语言(DML)与事务控制 深入剖析`SELECT`, `INSERT`, `UPDATE`, `DELETE`语句的高级用法。重点介绍SQL Server 7.0中基于行的锁定的工作方式,以及如何使用`BEGIN TRANSACTION`, `COMMIT TRANSACTION`, `ROLLBACK TRANSACTION`来确保数据操作的原子性、一致性、隔离性和持久性(ACID特性)。详细讨论在7.0版本中如何处理隐式事务。 第六章:高级查询、联接与子查询 系统讲解各种联接类型(INNER, OUTER, CROSS JOIN)。详细分析和对比使用基于集合的子查询与基于游标的临时表/表变量(注意:SQL Server 7.0对表变量的支持相对有限,本书侧重于临时表T的优化使用)。解析`UNION`, `UNION ALL`, `INTERSECT`, `EXCEPT`的用法与性能差异。 第七章:存储过程、函数与触发器编程 系统阐述过程化编程在SQL Server 7.0中的实现。如何使用变量、流程控制语句(IF/ELSE, WHILE循环)编写健壮的存储过程。详述用户定义函数(UDFs)的创建与局限性,以及如何设计基于数据修改事件(INSERT/UPDATE/DELETE)的DML触发器,并讨论嵌套触发器的启用与管理。 第三部分:性能调优与索引优化 本部分是本书的精华所在,专注于SQL Server 7.0独有的性能分析工具和索引策略。 第八章:索引设计与碎片整理 详细解析SQL Server 7.0的聚集索引(Clustered Index)和非聚集索引(Non-Clustered Index)的物理差异和性能权衡。探讨索引的填充因子(Fill Factor)设置对空间利用和查询性能的影响。提供识别和解决索引碎片(Fragmentation)的实用脚本和维护计划。 第九章:查询优化器工作原理与执行计划解读 深入剖析SQL Server 7.0的查询优化器如何选择最佳的执行路径。学习如何使用执行计划(Execution Plan)工具(包括图形界面和文本输出)来诊断慢速查询。重点关注`SET STATISTICS IO ON`和`SET STATISTICS TIME ON`的输出分析,以衡量I/O开销和CPU时间消耗。 第十章:锁定、阻塞与死锁诊断 讲解SQL Server 7.0中的各种锁类型(共享锁、排他锁、意向锁)及其在并发控制中的应用。系统分析锁等待(Lock Waits)和阻塞链(Blocking Chains)的成因。使用系统存储过程(如`sp_lock`, `sp_who`的特定用法)来实时监控和解除数据库中的死锁情况,并探讨如何通过事务隔离级别调整来缓解锁定问题。 第四章:数据完整性、安全与维护 本部分覆盖了确保数据库长期稳定运行所需的所有管理和安全实践。 第十一章:安全性模型与用户管理 解析SQL Server 7.0基于服务器角色和数据库角色的权限授予机制。详细说明如何创建和管理登录名(Logins)与用户(Users)的映射关系。讲解对象级权限(如`GRANT EXECUTE`)和数据访问控制策略的实施。 第十二章:备份、恢复与高可用性策略 全面介绍SQL Server 7.0支持的各种备份类型(差异备份、事务日志备份)。提供详细的恢复模型案例分析,包括完全恢复模式下的时间点恢复(Point-in-Time Recovery)操作。讨论在7.0环境中实现基本冗余(如数据库镜像的早期概念或依赖操作系统层面的方案)的局限性与配置建议。 第十三章:自动化维护与作业调度 指导如何使用SQL Server Agent服务来调度定期的维护任务。编写并管理SQL Server作业(Jobs),包括数据库备份作业、索引重建/重组作业和数据清理作业。利用SQL Server Profiler(7.0版本特性)来监控Agent的执行状态和捕获异常事件。 附录:系统存储过程速查与常见错误代码解析 提供常用系统存储过程的快速参考列表,并专门列出SQL Server 7.0版本中最常见的错误信息及其对应的解决方法和T-SQL修复建议。 --- 本书内容详实,注重实践操作,所有示例代码均基于SQL Server 7.0环境测试通过。读者通过对本书的学习,将能全面掌握该版本数据库系统的设计、开发、性能优化和日常管理技能。

作者简介

目录信息

目 录
译者序
前言
第一部分 高级编程技术
第1章 利用工具
1.1 MicrosftManagementConsole
1.2使用EnterpriseManager管理
SQLServer
1.2.1工具
1.2.2向导
1.2.3任务
1.2.4任务簿
1.2.5数据库图表
1.2.6用OpenTable维护数据
1.2.7SQLServerProfiler
1.3使用QueryAnalyzer查询SQLServer
1.3.1配置
1.3.2上下文相关帮助
1.3.3颜色编码和字体
1.3.4结果窗格
1.3.5图形SQL执行计划
1.3.6索引分析
1.4小结
第2章 超越基本的数据操纵语言
2.1命名约定
2.1.1Microsoft自身的命名分歧
2.1.2命名规则
2.2使用子查询和在线视图
2.2.1T-SQL中的子查询
2.2.2在线视图
2.3外联结、交叉联结和自联结
2.3.1外联结
2.3.2交叉联结
2.3.3自联结
2.4 更高级的DELETE和UPDATE语句
2.4.1DELETE语句的深入研究
2.4.2改进的新UPDATE语句
2.5聚合函数
2.5.1AVG
2.5.2COUNT
2.5.3MAX
2.5.4MIN
2.5.5SUM
2.5.6STDEV
2.5.7STDEVP
2.5.8VAR
2.5.9VARP
2.6GROUPBY和HAVING短语
2.6.1GROUPBY
2.6.2HAVING
2.7合并
2.8小结
第3章 查询优化
3.1深入了解索引结构
3.1.1非聚类索引
3.1.2聚类索引
3.1.3聚类索引和非聚类索引的比较
3.1.4复合索引的优缺点
3.1.5索引的数量
3.1.6使用索引检索和更新数据
3.2索引、事务和数据操作
3.3事务和索引中的锁机制
3.3.1锁的分类
3.3.2使用索引降低锁并发性
3.3.3事务范围、事务隔离等级和
锁机制
3.4优化查询优化程序
3.4.1使用索引优化程序提示
3.4.2使用锁定优化程序提示
3.4.3在查询中优化表顺序
3.5使用SQLServerProfiler
3.5.1跟踪内容
3.5.2使用SQLServerProfiler标识问题
查询和用户
3.5.3使用IndexTuningWizard
3.6小结
第4章 高级T-SQL语句
4.1使用CAST和CONVERT
4.2输出信息
4.3sysmessages系统表
4.3.1sysmessages中的错误严重等级
4.3.2定义用户自己的消息
4.4报告错误信息
4.5CASE表达式
4.5.1简单CASE表达式
4.5.2高级CASE表达式
4.6分布事务
4.6.1为何使用分布事务协调器
4.6.2使用DTC维持系统间的一致性
4.6.3在成对事务上使用DTC
4.6.4DTC过程疑难解答
4.6.5调试DTC过程
4.7小结
第5章 有效使用内建函数
5.1使用算术函数进行计算
5.1.1ABS
5.1.2CEILING
5.1.3FLOOR
5.1.4POWER
5.1.5RAND
5.1.6ROUND
5.1.7SQUARE
5.1.8SQRT
5.2使用日期函数计算日期
5.2.1DATEADD函数
5.2.2DATEDIFF函数
5.2.3DATENAME函数
5.2.4DATEPART函数
5.2.5GETDATE函数
5.2.6DAY函数
5.2.7MONTH函数
5.2.8YEAR函数
5.3使用字符串函数操作字符串
5.3.1CHARINDEX函数
5.3.2DIFFERENCE函数
5.3.3LOWER函数
5.3.4LTRIM函数
5.3.5REVERSE函数
5.3.6RTRIM函数
5.3.7STR函数
5.3.8SUBSTRING函数
5.3.9使用字符串函数的示例
5.4在SQL中使用文本和图像函数
5.5使用SQL函数检索系统信息
5.5.1DATALENGTH函数
5.5.2ISNULL函数
5.5.3HOST_NAME函数
5.5.4SUSER _NAME函数
5.5.5USER函数
5.6小结
第6章 使用游标
6.1游标声明
6.2游标使用规则
6.2.1游标规则
6.2.2游标范围
6.3打开、关闭和移动游标
6.3.1OPEN和CLOSE语句
6.3.2PETCH语句
6.4高级游标使用
6.5使用游标修改数据
6.5.1游标不能自动更新和删除行
6.5.2使用游标做高级更新操作
6.6小 结
第7章 存储过程
7.1为何使用存储过程
7.2系统存储过程
7.2.1管理存储过程
7.2.2使用存储过程收集信息
7.2.3使用存储过程进行配置和协调
7.2.4使用存储过程监控系统
7.3扩展存储过程
7.3.1为消息传递使用扩展过程
7.3.2使用扩展过程访问操作系统
7.4创建用户自己的存储过程
7.4.1存储过程中的参数
7.4.2OUTPUT参数
7.4.3返回游标作为参数
7.4.4使用存储过程修改数据
7.4.5改变过程
7.5将消息集成到存储过程
7.5.1PRINT语句
7.5.2RAISERROR函数
7.5.3RETURN语句
7.6存储过程的高级应用
7.6.1创建第一个管理表
7.6.2创建档案管理表
7.6.3添加一个用户登录ID
7.6.4修改用户结束日期
7.6.5删除一个用户
7.6.6改善处理过程的建议
7.7小结
第8章 高级字符串操作和按位操作
8.1介绍
8.2使用高级字符串操作拼写金额
8.2.1拼写单个数字
8.2.2拼写tens列
8.2.3综合
8.2.4使用过程拼写金额
8.3二进制操作
8.3.1SQLServer中的二进制操作
8.3.2使用按位操作比较值
8.3.3使用二进制进行EBCDIC转换
8.4小结
第9章 动态执行
9.1什么是动态执行
9.1.1合法的动态执行语法
9.1.2在何处使用动态执行
9.2创建可执行串
9.2.1动态选择
9.2.2使用存储过程
9.2.3检索元数据
9.2.4动态删除
9.2.5动态更新
9.3使用游标的动态执行
9.4动态执行的优劣
9.4.1动态执行的优点
9.4.2动态执行的常见陷肼
9.5小结
第10章 安全问题
10.1鉴别模式
10.1.1安全模式
10.1.2鉴别过程
10.1.3选择一种鉴别模式
10.1.4实现一种鉴别模式的步骤
10.1.5创建登录帐号
10.2给用户和角色分配登录
10.2.1给用户帐号分配登录
10.2.2给角色分配登录
10.3给用户和角色分配权限
10.3.1权限的类型
10.3.2授权、拒绝和剥夺权限
10.4设计安全策略
10.5管理应用程序的安全性
10.5.1使用存储过程和视图的
安全管理
10.5.2使用应用程序角色进行客户
应用程序管理
10.6小结
第11章 专用触发器
11.1嵌套、递归和触发器基础
11.1.1inserted和deleted表
11.1.2update()函数
11.1.3嵌套触发器
11.1.4递归触发器
11.1.5触发器的T-SQL限制
11.1.6带触发器的系统表作用
11.2使用触发器加强业务规则
11.3触发器检查
11.4存储系统信息
11.5用触发器维护引用完整性
11.6级联删除触发器
11.7级联更新触发器
11.8小结
第12章 更新表索引和统计信息
12.1索引性能和调整
12.1.1设计快速的索引
12.1.2分布页面和步进存储数据
12.1.3使用索引密度代替步进值
12.1.4更新分布页面
12.2创建实用程序进行优化表索引
12.3对最后的优化进行验证
12.4自动运行任务
12.4.1自动执行存储过程
12.4.2调度任务
12.5使用DBCC语句监控数据库
12.5.1CHECKALLOC
12.5.2CHECKCATALOG
12.5.3CHECKDB
12.5.4CHECKFILEGROUP
12.5.5CHECKIDENT
12.5.6CHECKTABLE
12.5.7DBREPAIR
12.5.8DBREINDEX
12.5.9dllname
12.5.10INPUTBUFFER
12.5.11NEWALLOC
12.5.12OPENTRAN
12.5.13OUTPUTBUFFER
12.5.14PINTABLE
12.5.15PROCACHE
12.5.16ROWLOCK
12.5.17SHOWCONTIG
12.5.18SHOWSTATISTICS
12.5.19SHRINKDATABASE
12.5.20SHRINKFILE
12.5.21SQLPERF
12.5.22TEXTALL和TEXTALLOC
12.5.23TRACEOFF
12.5.24TRACEON
12.5.25TRACESTATUS
12.5.26UNPINTABLE
12.5.27UPDATEUSAGE
12.5.28USEROPTIONS
12.6小结
第13章 交叉制表
13.1交叉制表的描述
13.1.1交叉制表的必要考虑
13.1.2安全性
13.1.3聚合
13.1.4数据分组
13.1.5过程
13.2验证对象的存在
13.2.1验证参数
13.2.2验证数据类型和聚合操作
13.3检查列的安全性
13.4产生列头列表
13.4.1创建colnames表
13.4.2检查列的计数值和长度并
加入行数据
13.5生成交叉表报告
13.5.1创建和修改crosstable
13.5.2更新crosstable值
13.5.3完成任务
13.6小结
第二部分 SQLServer必要信息
第14章 编写高效代码
14.1简洁、高效的代码是好的代码
14.1.1明确目标
14.1.2存储过程的主要逻辑构件
14.1.3编写存储过程的步骤
14.1.4数据检索的示例
14.1.5数据存储的示例
14.1.6数据存档的示例
14.1.7数据删除的示例
14.1.8记录处理的示例
14.1.9业务逻辑的示例
14.1.10优化方法
14.1.11怎样增加可读性
14.2存储过程的模块化
14.3小结
第15章 使用多层客户/服务器结构
15.1理解客户/服务器结构
15.1.1客户/服务器模型
15.1.2客户/服务器应用
15.1.3客户/服务器系统
15.2客户/服务器计算结构的发展
15.2.1基于主机的系统
15.2.2两层客户.服务器结构
15.2.3对等系统
15.2.4三层客户/服务器
15.3Web浏览器、Web服务器和
客户/服务器模型
15.3.1两层Web结构
15.3.2三层Web结构
15.4Microsoft的三层服务模型
15.4.1用户服务
15.4.2业务服务
15.4.3数据服务
15.5使用RAD开发工具的多层应用
15.5.1COM和Microsoft应用服务
15.5.2COM和商业应用程序服务
15.5.3RAD和工程生命周期
15.5.4设计和建模
15.5.5开发
15.5.6配置
15.6可扩展性和SQLServer
15.6.1平台可扩展性
15.6.2增强型查询处理
15.6.3动态行锁
15.6.4高级复制
15.6.5移动计算支持
15.7小结
第16章 复制
16.1编程人员的复制概念
16.1.1复制语言
16.1.2事务
16.1.3复制如何工作
16.1.4复制局限性
16.1.5复制商业模型
16.2高级复制
16.2.1复制和SQL-DMO
16.2.2存储过程
16.2.3合并复制
16.2.4拨号连接上的复制
16.3小结
第三部分 数据转换和集成
第17章 超越Access
17.1判断从Access到SQLServer的
转移需求
17.1.1对企业数据库的要求
17.1.2Access与SQLServer的特性
对比
17.2实现从Access到SQLServer的转移
17.2.1与VisualBasic、Access以及
SQLServer有关的问题
17.2.2使用DTSImport Wizard
17.3小结
第18章 对SybaseSQLServer进行转换
18.1Sybase和Microsoft的发展历程
18.2发展趋势
18.3保留的相似之处
18.3.1系统过程
18.3.2MicrosoftT-SQL与SybaseT-SQL
的对比
18.4MicrosoftSQL7和SybaseAdaptive
Server的差别
18.4.1兼容模式
18.4.2事务管理模式
18.4.3隔离等级
18.4.4保留字
18.4.5游标语法
18.4.6回滚触发器
18.4.7优化程序暗示
18.4.8优化查询计划
18.4.9临时表名称
18.4.10RAISERROR语句
18.4.11数据类型
18.4.12标识列
18.4.13PRINT语法
18.5小结
第19章 使用VisualC++优化ODBC
19.1ODBC体系结构
19.2数据库概要
19.3为何使用ODBC
19.3.1统一连接
19.3.2建立技术
19.4ODBC的安全问题
19.5连接ODBC的方法
19.5.1安装驱动程序
19.5.2使用数据源工作
19.6调用级接口
19.6.1基础
19.6.2连接到数据库
19.6.3语句:操作SQLServer数据
19.6.4提取数据
19.6.5游标
19.6.6端到端 :调试ODBC代码
19.6.7使用大数据项
19.7使用MicrosoftFoundationClasses
简化ODBC
19.7.1对象模型
19.7.2非常简单:使用记录集和
ClassWizard
第20章 从VisualBasic连接SQLServer
20.1为SQLServer开发高效VisualBasic
应用程序
20.1.1三层应用模型:选择一种实现
20.1.2调用级和对象接口:选择一个
接口
20.2使用开放式数据库连接
20.2.1SQLServer的开放式数据库连接
驱动程序
20.2.2连接ODBC数据源
20.2.3执行SQL语句:处理查询
20.2.4结果集
20.3数据访问对象
20.3.1创建和调整数据库:数据定义
语言操作
20.3.2使用记录集:数据操纵语言
操作
20.4远程数据对象
20.4.1RDO与DAO比较
20.4.2RDO层次和rdoEngine对象
20.4.3rdoEnvironment对象
20.4.4建立RDO连接
20.4.5游标和结果集
20.4.6递交查询
20.4.7使用ODBC扩展RDO
20.5小结
第21章 通过VisualBasic使用SQL-DMO
管理SQLServer
21.1DMO概念
21.1.1它是什么,它不是什么
21.1.2从VisualBasic中访问
SQL-DMO对象
21.2实现SQL-DMO对象
21.2.1创建SQL-DMO对象
21.2.2不可创建的对象
21.2.3集
21.2.4列表对象
21.3使用SQL-DMO管理数据库
21.4使用SQL-DMO管理服务器
21.5探索SQL-DMO对象模型
21.5.1SQL-DMO对象模型
21.5.2Application对象
21.5.3SQLServer对象
21.5.4Database对象
21.5.5Table对象
21.5.6JobServer对象
21.5.7Replication对象
21.6SQL-DMO的一般用途
21.6.1用户管理示例
21.6.2文本文件导入/导出示例
21.6.3远程数据库同步示例
21.7构造数据库管理工具
21.8小结
第22章 SQLServer数据的自动Web
发布
22.1WebAssistant的构件
22.2使用WebAssistantWizard
22.3使用xp_makewebtask和
sp_makewebtask
22.4使用sp_makewebtask和
xp_makewebtask精化Web页面
22.4.1sp_makewebtask的必须和基本
的参数
22.4.2页面格式化参数
22.4.3链接相关的参数
22.4.4每页行数参数
22.4.5模板参数
22.5使用工作相关的参数自动Web发布
22.6小结
第23章 SQLServer、ADO和Web
23.1数据访问的发展
23.2ADO对象模型
23.2.1ADO主要对象
23.2.2ADO辅助对象
23.3Connection对象
23.3.1事务管理
23.3.2事务考虑
23.3.3连接池
23.3.4执行SQL
23.4Command对象中使用存储过程
23.5Recordset对象
23.5.1检索整个表
23.5.2Recordset基础
23.5.3利用断连记录集
23.6RDS:将ADO移到浏览器
23.7小结
第24章 Microsoft的COM和DCOM
24.1DCOM的结构
24.1.1DCERPC和IDL
24.1.2分布对象
24.1.3DCOM的安全机制
24.2常见技术
24.2.1DCOM服务器
24.2.2配置
24.2.3可扩展性
24.2.4故障
24.2.5性能
24.3小结
第25章 未来是MicrosoftTransaction
Server的时代
25.1在Internet上应用三层结构
25.1.1客户层
25.1.2 业务逻辑层
25.1.3数据层
25.2理解MTS
25.2.1ObjectControl_Activate
25.2.2ObjectControl_Deactivate
25.2.3ObjectControl_CanBePooled
25.3编写MTS事务
25.4配置MTS构件
25.5无状态环境的重要性
25.5.1状态维持限制可扩展性
25.5.2使用Just-in-Time激活
25.6使用MTS最大化系统性能
25.6.1确定是否释放或者中止
25.6.2为Webfarm提供无状态性
第26章 其他开发平台与SQL服务器
的连接
26.1Delphi的数据库模型
26.2Delphi中的数据库编程
26.2.1使用数据库访问控件
26.2.2数据控件
26.2.3在表单中使用控件
26.2.4表单向导
26.2.5通过代码来访问数据库
26.2.6通过Delphi来管理数据库
26.3PowerBuilder和Microsoft
SQLServer
26.3.1连接数据库
26.3.2ODBC和底层驱动的比较
26.3.3连接数据库
26.3.4使用PowerBuilder管理数据库
26.3.5PowerBuilder数据库对象
26.4Delphi和PowerBuilder 该用
哪个
第27章 将SQL与Microsoft的其他产品
集成
27.1将Access作为SOLServer7的前端
27.1.1创建Access项目
27.1.2使用Access项目
27.1.3使用DataAccessPage
27.1.4MicrosoftSQLServer的双向
数据复制
27.2在SQLServer7中使用Excel
27.3在InternetInformationServer和Internet
Explorer中使用SQLServer
27.3.1在服务方访问数据库
27.3.2使用InternetExplorer进行客户端
数据库访问
27.4与MicrosoftTransactionServer
集成
27.4.1MTS事务和IIS
27.4.2MTS事务和SQLServer
27.4.3MTS事务处理和可视化编程
工具
27.5小结
第28章 工作调度及使用ActiveXServer
实现业务解决方案
28.1使用SQLServerAgent
28.2实现工作
28.3T-SQL工作
28.4在VBScript中运行ActiveXServer
28.5综述
28.6小结
第29章 业务解决方案的编程方针
29.1基础结构
29.2源代码管理
29.3数据库需求
29.4设计和开发
29.4.1标准化
29.4.2主键
29.4.3Null约束
29.5编程中优化性能
29.5.1减少数据传输
29.5.2事务中不允许用户输入
29.5.3防止死锁
29.5.4不要混淆OLTP和OLAP
29.5.5避免耗时较长的查询
29.6测试数据库应用
29.7修改第三方SQLServer应用
29.8小结
第30章 数据仓库和在线事务处理
30.1SQLServer作为数据仓库
30.2实现数据仓库
30.2.1确定需求
30.2.2设计和构造数据库
30.3如何为仓库清理数据
30.3.1使用数据迁移服务
30.3.2使用bcp载入数据
30.3.3使用存储过程载人数据
30.3.4使用复制载人数据
30.3.5CUBE和ROLLUP操作
30.3.6批处理
30.4大型查询和性能优化
30.4.1查询数据
30.4.2视图
30.4.3存储过程
30.5仓库维护任务
30.6SQLServer和OLTP系统
30.6.1OLTP问题
30.6.2创建数据库
30.6.3索引数据库
30.6.4事务
30.6.5锁
30.6.6死锁
30.7优化SQLServer作为OLTP系统
30.7.1事务核对清单
30.7.2配置选项
30.8监视性能
30.8.1内存和过程cache
30.8.2输入/输出
30.8.3事务配置选项
30.9小结
第四部分 附 录
附录A Master数据库的系统表
附录B 所有数据库的系统表
附录C 常见错误信息
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

从技术哲学的角度来看,《SQL Server 7编程技术内幕》展现了一种与当下截然不同的**数据中心构建思维**。它充满了对“本地化处理”的推崇——尽可能在服务器端完成所有的数据转换、业务逻辑验证和复杂的报告生成。书中对**T-SQL脚本的组织与版本控制**的探讨,虽然没有现代Git-based的DevOps流程,但其强调的“幂等性脚本编写”和“预部署检查列表”,为我们后来构建CI/CD管道提供了早期的思想雏形。它不是一本关于“如何快速上线”的书,而是一本关于“如何让系统稳定运行五年”的书。例如,书中对于**触发器(Triggers)的嵌套和级联影响**的警告和应对策略,其严谨程度远超很多入门级教程,它直指在没有完善事务日志回溯工具时,如何通过代码结构保证数据完整性的核心难题。这种对系统韧性的关注,让我对那个时代系统工程师的责任感深感敬佩,也让我反思,在追求敏捷性的今天,我们是否过度牺牲了这种对系统底层稳定性的敬畏之心。这本书更像是一份关于如何“建造一座能够抵抗时间侵蚀的数据堡垒”的手册,而非一个快速迭代的“应用开发指南”。

评分

哎呀,这本《SQL Server 7编程技术内幕》真是让我又爱又恨,爱的是它在那个年代几乎是唯一的“内幕”揭示者,恨的是……嗯,现在的眼光来看,很多内容确实已经时过境迁了。我记得当年为了搞清楚那些晦涩的存储过程优化技巧,我几乎是把它当成武林秘籍一样啃下来的。书中对**事务隔离级别**的深入剖析,放到现在来看,依然具有很强的理论指导意义,尤其是它用当时SQL Server 7.0特有的**锁粒度**机制来解释并发控制的原理,那种手把手的推导过程,远比现在那些云里雾里、只讲API的教材要扎实得多。那时候没有Stack Overflow这种便捷的资源,能有一本书把DBCC命令的底层逻辑讲得这么透彻,简直是救星。不过,有一点必须提,关于**索引的物理结构描述**部分,内容虽然详尽,但由于缺乏对新型B-Tree变体(比如LSM-Tree或者更复杂的列式存储结构)的介绍,读起来总感觉是在怀旧,缺少对未来架构的预判。我花了大量时间去对照书中的图示和实际执行的Profiler跟踪结果,试图复现那些教科书式的“完美执行计划”,那段摸索的过程,虽然辛苦,但确实奠定了我对SQL Server执行引擎的初步认知基础。可以说,这本书是那个特定技术栈下,理解SQL Server 7.0“为什么这么干”的最佳钥匙,可惜的是,当你深入到现代版本时,你会发现钥匙孔已经换了。

评分

这本书的另一大亮点,也是我个人认为它在今天依然有价值的部分,是对**SQL Server 7.0的内存管理架构**的描述。在没有现代SQL Server Management Studio(SSMS)提供直观的性能仪表盘之前,理解内存是如何被分配给缓冲池(Buffer Pool)和过程缓存(Procedure Cache)的,是进行性能调优的关键。书中详细解释了SGA(System Global Area)的概念,以及SQL Server如何根据当时的硬件限制来动态调整内存池的比例。虽然我们现在面对的是GB甚至TB级别的内存,但书中关于**缓存失效策略**的讨论非常值得细品。它描述了在资源受限时,系统会优先驱逐不常使用的执行计划,而不是仅仅基于LRU(最近最少使用)算法来操作。这种对历史查询计划的保留意图,揭示了数据库设计者在权衡CPU开销和I/O成本时的早期哲学。通过这本书,我学会了如何观察SQL Server的内部计数器,而不是盲目相信高层工具的提示,这种“钻井取油”式的学习方法,对于任何想深入理解数据库内核的人来说,都是一笔宝贵的财富。

评分

作为一个从Visual Basic 6.0时代过渡过来的开发者,我发现这本书在**ADO(ActiveX Data Objects)与SQL Server 7.0的集成应用**方面,提供了极为实用的代码范例。那些关于如何正确处理连接字符串中的Provider和CursorLocation,以及如何手动管理Recordset对象的滚动和更新机制的讲解,简直是我的救命稻草。很多初学者都会遇到的“参数化查询陷阱”——比如如何正确传递日期时间类型避免歧义,书中通过大量具体的VB/VBA代码片段进行了演示,而且重点说明了在SQL Server 7.0中,由于缺乏后期版本中更智能的类型推断,手动指定`adType`的重要性。我记得我曾经因为一个日期字段的显示问题困扰了三天,最后在书中一个关于`dbbindcol`函数调用的例子中找到了答案——原来是数据类型定义不够明确导致的。虽然现在我们主要使用.NET框架下的SqlCommand和Entity Framework,但回顾那段历史,这本书让我深刻理解了**数据访问层抽象的演变过程**,即从直接操作COM对象到面向对象的封装,每一步的改进都是为了解决早期版本中那些繁琐且易出错的手动内存和指针管理问题。

评分

这本书的装帧和排版,坦率地说,是那个时代技术书籍的典型风格——厚重、字密,图表相对简陋,但内容密度极高。我印象最深的是关于**远程存储过程(RPC)和分布式事务(2PC)**那一章。当时我们公司刚开始尝试在多个数据库服务器间建立集成,配置过程充满了各种权限和网络问题的泥潭。这本书没有停留在简单的配置步骤说明上,而是详细拆解了MSDTC(Microsoft Distributed Transaction Coordinator)在SQL Server 7环境下是如何实现两阶段提交的协议握手过程的。它甚至涉及到了如何通过修改注册表项来微调分布式事务的超时设置,这在官方文档中是极其罕见的“野路子”。虽然我们最终因为性能原因放弃了大规模使用RPC,但正是通过这本书,我才第一次意识到数据库操作的“分布式一致性”代价有多么高昂。它没有过多渲染现代云架构的弹性,而是聚焦于那种坚实、老派的“要么成功,要么失败”的强一致性哲学。阅读时,我常常需要准备另一本关于Windows NT系统管理的参考书来辅助理解,因为其中很多底层配置是与操作系统紧密耦合的,这体现了那个时期数据库软件深度的系统依赖性。

评分

评分

评分

评分

评分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有