深入浅出——SQL Server 2000开发、管理与应用实例
分類: 图书,计算机/网络,数据库,SQL,
作者: 邹健 编著
出 版 社: 人民邮电出版社
出版时间: 2008-8-1字数: 824000版次: 1页数: 524印刷时间: 2008/08/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115184702包装: 平装编辑推荐
本书从应用、开发和管理3个角度逐步深入,全面介绍SQL Server 2000数据库技术,不但整合了资深专家数年工作实践和宝贵经验,还根据DBA所需具备的从业素质规划了内容结构。
内容简介
本书全面系统地介绍了SQL Server开发和管理的应用技术,涉及安装和配置SQL Server、日期处理、字符处理、排序规则、编号处理、数据统计与汇总、分页处理、树形数据处理、数据导入与导出、作业、数据备份与还原、用户定义数据类型、数据库安全、系统表应用实例、索引、事务及锁、SQL Server应用疑难解答等内容。
本书不但融合了作者在使用SQL Server 2000过程中遇到的各种常见问题和应用案例,还总结了作者几年来在CSDN社区SQL Server版所解决的大量问题,面向实际项目需求,涉及不同类型的应用,能够多角度地引导读者学习相关知识。针对各类问题,书中提供了详细的操作步骤和解决思路,具有很强的实用性和可操作性。
本书适用于已经掌握了SQL Server基础知识,但缺少实践经验的读者,对初学者来说更是一本入门与进阶的必备指导用书。
作者简介
邹建,网名ZJCXC,CSDN社区MS SQL Server版大版主,微软2004—2007 SQL Server MVP(微软最有价值专家)。著有《中文版SQL Server 2000开发与管理应用实例》一书,该书深受读者好评。熟悉数据库技术,对MS SQL Server数据库体系结构、备份恢复、设计、管理、性能优化等都有深入研究,项目经验丰富,擅长数据库优化及故障诊断,现任职于某电子商务公司,DBA,负责数据库管理与维护工作。
目录
第1章安装和配置SQL Server
1.1SQL Server的版本和版本选择
1.2安装SQL Server的常见问题
1.3如何理解实例
1.4如何实现无值守安装
1.5Desktop Engine
1.5.1MSDE 2000概述
1.5.2获取MSDE 2000
1.5.3安装MSDE 2000
1.5.4管理MSDE 2000
1.5.5支持的并发用户数和数据库容量
1.6SQL Server Service Pack
1.6.1确定已安装SQL Server的版本
1.6.2SQL Server Service Pack 4介绍
1.6.3SQL Server Service Pack 4的内容
1.6.4安装SQL Server Service Pack 4的常见问题
1.7SQL Server服务
1.8服务账户
1.9影响SQL Server运行的设置
1.9.1内存配置
1.9.2数据存储
第2章日期处理
2.1日期类型概述
2.2日期处理函数
2.2.1日期增减函数
2.2.2日期信息获取函数
2.2.3日期差值计算函数
2.2.4其他日期处理相关函数
2.3日期选项设置
2.3.1default language选项
2.3.2SET DATEFIRST
2.3.3SET DATEFORMAT
2.3.4SET LANGUAGE
2.4日期格式化与日期推算处理
2.4.1日期格式化处理
2.4.2日期推算处理
2.4.3日期加减处理
2.5日期处理实例
2.5.1生日处理
2.5.2工作日处理
2.5.3工作时间计算
2.6日期处理疑难解答
2.6.1日期处理中常犯的错误
2.6.2常见的低效率日期处理方法
2.6.3日期与数字
第3章字符处理
3.1字符类型概述
3.2字符串分拆
3.2.1循环截取法
3.2.2动态T-SQL语句法
3.2.3辅助表法
3.2.4分拆数据到列
3.2.5分拆数字数据
3.2.6分拆短信数据
3.3字符串合并
3.3.1游标合并法
3.3.2SELECT语句合并法
3.3.3临时表合并法
3.3.4固定行合并法
3.4其他字符串处理要求
3.4.1分段截取
3.4.2分段更新
3.4.3IP地址与字符串
3.5字符串分拆与合并处理应用实例
3.5.1字符串比较
3.5.2字符串交集/并集
3.5.3分拆字符串并统计
3.5.4借用字符串实现无规律排序
3.5.5列车车次查询
3.6字符串在动态T-SQL语句中的应用
3.6.1动态T-SQL语句概述
3.6.2字符串在编号查询中的使用
3.6.3动态参数存储过程
3.6.4动态T-SQL语句中常见问题
3.7text与ntext字段处理
3.7.1text与ntext数据的存储
3.7.2管理text与ntext数据
3.7.3text与ntext字段的复制和合并
3.7.4text与image字段转换
3.7.5ntext字段的REPLACE处理
第4章排序规则
4.1字符存储编码与排序规则
4.1.1字符数据的存储编码
4.1.2UNICODE
4.1.3排序规则
4.1.4排序规则比较和排列规则
4.1.5使用排序规则
4.1.6如何选择字符字段类型
4.2排序规则应用
4.2.1拼音处理
4.2.2全角与半角字符处理
第5章编号处理
5.1自动编号
5.1.1IDENTITY
5.1.2ROWGUIDCOL
5.2手工编号
5.2.1查表法
5.2.2独立编号表法
5.2.3随机编号
5.3缺号与补号
5.3.1检查缺号
5.3.2补号处理
5.3.3编号重排
5.4编号查询
5.4.1已用编号分布查询
5.4.2缺号分布查询
5.4.3生成已用编号和缺号分布字符串
5.4.4缺勤天数统计
第6章数据统计与汇总
6.1基本查询
6.1.1空(NULL)值对查询的影响
6.1.2联接
6.1.3UNION与UNION ALL
6.1.4数据填充查询
6.1.5上限与下限区间统计
6.1.6随机记录查询
6.2分级汇总
6.2.1实现分级汇总处理
6.2.2分级汇总结果的过滤
6.2.3分级汇总结果显示格式处理
6.2.4分级汇总结果的排序处理
6.3交叉数据报表
6.3.1实现原理
6.3.2多列转置
6.3.3动态列
6.3.4动态列中的字符溢出处理
6.3.5特殊的交叉报表
6.4典型数据统计案例
6.4.1库存明细账查询
6.4.2同期及上期数据对比
6.4.3销售排行榜
第7章分页处理
7.1应用程序中的分页处理
7.2数据库中的分页处理
7.2.1使用TOP N实现分页
7.2.2使用字符串
7.2.3使用临时表
7.2.4使用SQL Server的系统存储过程处理分页
7.3特殊要求的分页处理
7.3.1随机显示的分页处理
7.3.2分类数据的分页处理
第8章树形数据处理
8.1单编号处理法
8.1.1方法概述
8.1.2逐级汇总
8.1.3编码重排
8.1.4调整编码规则
8.1.5调整编码隶属关系
8.2双编号处理法
8.2.1方法概述
8.2.2树形数据排序
8.2.3查找子节点
8.2.4查找父节点
8.2.5编码校验
8.2.6节点复制
8.2.7节点删除
8.2.8逐级汇总
8.3树形数据的扩展形式
8.3.1产品配件清单
8.3.2公交车乘车线路查询
第9章数据导入与导出
9.1访问外部数据
9.1.1链接服务器
9.1.2OPENROWSET与OPENDATASOURCE
9.1.3外部数据访问方法总结
9.2文本文件的导入与导出
9.2.1查询文本文件内容
9.2.2BCP与BULK INSERT
9.3导入与导出中的常见问题
9.3.1访问外部数据的注意事项
9.3.2使用BCP或者BULK INSERT时的注意事项
9.3.3外部数据文件位置及文件访问权限问题
9.4在客户端实现SQL Sever数据导入与导出处理
9.4.1在Access数据库中实现与SQL Server之间的数据交换
9.4.2实现客户端其他OLE DB数据源与SQL Server之间的数据交换
9.4.3在客户端实现SQL Server数据导入与导出处理的一些说明
9.5在数据库中存取文件
9.5.1SQL Server中的文件存取方法
9.5.2程序中的文件存取处理方法
第10章作业
10.1作业概述
10.1.1定义作业
10.1.2使用系统存储过程定义作业的常用模板
10.2作业的应用
10.2.1定时启用(或者停用)数据库
10.2.2执行耗时的存储过程
10.2.3秒级作业
10.3使用作业的疑难解答
第11章数据备份与还原
11.1数据库备份与还原方法介绍
11.1.1完全备份与还原
11.1.2差异备份与还原
11.1.3日志备份与还原
11.1.4数据文件或文件组备份与还原
11.1.5备份设备
11.1.6数据库恢复模型对数据库备份和还原的影响
11.2制订数据库备份方案
11.2.1备份方案制订原则
11.2.2建立数据备份方案
11.3数据库备份与还原的实践应用
11.3.1系统数据库的备份与还原
11.3.2数据库迁移
11.3.3部分数据库还原
11.3.4抢救损坏数据库中的数据
11.3.5将数据还原到指定时间点
11.3.6将数据还原到指定标记点
11.3.7同步备用服务器
11.4数据备份与还原疑难解答
11.4.1数据备份与还原中的常见问题
11.4.2使用媒体集备份时的常见问题
11.4.3数据库还原中的孤立用户问题
11.4.4查询备份文件中的信息
第12章数据库安全
12.1SQL Server的存取构架
12.1.1表格格式数据流(TDS)
12.1.2Net-Library与网络协议
12.1.3Net-Library加密
12.2用户管理
12.2.1身份验证模式
12.2.2登录、用户、角色和组
12.2.3管理用户
12.3数据文件安全
12.4SQL Server安全配置
12.4.1安全配置建议
12.4.2使用安全套接字层(SSL)加密
12.5应用程序上的安全
12.5.1防止SQL注入式攻击
12.5.2限制应用程序访问
12.5.3不安全的扩展存储过程
第13章系统表应用实例
13.1系统对象概述
13.1.1每个数据库中都存在的系统表
13.1.2仅在系统数据库中存在的系统表
13.1.3系统表应用中3个重要的系统存储过程
13.2系统表在对象信息检索中的应用
13.2.1搜索指定的对象所处的数据库
13.2.2获取存储过程参数定义
13.2.3搜索指定字符在哪个表的哪个字段中
13.2.4非UNICODE字段改为UNICODE字段的可行性查询
13.2.5字段相关对象查询
13.2.6生成数据库字典
13.3系统对象在处理中的应用
13.3.1批量处理数据库中的对象
13.3.2将所有的char、varchar改为nchar、nvarchar
13.3.3标识列与普通列的相互转换
13.3.4把列添加指定位置
13.3.5在两个SQL Server数据库之间复制对象
第14章索引、事务与锁
14.1索引
14.1.1概述
14.1.2索引的存储与检索
14.1.3索引设计指南
14.1.4索引管理与维护建议
14.2事务及锁
14.2.1概述
14.2.2事务
14.2.3锁
14.2.4事务与锁的应用
第15章SQL Server应用疑难解答
15.1访问SQL Server实例的常见问题
15.1.1连接失败
15.1.2用户登录失败
15.1.3测试连接到SQL Server实例的方法总结
15.1.4超时
15.1.5单用户的问题
15.1.6默认数据库问题
15.2数据库日志疑难解答
15.2.1影响日志文件增长的因素
15.2.2从事务日志中删除日志记录
15.2.3日志文件处理中的误区
15.2.4合理解决日志文件增长
15.3错误处理疑难解答
15.3.1错误处理概述
15.3.2错误处理严重程度
15.3.3使用@@ERROR的疑难解答
15.3.4XACT_ABORT与RAISERROR的疑难解答
15.4游标处理疑难解答
15.4.1全局游标与本地游标
15.4.2检查指定的游标是否存在
15.4.3事务提交或者回滚对游标的影响
15.4.4可更新的游标
15.5SQL Server处理中的其他疑难解答
15.5.1并发工作负荷调控器
15.5.2存储过程中的疑难解答
15.5.3标识值疑难解答
15.5.4全文检索疑难解答
15.5.5发布与订阅中的常见问题
15.5.6其他疑难解答
书摘插图
第1章安装和配置SQL Server
1.3如何理解实例
在项目实施过程中,不少用户会有这样的需求:要求开发一套基于SQL Server的新系统, 这套系统验收通过后,要和一个原有的SQL Server系统合并,共用一个服务器,所以不能为新系统提供单独的服务器。但是要保障新系统的开发而又不影响旧系统的正常运行,所以要求新系统使用单独的SQL Server服务。在SQL Server 2000以前的版本中,这样的要求是无法满足的,但在SQL Server 2000中,就可以在原有SQL Server实例的基础上,再添加一个实例来解决问题。
所谓的“实例”,就是一个SQL Server数据库引擎。SQL Server 2000支持在同一台计算机上同时运行多个SOL Server数据库引擎实例。每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。应用程序连接同一台计算机上的SQL Server数据库引擎实例的方式与连接其他计算机上运行的SQL Server数据库引擎的方式基本相同。由于实例各有一套不为其他实例共享的系统及用户数据库,所以各实例的运行是独立的,一个实例的运行不会受其他实例运行的影响,也不会影响其他实例的运行。在一台计算机上安装多个SQL Server实例,就相当于把这台计算机模拟成多个数据库服务器,而且这些模拟的数据库服务器是独立且同时运行的。
实例包括默认实例和命名实例两种。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同,修改计算机名会同步修改默认实例名(SQLServer7.0只能被安装为默认实例,在修改计算机名后,会导致SQL Server服务无法启动,需要执行SQL Server安装程序进行自动修复才能解决启动问题),客户端连接默认实例时,将使用安装SQL Server实例的计算机名。
一台计算机上可以安装多个命名实例,客户端连接命名实例时,必须使用以下计算机名
称与命名实例的实例名组合的格式: