【本书目录】
第Ⅰ部分 如何建立SQL Server数据库来保存应用程序的数据
第1章 数据库中选择存储哪些
应用程序数据 3
1.1 在哪里存储应用程序设置 3
1.2 在哪里存储用户设置 4
1.3 在哪里存储XML文档 6
1.3.1 使用XML数据类型 6
1.3.2 在文件系统中存储
XML数据 10
1.4 在哪里存储外部应用程序文件 10
小结 11
第1章快速参考 12
第2章 数据库安全基本原则 13
2.1 保护数据库系统的网络安全设计 13
2.1.1 授权远程访问 13
2.1.2 保护外部访问 14
2.2 管理对SQL Server实例的访问 15
2.2.1 选择身份验证模式 15
2.2.2 连接到SQL Server实例 16
2.2.3 拒绝用户访问 20
2.2.4 使用SQL Server身份验证
连接到SQL Server 21
2.3 管理对SQL Server数据库的访问 21
2.4 对数据库访问进行授权 21
2.4.1 创建数据库用户 22
2.4.2 管理数据库用户 22
2.4.3 管理孤立用户 22
2.4.4 启用Guest用户 23
2.5 授予数据库权限 23
2.5.1 创建数据库角色 23
2.5.2 管理数据库角色 24
2.5.3 授予小粒度的数据库权限 24
2.6 管理应用程序角色 25
2.6.1 创建应用程序角色 25
2.6.2 使用应用程序角色 25
2.6.3 删除应用程序角色 26
2.7 管理对架构的访问 26
2.8 管理对表和列的访问 28
2.8.1 更改对表的访问 28
2.8.2 提供对列的单独访问 29
2.9 管理对可编程对象的访问 30
2.9.1 管理存储过程的安全性 30
2.9.2 管理用户定义函数的安全性 31
2.9.3 管理程序集的安全性 32
2.9.4 管理所有权链 32
2.9.5 管理执行上下文 33
小结 34
第2章快速参考 35
第3章 使用灾难恢复技术
保护数据库 36
3.1 使用完整数据库备份 36
3.1.1 简单恢复模式 37
3.1.2 备份设备 38
3.1.3 执行完整数据库备份 39
3.2 使用差异备份 39
3.3 使用事务日志备份 41
3.3.1 完整恢复模式 42
3.3.2 执行事务日志备份 43
3.4 恢复数据库 44
3.4.1 获取备份信息 44
3.4.2 使用SQL Server Management
Studio还原数据库 45
3.4.3 使用T-SQL从简单
备份策略还原数据库 47
3.4.4 使用T-SQL从完整
备份策略还原数据库 48
3.4.5 还原系统数据库 49
3.5 使用SQL维护计划向导安排备份 52
小结 53
第3章快速参考 53
第4章 将数据库迁移到其他系统 55
4.1 使用备份和还原来迁移数据 56
4.1.1 只使用完整数据库备份 56
4.1.2 完整数据库备份与差异
和事务日志备份 61
4.2 使用分离和附加数据库
来迁移数据 64
4.3 使用复制来迁移数据库 66
4.4 使用SSIS迁移数据 68
4.5 自动并计划执行数据迁移 73
小结 75
第4章快速参考 75
第Ⅱ部分 如何通过SQL Server查询数据
第5章 聚合函数计算 79
5.1 计算行数 79
5.1.1 用T-SQL函数获得记录
的数量 80
5.1.2 筛选结果 82
5.2 计算合计和小计 84
5.3 计算累加和 88
5.4 计算统计值 90
5.4.1 使用AVG 91
5.4.2 使用MIN 和 MAX函数 91
5.4.3 使用复杂的统计函数 92
5.4.4 使用关键字DISTINCT 92
5.5 用CLR设计用户定义聚合函数 93
小结 98
第5章快速参考 98
第6章 提高查询性能 100
6.1 了解执行计划 100
6.2 建立索引以快速执行查询 103
6.2.1 堆结构 103
6.2.2 表中的索引 106
6.2.3 索引视图 118
6.2.4 加速联接操作的索引 119
6.2.5 数据分布和统计 122
6.2.6 索引碎片 124
6.3 用“数据库引擎优化顾问”
来优化查询 125
小结 127
第6章快速参考 128
第7章 动态生成查询 129
7.1 生成查询的用户界面 129
7.2 获取数据库中表的信息 132
7.3 动态排序和筛选 138
7.3.1 在动态查询中加入排序 138
7.3.2 筛选动态查询 139
7.3.3 一个完整的动态查询
示例程序 139
7.3.4 示例程序如何生成筛
选字符串 141
7.3.5 格式化一个筛选串时要
考虑的问题 143
7.4 动态查询中的参数和安全问题 144
7.4.1 SQL注入攻击是
如何工作的 144
7.4.2 如何防止SQL注入攻击 146
7.4.3 如何使用sp_ExecuteSql 147
小结 148
第7章快速参考 148
第8章 使用远程数据源的数据 149
8.1 在中间层读取远程数据源的数据 149
8.2 在SQL Server中读取远程
数据源数据 151
8.2.1 使用即席查询读取远程
数据源的数据 152
8.2.2 使用链接服务器读取远程
数据源的数据 156
8.2.3 使用链接服务器读取数据 162
8.3 在SQL Server中对远程数据源数据
进行插入、更新和删除 163
8.3.1 使用即席链接插入、
更新和删除数据 163
8.3.2 使用链接服务器插入、
更新和删除数据 164
小结 165
第8章快速参考 165
第9章 通过Internet读取
SQL Server的数据 166
9.1 直接访问SQL Server 166
9.1.1 通过TCP/IP的连接 166
9.1.2 通过HTTP端点连接
SQL Server 171
9.2 通过HTTP端点与其他系统协作 175
9.3 通过附加层访问SQL Server 176
9.3.1 ASP.NET Web服务 177
9.3.2 Microsoft .NET Remoting 181
小结 186
第9章快速参考 186
第Ⅲ部分 如何在SQL Server中修改数据
第10章 用事务来提供安全的
数据库并发 189
10.1 商业事务和SQL Server事务 189
10.2 在SQL Server中定义事务 190
10.2.1 自动提交模式 190
10.2.2 显式事务 191
10.2.3 隐式事务 193
10.2.4 嵌套事务 195
10.3 管理事务隔离 196
10.3.1 事务的隔离级别 199
10.3.2 阻塞和死锁 205
10.4 ADO.NET中的事务 208
小结 209
第10章快速参考 209
第11章 保存历史数据 211
11.1 为数据库捕获快照 211
11.1.1 创建数据库快照 212
11.1.2 还原至一个数据库快照 213
11.1.3 删除数据库快照 214
11.2 在历史表中汇总数据 215
11.3 在索引视图中汇总数据 219
11.4 使用审核列和审核表跟踪变化 221
11.4.1 对列的审核 221
11.4.2 审核表 223
11.4.3 使用审核表还原数据 226
小结 226
第11章快速参考 227
第12章 Reporting Services入门 228
12.1 报表解决方案的需求 228
12.1.1 创建报表 229
12.1.2 部署报表 229
12.1.3 访问报表 229
12.1.4 发布报表 229
12.1.5 扩展Reporting Services 229
12.1.6 管理Reporting Services 230
12.2 设计时需要考虑的事项 230
12.3 Reporting Services的体系架构 231
12.3.1 服务器端组件 231
12.3.2 客户端组件 233
12.3.3 可扩展性 233
12.4 创建一个基本的报表 234
12.4.1 设置一个报表 234
12.4.2 布局、测试并优化报表 239
12.4.3 筛选数据 250
12.4.4 在报表中加入代码 253
小结 255
第12章快速参考 255
第13章 Notification Services
入门 257
13.1 一个使用Notification Services
的场景 257
13.2 收集需求 257
13.2.1 初步需求 258
13.2.2 附加需求 258
13.2.3 历史信息 259
13.2.4 设备的差异性 259
13.2.5 通知信息 260
13.3 创建应用程序 260
13.3.1 通知应用程序的组件 261
13.3.2 映射Notification Services
元素的需求 263
13.3.3 开发的基本架构 264
13.3.4 Notification Services
应用程序基础 266
13.3.5 初始部署 270
13.4 运行应用程序 276
13.4.1 在应用程序中添加订阅者、
设备和订阅 276
13.4.2 指定要通知哪些订阅者 277
13.4.3 生成通知信息 278
13.4.4 发送通知 279
小结 279
第13章快速参考 279