当前位置:首页 > 工业技术
SQL Server 2005 宝典
SQL Server 2005 宝典

SQL Server 2005 宝典PDF电子书下载

工业技术

  • 电子书积分:25 积分如何计算积分?
  • 作 者:(美)PaulNielsen著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:9787115174864
  • 页数:974 页
图书介绍:本书是一本关于SQL Server 2005方面的应用宝典,详细介绍了SQL Server 2005的应用。全书由七部分组成,以合乎逻辑的顺序重点探讨了SQL Server 2005中最重要的部分。第一部分介绍了SQL Server 2005基础知识,包括信息体系结构原则、关系数据库建模、SQL Server 2005的体系结构、SQL Server 2005的安装以及Management Studio的用法。第二部分讨论如何操作数据,包括查询流程、表达式、标量函数、联接、子查询、公用表表达式、聚合、全文搜索、视图、分布式查询和数据修改等主题。第三部分讨论数据库开发,包括物理架构的设计、T-SQL编程、大容量操作、游标、用户定义函数、存储过程、触发器、数据抽象层、CLR集成、ADO.NET 2.0编程、SQL Server Everywhere开发、Web服务等。第四部分阐述数据库管理,涵盖配置、数据库传输、恢复计划、数据库维护、数据复制、安全性等主题。第五部分探讨商业智能,包括使用Integration Services实现ETL、使用Analysis Services进行数据挖掘、
《SQL Server 2005 宝典》目录
标签:宝典

第1章 信息体系结构原则 3

1.1 复杂性和简单性 4

1.1.1 复杂性 4

1.1.2 简单性 4

1.2 有用性目标 5

1.2.1 设计的适宜性 5

1.2.2 数据存储配置 6

1.2.3 主数据存储的设计方法 7

1.3 数据完整性 9

1.3.1 实体完整性 10

1.3.2 域完整性 10

1.3.3 引用完整性 10

1.3.4 用户定义的完整性 10

1.3.5 事务完整性 11

1.3.6 事务缺陷 11

1.3.7 隔离级别 12

1.3.8 空值 13

1.4 性能 13

1.4.1 设计 14

1.4.2 基于集合的处理 14

1.4.3 索引 14

1.4.4 分区 15

1.4.5 缓存 15

1.5 可用性 15

1.5.1 冗余 16

1.5.2 恢复 16

1.6 可扩展性 16

1.6.1 抽象层 16

1.6.2 归一化 17

1.7 安全性 17

1.7.1 限制访问 17

1.7.2 信息所有权 17

1.7.3 审核跟踪 18

1.8 优化理论和SQL Server 18

1.8.1 架构设计 18

1.8.2 查询 19

1.8.3 索引 19

1.8.4 并发性 19

1.8.5 高级伸缩性 20

1.9 总结 20

第2章 关系数据库建模 21

2.1 模拟现实 22

2.2 可见实体 22

2.2.1 每个元组(行)都是独立的 23

2.2.2 主键 23

2.2.3 表、行和列 23

2.3 识别多个实体 24

2.3.1 多个对象 24

2.3.2 对象之间的关系 24

2.3.3 组织对象 25

2.3.4 一致的查找值 25

2.3.5 复杂对象 25

2.4 关系模式 25

2.4.1 辅助实体和外键 26

2.4.2 关系的基数 26

2.4.3 关系的可选性 27

2.4.4 绘制数据模型关系图 27

2.4.5 一对多关系 28

2.4.6 一对一关系 28

2.4.7 超类/子类关系 28

2.4.8 多对多关系 29

2.4.9 类别实体 30

2.4.10 自反关系 30

2.5 规范化 32

2.5.1 实体/属性的设计原则 32

2.5.2 范式 32

2.5.3 简单性和规范化 33

2.5.4 第一范式 33

2.5.5 第二范式 34

2.5.6 第三范式 35

2.5.7 BCNF范式 36

2.5.8 第四范式 36

2.5.9 第五范式 36

2.6 关系代数 37

2.7 总结 37

第3章 探索SQL Server 2005的体系结构 39

3.1 数据访问体系结构 40

3.1.1 客户/服务器数据库模型 41

3.1.2 N层设计 42

3.1.3 面向服务的体系结构 43

3.2 SQL Server中的服务 43

3.2.1 关系引擎 43

3.2.2 Transact-SQL 44

3.2.3 Visual Studio和CLR 45

3.2.4 Service Broker 45

3.2.5 复制服务 46

3.2.6 全文搜索服务 46

3.2.7 Notification Services 46

3.2.8 服务器管理对象 47

3.2.9 SQL Server代理 47

3.2.10 分布式事务协调器(DTC) 47

3.2.11 SQL Mail 47

3.3 Business Intelligence Services 47

3.3.1 Integration Services 48

3.3.2 Reporting Services 48

3.3.3 Analysis Services 49

3.4 SQL Server 2005版本 50

3.4.1 企业(开发)版 50

3.4.2 标准版 50

3.4.3 工作组版 51

3.4.4 SQL Server速成版 51

3.4.5 SQL Server Everywhere版 52

3.5 SQL Server的工具和组件 52

3.5.1 SQL Server Management Studio 52

3.5.2 SQL Server Configuration Manager 53

3.5.3 外围应用配置器 53

3.5.4 Business Intelligence Development Studio 53

3.5.5 SQL集成帮助 53

3.5.6 SQL Profiler 54

3.5.7 性能监视器 54

3.5.8 数据库优化顾问 54

3.5.9 命令行实用程序、SQLCmd、Bulk Copy 54

3.6 SQL Server 2005功能包 55

3.7 AdventureWorks 55

3.8 探索元数据 55

3.8.1 系统数据库 56

3.8.2 元数据视图 56

3.9 总结 56

第4章 安装SQL Server 2005. 57

4.1 制定安装计划 57

4.1.1 操作系统 57

4.1.2 安全账户 57

4.1.3 身份验证模式 59

4.1.4 服务器实例 59

4.2 有关硬件的建议 60

4.2.1 使用专用服务器 60

4.2.2 使用大量内存 60

4.2.3 使用多个CPU 61

4.2.4 磁盘驱动器子系统 61

4.2.5 RAID磁盘子系统 62

4.2.6 网络性能 62

4.3 实施安装 62

4.3.1 值守安装 62

4.3.2 非值守安装 64

4.3.3 远程安装 64

4.3.4 在群集环境中安装 64

4.3.5 安装多个实例 65

4.3.6 测试安装 65

4.4 升级以前的版本 65

4.4.1 SQL Server 2005升级顾问 65

4.4.2 从SQL Server 2000升级到SQL Server 2005 67

4.5 迁移到SQL Server 67

4.5.1 迁移助手 67

4.5.2 评估 68

4.5.3 架构转换 68

4.5.4 数据迁移 68

4.5.5 业务逻辑转换 68

4.5.6 验证和集成 70

4.6 配置SQL Server外围应用 70

4.6.1 外围应用配置器 70

4.6.2 命令行实用程序 72

4.7 卸载SQL Server 73

4.8 总结 73

第5章 客户端软件的连接性 74

5.1 启用服务器连接 74

5.1.1 服务器配置管理器 74

5.1.2 SQL Native Client连接(SNAC) 75

5.2 SQL Native Client的特性 75

5.2.1 需求 76

5.2.2 数据库镜像 76

5.2.3 异步操作 77

5.2.4 多个活动结果集(MARS) 77

5.2.5 XML数据类型 77

5.2.6 用户定义的类型 77

5.2.7 大型数据类型 77

5.2.8 处理过期的密码 78

5.2.9 快照隔离 78

5.3 总结 78

第6章 使用Management Studio 79

6.1 组织界面 80

6.1.1 窗口布局 80

6.1.2 上下文菜单 82

6.1.3 摘要窗口 82

6.2 已注册的服务器 82

6.3 对象资源管理器 83

6.3.1 在对象树中导航 83

6.3.2 在对象资源管理器中进行筛选 84

6.3.3 表设计器 85

6.3.4 建立数据库关系图 86

6.3.5 查询设计器 87

6.4 使用查询编辑器 88

6.4.1 连接到服务器 88

6.4.2 打开.sql文件 88

6.4.3 执行SQL批处理 89

6.4.4 快捷键和书签 89

6.4.5 查看查询执行计划 90

6.5 使用解决方案资源管理器 90

6.6 模板简介 91

6.7 总结 91

第7章 理解基本的查询流程 95

7.1 理解查询流程 95

7.1.1 查询语句的语法流程 96

7.1.2 查询语句的图形视图 96

7.1.3 查询语句的逻辑流程 96

7.1.4 查询语句的物理流程 98

7.2 指定数据源的From子句 98

7.2.1 可能的数据源 98

7.2.2 范围变量 99

7.2.3 [Table Name] 99

7.2.4 由四部分组成的表名 99

7.3 Where条件 100

7.3.1 使用查找条件Between 101

7.3.2 使用in查找条件 103

7.3.3 使用Like查找条件 104

7.3.4 多个Where条件 105

7.3.5 Select…Where 106

7.4 对结果集排序 107

7.4.1 使用列名指定顺序 108

7.4.2 使用表达式指定排序顺序 108

7.4.3 使用列别名指定顺序 109

7.4.4 使用列序号指定顺序 109

7.4.5 Order by与排序规则 110

7.5 Select Distinct 111

7.6 排名 112

7.6.1 Top 112

7.6.2 With Ties选项 114

7.7 总结 114

第8章 使用表达式和标量函数 115

8.1 创建表达式 115

8.1.1 运算符 116

8.1.2 按位运算符 117

8.2 Case表达式 119

8.2.1 简单Case 119

8.2.2 布尔Case 120

8.3 使用空值 121

8.3.1 检测空值 121

8.3.2 处理空值 122

8.4 标量函数 126

8.4.1 用户信息函数 127

8.4.2 日期-时间函数 127

8.4.3 字符串函数 129

8.4.4 Soundex函数 132

8.4.5 数据类型转换函数 135

8.4.6 服务器环境信息 138

8.5 总结 138

第9章 使用联接和联合合并数据 139

9.1 使用联接 140

9.2 内联接(Inner Join) 141

9.2.1 在SQL代码中建立内联接 141

9.2.2 返回的行数 142

9.2.3 ANSI SQL 89联接 143

9.2.4 多表联接 144

9.3 外联接 145

9.3.1 外联接与可选的外键 147

9.3.2 全外联接 148

9.3.3 在外联接中设置条件 150

9.4 自联接 151

9.5 交叉(无限制)联接 152

9.6 特殊联接(Exotic Joins) 154

9.6.1 θ(theta)联接 154

9.6.2 多条件联接 154

9.6.3 非键联接 154

9.7 差集(Set Difference) 155

9.8 使用联合 158

9.8.1 交联合 158

9.8.2 差联合 159

9.9 总结 159

第10章 使用子查询和CTE提供数据 161

10.1 方法和位置 161

10.2 简单子查询 162

10.2.1 公用表表达式 163

10.2.2 使用标量子查询 164

10.2.3 将子查询用作列表 165

10.2.4 将子查询用作表 169

10.3 相关子查询 170

10.4 关系除 174

10.4.1 带余数的关系除 175

10.4.2 关系整除 177

10.5 总结 178

第11章 汇总数据 179

11.1 简单聚合 179

11.1.1 基本聚合 180

11.1.2 统计学初步 181

11.2 在结果集中分组 182

11.2.1 简单分组 183

11.2.2 聚合查询 183

11.3 计算总计 187

11.3.1 计算小计 187

11.3.2 多维数据集查询 188

11.3.3 计算总计 189

11.4 创建交叉表查询 191

11.4.1 固定列交叉表查询 191

11.4.2 动态交叉表查询 194

11.5 总结 195

第12章 导航层次型数据 196

12.1 邻接表架构模式 196

12.1.1 基本的邻接表模式 197

12.1.2 邻接表变种 197

12.2 邻接表导航 200

12.2.1 使用标准select语句 200

12.2.2 使用递归游标 201

12.2.3 使用基于集合的解决方案 203

12.2.4 使用用户定义函数 204

12.2.5 使用递归公用表表达式 205

12.3 总结 206

第13章 使用全文搜索 207

13.1 配置全文搜索目录 208

13.1.1 使用向导创建全文搜索目录 208

13.1.2 使用T-SQL代码创建目录 210

13.1.3 在全文索引中填充数据 211

13.1.4 使用Management Studio来维护全文目录 212

13.1.5 使用T-SQL代码维护目录 212

13.1.6 干扰词文件 213

13.2 单词搜索 214

13.2.1 Contains函数 214

13.2.2 ContainsTable 215

13.3 高级搜索选项 216

13.3.1 多单词搜索 216

13.3.2 使用通配符搜索 217

13.3.3 短语搜索 218

13.3.4 邻近单词搜索 218

13.3.5 搜索单词的屈折变体 219

13.3.6 同义词搜索 219

13.3.7 使用可变的单词权重进行搜索 220

13.4 模糊搜索 221

13.4.1 Freetext 222

13.4.2 FreetextTable 222

13.5 为二进制对象建立索引 223

13.6 性能 224

13.7 总结 225

第14章 创建视图 226

14.1 为何使用视图 226

14.2 使用视图 227

14.2.1 使用Management Studio创建视图 228

14.2.2 使用DDL代码创建视图 229

14.2.3 Order By和视图 230

14.2.4 对视图的限制 231

14.2.5 执行视图 231

14.3 保护视图 231

14.3.1 保护数据 231

14.3.2 保护视图 233

14.4 通过视图进行更新 234

14.5 嵌套视图 235

14.6 使用同义词 237

14.7 总结 238

第15章 使用分布式查询 239

15.1 分布式查询的概念 239

15.2 访问本地SQL Server数据库 241

15.3 链接到外部数据源 241

15.3.1 使用Management Studio建立链接 241

15.3.2 使用T-SQL创建链接 244

15.3.3 链接非SQL Server数据源 246

15.4 开发分布式查询 248

15.4.1 分布式查询和Management Studio 248

15.4.2 分布式视图 249

15.4.3 本地——分布式查询 249

15.4.4 传递分布式查询 252

15.5 分布式事务 254

15.5.1 分布式事务处理协调器 254

15.5.2 开发分布式事务 255

15.5.3 监测分布式事务 256

15.6 总结 257

第16章 修改数据 258

16.1 插入数据 259

16.1.1 插入一行数据 260

16.1.2 插入select语句的结果集 262

16.1.3 插入存储过程的结果集 263

16.1.4 创建由默认值组成的行 264

16.1.5 插入数据时创建表 264

16.2 更新数据 267

16.2.1 更新单个表 267

16.2.2 进行全程搜索和替换 268

16.2.3 更新数据时引用多个表 268

16.3 删除数据 271

16.3.1 删除时引用多个表 272

16.3.2 级联删除 272

16.3.3 物理删除数据的替代方法 274

16.4 返回修改后的数据 274

16.4.1 返回插入的数据 275

16.4.2 返回更新后的数据 275

16.4.3 返回删除的数据 275

16.4.4 将返回的数据存储到表变量中 275

16.5 对数据修改的潜在限制 276

16.5.1 数据类型/长度限制 277

16.5.2 主键限制 277

16.5.3 外键限制 280

16.5.4 唯一索引限制 281

16.5.5 空值和默认值限制 281

16.5.6 check约束限制 282

16.5.7 instead of触发器限制 282

16.5.8 after触发器限制 283

16.5.9 计算列 284

16.5.10 不可更新视图导致的限制 284

16.5.11 使用with check option的视图导致的限制 285

16.5.12 安全性限制 286

16.6 总结 286

第17章 实现数据库物理架构 289

17.1 设计数据库的物理架构 290

17.1.1 设计物理架构的方法 290

17.1.2 改进数据模式 290

17.1.3 规划性能 291

17.1.4 规划可扩展性 291

17.1.5 合理的逆规范化 291

17.2 创建数据库 292

17.2.1 DDL命令Create 292

17.2.2 数据库文件的概念 294

17.2.3 配置文件增长 294

17.2.4 使用多个文件 296

17.2.5 规划多个文件组 297

17.3 创建表 299

17.3.1 使用Management Studio设计表 299

17.3.2 使用SQL脚本 300

17.3.3 架构 301

17.3.4 表名与列名 301

17.3.5 文件组 302

17.4 创建键 303

17.4.1 主键 303

17.4.2 创建外键 306

17.5 创建用户数据列 310

17.5.1 列的数据类型 310

17.5.2 计算列 312

17.5.3 列约束和默认值 313

17.5.4 数据目录 316

17.6 DDL触发器 318

17.6.1 创建和修改DDL触发器 318

17.6.2 EventData() 319

17.6.3 启用和禁用DDL触发器 320

17.7 总结 320

第18章 Transact-SQL编程 321

18.1 Transact-SQL基础 322

18.1.1 T-SQL批处理 322

18.1.2 格式化T-SQL代码 323

18.1.3 调试T-SQL 324

18.2 变量 325

18.2.1 变量的默认值和作用域 325

18.2.2 使用Set和Select命令 326

18.2.3 条件Select 326

18.2.4 在SQL查询中使用变量 327

18.2.5 多赋值变量 327

18.3 流程控制 328

18.3.1 if 328

18.3.2 While 329

18.3.3 Goto 330

18.4 使用代码获取SQL Server信息 330

18.4.1 sp_ help 330

18.4.2 全局变量 331

18.5 临时表和表变量 332

18.5.1 局部临时表 332

18.5.2 全局临时表 333

18.5.3 表变量 333

18.6 动态SQL 334

18.6.1 执行动态SQL 334

18.6.2 sp_excecuteSQL 335

18.6.3 开发动态SQL代码 335

18.7 错误处理 337

18.7.1 Try…Catch 337

18.7.2 遗留的全局变量@@Error 338

18.7.3 全局变量@@RowCount 339

18.7.4 Raiserror 339

18.7.5 Catch块 343

18.7.6 T-SQL致命错误 343

18.8 总结 344

第19章 执行大容量操作 345

19.1 大容量插入 346

19.1.1 大容量插入选项 347

19.1.2 BCP 347

19.2 总结 348

第20章 消灭游标 349

20.1 游标剖析 349

20.1.1 使用游标的5个步骤 350

20.1.2 管理游标 350

20.1.3 更新游标 351

20.1.4 游标的作用域 352

20.1.5 游标和事务 352

20.2 使用游标的策略 352

20.3 复杂逻辑的解决方案 353

20.3.1 逻辑代码 354

20.3.2 使用SQL-92游标和存储过程 355

20.3.3 使用快速只进游标和存储过程 356

20.3.4 使用快速只进游标和用户定义函数 357

20.3.5 使用更新游标和存储过程 357

20.3.6 使用更新查询和用户定义函数 358

20.3.7 使用多个查询 358

20.3.8 使用case表达式的查询 359

20.3.9 性能分析 360

20.4 逆规范化列表示例 361

20.5 总结 362

第21章 开发存储过程 363

21.1 管理存储过程 364

21.1.1 Create、Alter和Drop 364

21.1.2 返回记录集 364

21.1.3 编译存储过程 365

21.1.4 加密存储过程 365

21.1.5 系统存储过程 366

21.2 向存储过程传递数据 366

21.2.1 输入参数 366

21.2.2 参数的默认值 367

21.3 从存储过程返回数据 368

21.3.1 输出参数 368

21.3.2 使用Return命令 369

21.3.3 返回数据的途径及其适用范围 370

21.4 在查询中使用存储过程 371

21.5 执行远程存储过程 371

21.6 完整的存储过程 372

21.6.1 存储过程pGetPrice 372

21.6.2 存储过程pOrder_AddNew 374

21.6.3 存储过程pOrder_AddItem 376

21.6.4 添加订单 378

21.7 总结 379

第22章 创建用户定义函数 380

22.1 标量函数 381

22.1.1 创建标量函数 381

22.1.2 调用标量函数 383

22.1.3 创建架构绑定函数 383

22.2 内联表值函数 383

22.2.1 创建内联表值函数 384

22.2.2 调用内联表值函数 384

22.2.3 使用参数 385

22.2.4 相关用户定义函数 386

22.3 多语句表值函数 387

22.3.1 创建多语句表值函数 387

22.3.2 调用函数 388

22.4 总结 388

第23章 实现触发器 389

23.1 触发器基础知识 389

23.1.1 事务的执行流程 390

23.1.2 创建触发器 391

23.1.3 After触发器 391

23.1.4 Instead of触发器 392

23.1.5 对触发器的限制 393

23.1.6 禁用触发器 393

23.1.7 列出触发器 394

23.1.8 触发器与安全性 394

23.2 使用事务 394

23.2.1 确定被更新的列 394

23.2.2 逻辑表Inserted和Deleted 396

23.2.3 开发能够处理多行的触发器 397

23.3 多个触发器之间的交互 398

23.3.1 组织触发器 398

23.3.2 嵌套触发器 398

23.3.3 递归触发器 399

23.3.4 Instead of和After触发器 400

23.3.5 多个After触发器 400

23.4 总结 401

第24章 探讨T-SQL高级解决方案 402

24.1 验证复杂的业务规则 402

24.2 复杂的引用完整性 404

24.3 自定义的行级安全性 405

24.3.1 Security表 406

24.3.2 检查安全权限的存储过程 412

24.3.3 检查安全权限的函数 413

24.3.4 使用NT登录名 413

24.3.5 检查安全权限的触发器 415

24.4 审计数据变更 416

24.4.1 Audit表 416

24.4.2 固定审计跟踪触发器 416

24.4.3 利用审计跟踪回滚 419

24.4.4 审计并发症 420

24.4.5 动态审计跟踪触发器和过程 421

24.5 聚合事务处理 426

24.6 数据的逻辑删除 429

24.6.1 逻辑删除触发器 430

24.6.2 恢复逻辑删除的行 431

24.6.3 筛选掉逻辑删除的行 431

24.6.4 级联逻辑删除 431

24.6.5 不活跃度 432

24.7 数据归档 432

24.8 总结 433

第25章 使用数据抽象层提供可扩展性 434

25.1 Add New存储过程 435

25.2 Fetch存储过程 436

25.3 update存储过程 437

25.3.1 使用RowVersion进行更新 437

25.3.2 最小更新 439

25.4 Delete存储过程 440

25.5 总结 441

第26章 SQL Server Everywhere开发 442

26.1 SQL Server 2005 Everywhere Edition概述 443

26.1.1 发展历程 443

26.1.2 概念 443

26.2 SQL Server 2005 Everywhere Edition新增的功能 446

26.3 SQL Everywhere初步 447

26.3.1 安装SQL Everywhere 447

26.3.2 Query Analyzer 3.0 450

26.3.3 创建SQL Everywhere数据库 451

26.3.4 升级SQL CE 2.0数据库 462

26.4 同步数据 463

26.4.1 远程数据访问 463

26.4.2 合并复制 464

26.4.3 Web服务 464

26.5 打包和部署 466

26.5.1 以编程方式创建数据库 466

26.5.2 随移动应用程序部署一个初始数据库 466

26.5.3 通过合并复制动态地创建数据库 466

26.5.4 其他方法 466

26.6 安全性 467

26.6.1 密码保护 467

26.6.2 加密 467

26.6.3 确保数据同步的安全 467

26.7 优化、维护和管理 468

26.7.1 测量和改善查询的性能 468

26.7.2 SQL Everywhere数据库的维护 468

26.7.3 修复受损的SQL Everywhere数据库 470

26.7.4 确保合并复制的性能 471

26.8 其他参考资源 471

26.9 总结 472

第27章 CLR程序集编程 473

27.1 .NET Framework简介 474

27.1.1 程序集 474

27.1.2 应用程序域 476

27.2 CLR SQL Server类型概述 478

27.2.1 CLR集成.NET类型的属性 478

27.2.2 SQL Server CLR类型都有的特征 479

27.2.3 数据类型 480

27.3 支持CLR集成的.NET方法 482

27.4 T-SQL CLR DDL命令和目录视图 483

27.4.1 程序集 483

27.4.2 数据库对象 484

27.5 使用Visual Studio 2005创建数据库类型 484

27.5.1 创建CLR项目 485

27.5.2 编写CLR存储过程 488

27.5.3 CLR函数 490

27.6 使用CLR还是T-SQL 491

27.7 T-SQL不会消失 492

27.8 总结 493

第28章 使用Service Broker将数据排队 494

28.1 配置消息队列 494

28.2 使用对话 495

28.2.1 将消息发送给队列 495

28.2.2 接收消息 496

28.3 监视Service Broker 497

28.4 总结 498

第29章 持久化自定义数据类型 499

29.1 创建CLR用户定义类型 500

29.1.1 满足需求 501

29.1.2 使用Visual Studio编写CLR UDT 503

29.1.3 测试和调试UDT 508

29.1.4 性能方面的考虑 509

29.2 CLR集成UDT的部署细节 510

29.2.1 强名称程序集和GAC 510

29.2.2 创建强名称NET程序集 511

29.2.3 维护UDT 512

29.3 总结 513

第30章 ADO.NET.20编程 514

30.1 ADO.NET概述 515

30.1.1 ADO 515

30.1.2 ADO对象模型 519

30.1.3 ADO.NET 524

30.2 Visual Studio 2005中的ADO.NET 533

30.2.1 服务器资源管理器 533

30.2.2 调试ADO.NET 533

30.2.3 应用程序跟踪 534

30.3 创建应用程序 535

30.3.1 连接到SQL Server 535

30.3.2 数据适配器 536

30.3.3 数据阅读器和记录集 536

30.3.4 流 537

30.3.5 异步执行 537

30.3.6 使用单个数据库值 537

30.3.7 修改数据 538

30.3.8 绑定到控件 539

30.4 总结 539

第31章 使用XML、XPath和Xquery 540

31.1 XML数据类型 541

31.1.1 数据类型转换 541

31.1.2 XML数据类型的局限性 541

31.1.3 XML架构集合 542

31.2 XML索引 542

31.3 查询XML数据 543

31.3.1 XPATH 543

31.3.2 FLWOR查询 544

31.3.3 在SQL语句中使用XQuery 544

31.4 分解XML数据 545

31.4.1 将XML数据读取到SQL Server中 545

31.4.2 在SQL Server 2005中创建XML 547

31.5 总结 548

第32章 使用Web服务创建SOA数据存储 549

32.1 HTTP侦听 550

32.1.1 HTTP.sys 550

32.1.2 隐式端点 550

32.1.3 显式端点 551

32.2 WSDL 551

32.3 端点安全 552

32.4 总结 552

第33章 InfoPath和SQL Server 2005. 554

33.1 InfoPath 2003概述 554

33.1.1 自动验证有效性 555

33.1.2 离线填写表单 555

33.1.3 条件格式 555

33.1.4 InfoPath 2003的安全性 556

33.1.5 InfoPath对象模型 556

33.1.6 脚本和.NET代码 556

33.2 创建表单模板 557

33.3 InfoPath的其他功能 559

33.4 总结 560

第34章 配置SQL Server 563

34.1 设置选项 563

34.1.1 配置服务器 563

34.1.2 配置数据库 565

34.1.3 配置连接 567

34.2 配置选项 568

34.2.1 显示高级选项 568

34.2.2 启动/停止配置属性 569

34.2.3 内存配置属性 571

34.2.4 处理器配置属性 575

34.2.5 安全配置属性 578

34.2.6 连接配置属性 579

34.2.7 服务器配置属性 582

34.2.8 索引配置属性 583

34.2.9 配置数据库自动选项 584

34.2.10 游标配置属性 585

34.2.11 SQL ANSI配置属性 586

34.2.12 触发器配置属性 588

34.2.13 数据库状态配置属性 589

34.2.14 兼容性级别 590

34.2.15 恢复配置属性 590

34.3 总结 591

第35章 传输数据库 592

35.1 复制数据库向导 593

35.2 使用SQL脚本 595

35.3 分离和附加 597

35.4 总结 599

第36章 恢复规划 600

36.1 恢复的概念 601

36.2 恢复模型 601

36.2.1 简单恢复模型 602

36.2.2 完整恢复模型 602

36.2.3 大容量日志恢复模型 604

36.2.4 设置恢复模型 604

36.2.5 修改恢复模型 605

36.3 备份数据库 605

36.3.1 备份的目的地 605

36.3.2 备份循环 605

36.3.3 使用Management Studio执行备份 606

36.3.4 使用代码备份数据库 607

36.3.5 使用代码验证备份 608

36.4 使用事务日志 609

36.4.1 事务日志内幕 609

36.4.2 备份事务日志 610

36.4.3 截断日志 610

36.4.4 事务日志与简单恢复模型 611

36.5 恢复操作 611

36.5.1 检测问题 611

36.5.2 恢复顺序 612

36.5.3 使用Management Studio执行还原 612

36.5.4 使用T-SQL代码还原 614

36.6 恢复系统数据库 616

36.6.1 系统数据库master 617

36.6.2 系统数据库msdb 617

36.7 执行完整恢复 618

36.8 总结 618

第37章 维护数据库 619

37.1 DBCC命令 619

37.1.1 数据库完整性 620

37.1.2 索引维护 623

37.1.3 数据库文件大小 626

37.1.4 其他DBCC命令 629

37.2 管理数据库维护 630

37.2.1 规划数据库维护 630

37.2.2 维护计划向导 630

37.2.3 以命令行方式执行维护 634

37.2.4 监控数据库维护活动 634

37.3 总结 635

第38章 使用SQL Server代理自动维护数据库 636

38.1 设置SQL Server代理 636

38.2 理解警报、操作员和作业 639

38.3 管理操作员 639

38.4 管理警报 640

38.4.1 创建用户定义错误 641

38.4.2 创建警报 641

38.5 管理作业 643

38.5.1 创建作业类别 644

38.5.2 创建作业定义 645

38.5.3 设置作业步骤 646

38.5.4 配置作业计划 648

38.5.5 指定完成、成功和失败时的通知方式 649

38.6 总结 649

第9章 关系数据库建模 650

39.1 为何复制数据 650

39.1.1 容错/灾难恢复 650

39.1.2 应用程序的要求 651

39.1.3 改善性能 652

39.1.4 分发数据 652

39.2 比较各种数据分发方案 652

39.3 Microsoft复制模型 654

39.3.1 发布服务器 654

39.3.2 订阅服务器 654

39.3.3 分发服务器 655

39.3.4 中央发布服务器 655

39.3.5 中央订阅服务器 655

39.3.6 重新发布 655

39.3.7 对等复制 655

39.3.8 项目 656

39.3.9 推送订阅 656

39.3.10 请求订阅 656

39.4 复制类型 657

39.4.1 快照复制 657

39.4.2 使用立即更新的快照复制 657

39.4.3 使用排队更新的快照复制 658

39.4.4 使用立即更新和排队故障转移的快照复制 658

39.5 事务复制 658

39.5.1 快照代理 659

39.5.2 日志读取器代理 659

39.5.3 分发代理 659

39.5.4 对等复制 659

39.5.5 双向事务复制 660

39.5.6 使用立即更新的事务复制 660

39.5.7 使用排队更新的事务复制 660

39.5.8 使用立即更新和排队故障转移的事务复制 660

39.5.9 通过Internet进行事务复制 661

39.5.10 合并复制 661

39.5.11 合并复制和SQL CE/SQL Mobile订阅服务器 663

39.5.12 通过Internet进行合并复制 663

39.6 SQL 2005新增的复制功能 663

39.6.1 可重新启动的快照 663

39.6.2 Orcale发布 663

39.6.3 极其严密的安全性 663

39.6.4 对等复制模型 664

39.6.5 复制所有DDL 664

39.6.6 复制全文索引 664

39.6.7 允许匿名订阅所有发布 664

39.6.8 合并复制中的逻辑记录 664

39.6.9 预计算分区 665

39.6.10 更新唯一键 665

39.6.11 使用SQL RMO自定义冲突处理方式 665

39.6.12 各种性能改善 665

39.6.13 滞后令牌 665

39.6.14 事务并行度 665

39.6.15 仅限下载项目 666

39.6.16 复制监视器 666

39.6.17 通过HTTPS进行合并复制 667

39.6.18 改善了合并复制的性能和伸缩性 667

39.6.19 SQL RMO 667

39.6.20 简化的向导 668

39.6.21 初始化订阅服务器 668

39.7 配置复制 668

39.7.1 使用本地分发服务器 669

39.7.2 使用远程分发服务器 669

39.8 创建快照复制发布 669

39.8.1 创建事务复制发布 672

39.8.2 创建双向事务复制发布 675

39.8.3 创建Oracle发布 675

39.8.4 创建对等复制发布 676

39.8.5 创建合并复制发布 677

39.8.6 创建订阅 679

39.8.7 创建Web同步订阅 680

39.9 监视复制解决方案 683

39.9.1 代理配置文件 684

39.9.2 所有订阅 684

39.9.3 警告和代理 685

39.9.4 修改复制代理的属性 686

39.9.5 跟踪令牌 686

39.10 复制的性能 687

39.11 排除复制故障 687

39.12 总结 688

第40章 确保数据库安全 689

40.1 安全概念 690

40.1.1 服务器级安全性 690

40.1.2 数据库级安全性 691

40.1.3 对象的所有权 691

40.2 Windows安全性 692

40.2.1 Windows安全性 692

40.2.2 SQL Server登录名 692

40.3 服务器安全性 692

40.3.1 SQL Server身份验证模式 692

40.3.2 Windows身份验证 693

40.3.3 SQL Server登录名 697

40.3.4 服务器角色 698

40.4 数据库安全性 699

40.4.1 Guest登录名 699

40.4.2 授予访问数据库的权限 700

40.4.3 固定的数据库角色 701

40.4.4 安全对象权限 703

40.4.5 应用程序角色 703

40.5 对象安全性 703

40.5.1 对象权限 704

40.5.2 标准数据库角色 705

40.5.3 对象安全性和Management Studio 706

40.5.4 安全模型示例 707

40.6 C2级安全性 708

40.7 视图和安全性 709

40.8 加密 709

408.1 加密简介 709

40.8.2 SQL Server加密层次结构 710

40.8.3 使用通行短语进行加密 710

40.8.4 使用对称密钥进行加密 711

40.9 防范SQL注入攻击 713

40.9.1 附加恶意代码 713

40.9.2 使用or1=l 714

40.9.3 绕开密码保护 714

40.9.4 防范 714

40.10 总结 715

第41章 管理SQL Server Express 716

41.1 安装SQL Server Express 717

41.1.1 使用命令行参数以静默方式安装SSE 717

41.1.2 使用INI文件安装SSE 720

41.2 SQL Server Management Studio Express 721

41.3 总结 722

第42章 使用Integration Services实现ETL 725

42.1 设计环境 726

42.1.1 连接管理器 727

42.1.2 变量 728

42.1.3 配置元素 729

42.1.4 事件处理程序 732

42.1.5 在开发中执行包 732

42.2 Integration Services包的元素 733

42.2.1 连接管理器 733

42.2.2 控制流元素 736

42.2.3 数据流组件 741

42.3 易于维护和管理的包 749

42.3.1 日志记录 750

42.3.2 包配置 751

42.3.3 检查点重启 752

42.4 包的部署 752

42.4.1 包的安装 752

42.4.2 包的执行 753

42.5 总结 753

第43章 使用Analysis Services实现商业智能 754

43.1 数据仓库 754

43.1.1 星形架构 755

43.1.2 一致性 756

43.1.3 加载数据 756

43.1.4 Analysis Services快速入门 758

43.2 Analysis Services的体系结构 758

43.2.1 统一维度模型 759

43.2.2 服务器 759

43.2.3 客户端 760

43.3 建立数据库 760

43.3.1 Business Intelligence Development Studio 760

43.3.2 数据源 761

43.3.3 数据源视图 761

43.3.4 创建多维数据集 764

43.4 维度 765

43.4.1 维度设计器 765

43.4.2 修改维度中的数据 770

43.4.3 非常规维度 771

43.4.4 精炼维度 773

43.5 多维数据集 774

43.5.1 多维数据集结构 775

43.5.2 维度用法 776

43.5.3 KPI 778

43.5.4 操作 778

43.5.5 分区 778

43.5.6 透视 780

43.6 数据存储 780

43.6.1 SQL Server通知 782

43.6.2 客户端发起的通知 782

43.6.3 按计划轮询 782

43.7 数据完整性 782

43.7.1 空值处理 783

43.7.2 未知成员 784

43.7.3错误配置 784

43.8 总结 785

第44章 使用Analysis Services进行数据挖掘 786

44.1 数据挖掘过程 787

44.2 算法 793

44.2.1 决策树 793

44.2.2 线性回归 794

44.2.3 聚类分析 794

44.2.4 序列分类 796

44.2.5 神经网络 796

44.2.6 逻辑回归 796

44.2.7 Naive Bayes 797

44.2.8 关联规则 797

44.2.9 时序 797

44.3 OLAP集成 798

44.4 总结 799

第45章 MDX查询编程 800

45.1 基本选择查询 801

45.1.1 多维数据集寻址 801

45.1.2 维度的结构 802

45.1.3 基本SELECT语句 802

45.2 高级选择查询 806

45.2.1 子多维数据集 807

45.2.2 WITH子句 807

45.2.3 对维度的考虑 810

45.3 MDX脚本编程 811

45.3.1 计算成员和命名集 812

45.3.2 添加商业智能 812

45.4 总结 813

第46章 使用Reporting Services制作报表 814

46.1 报表剖析 814

46.1.1 报表定义语言(RDL) 814

46.1.2 数据源 815

46.1.3 Reporting Services数据集 816

46.1.4 查询参数和报表参数 817

46.1.5 报表的内容和布局 817

46.2 报表制作过程 818

46.2.1 在Visual Studio 2005中创建Reporting Services项目 818

46.2.2 创建报表的步骤 819

46.2.3 使用报表向导创建报表 819

46.2.4 从空白开始创建报表 819

46.3 使用数据 821

46.3.1 在报表设计器中使用SQL 822

46.3.2 使用查询参数来选择和筛选数据 822

46.3.3 在数据集中添加计算字段 825

46.3.4 使用XML数据源 825

46.3.5 使用表达式 827

46.4 设计报表布局 829

46.4.1 设计基础 829

46.4.2 使用表和矩阵的“属性”对话框 831

46.4.3 对表和矩阵中的数据进行分组和排序 832

46.4.4 使用图表展示数据 835

46.4.5 在报表中添加饼图 835

46.5 总结 836

第47章 使用Reporting Services管理报表 837

47.1 部署Reporting Services报表 837

47.1.1 使用Visual Studio 2005部署报表 838

47.1.2 使用报表管理器部署报表 839

47.1.3 使用Reporting Services Web服务以编程方式部署报表 839

47.2 使用报表服务器配置Reporting Services 840

47.2.1 配置Reporting Services站点设置 840

47.2.2 管理安全性 841

47.2.3 使用链接报表 844

47.2.4 创建链接报表 844

47.2.5 利用订阅的强大威力 844

47.2.6 创建数据驱动订阅 845

47.3 总结 848

第48章 使用Excel和Data Analyzer分析数据 849

48.1 Excel数据透视表 849

48.1.1 多维连接 850

48.1.2 关系连接 852

48.1.3 创建数据透视表 853

48.1.4 创建数据透视图 855

48.2 Excel数据区域 856

48.3 Data Analyzer 856

48.3.1 创建视图 857

48.3.2 设置视图的格式 857

48.4 总结 858

第49章 度量性能 861

49.1 度量准确性 861

49.2 使用性能监视器 862

49.2.1 系统监视器 862

49.2.2 计数器日志 864

49.3 使用SQL Server Profiler 865

49.3.1 定义新的跟踪 866

49.3.2 选择事件 866

49.3.3 筛选事件 867

49.3.4 组织列 867

49.3.5 使用Profiler跟踪 868

49.3.6 集成性能监视器的数据 868

49.4 使用SQL跟踪 869

49.5 使用Transact-SQL 870

49.5.1 使用动态管理视图 870

49.5.2 使用GetDate() 870

49.5.3 使用statistics 870

49.6 数据库性能KPI 871

49.6.1 可重复的性能测试 872

49.6.2 生产性能数据 872

49.6.3 伸缩性性能负载测试 873

49.7 总结 873

第50章 确保数据安全 874

50.1 一种索引优化的整体方法 874

50.2 索引 875

50.2.1 索引基础 875

50.2.2 创建索引 876

50.2.3 索引选项 879

50.2.4 创建基本索引 882

50.3 查询分析 882

50.3.1 查看查询执行计划 882

50.3.2 使用Showplan选项 882

50.3.3 解释查询执行计划 883

50.4 索引优化 885

50.4.1 索引缺失 885

50.4.2 书签查找 887

50.4.3 可优化的SARG 887

50.4.4 索引的选择性 887

50.5 重用查询执行计划 888

50.6 一种全面的索引策略 889

50.7 使用数据库引擎优化顾问 890

50.8 总结 891

第51章 管理事务、锁定和阻塞 892

51.1 有关事务的基本知识 892

51.2 事务完整性 894

51.2.1 ACID属性 894

51.2.2 事务缺陷 895

51.2.3 隔离级别 898

51.3 事务日志的体系结构 899

51.3.1 事务日志序列 899

51.3.2 恢复事务日志 902

51.4 理解SQL Server锁定 903

51.4.1 锁的粒度 903

51.4.2 锁模式 904

51.4.3 锁的持续时间 905

51.4.4 监控锁定和阻塞 906

51.5 控制SQL Server锁定 908

51.5.1 设置连接的隔离级别 908

51.5.2 使用数据库快照隔离 908

51.5.3 使用锁定提示 910

51.5.4 对索引级锁定的限制 911

51.5.5 控制锁超时 911

51.5.6 评估数据库的并发性能 912

51.5.7 应用程序锁 912

51.6 死锁 913

51.6.1 创建死锁 913

51.6.2 自动检测死锁 915

51.6.3 处理死锁 915

51.6.4 最大程度地减少死锁 916

51.7 应用程序锁定设计 916

51.7.1 实现乐观锁定 916

51.7.2 丢失更新 916

51.8 提高事务性能的策略 918

51.9 总结 919

第52章 提供高可用性 920

52.1 可用性测试 921

52.1.1 热备用可用性 921

52.1.2 日志传送 921

52.1.3 传送用户 924

52.1.4 返回原来的主服务器 924

52.2 故障转移服务器和群集 924

52.3 安装故障转移SQL Server 925

52.4 配置 926

52.5 数据库镜像 927

52.5.1 必备条件 927

52.5.2 配置 927

52.6 设计环境 9

52.7 总结 929

第53章 扩展超大型数据库 930

53.1 优化理论和伸缩性 931

53.1.1 向外扩展平台 931

53.1.2 向上扩展解决方案 933

53.2 分区表和分区索引 933

53.2.1 创建分区函数 934

53.2.2 创建分区方案 935

53.2.3 创建分区表 936

53.2.4 查询分区表 938

53.2.5 修改分区表 939

53.2.6 表切换 939

53.2.7 滚动分区 942

53.2.8 给分区表建立索引 942

53.2.9 撤销分区 942

53.3 使用索引视图 942

53.3.1 索引视图和查询 944

53.3.2 更新索引视图 945

53.4 总结 945

第54章 设计高性能的数据访问提供程序 946

54.1 数据访问概念 946

54.1.1 为何优秀的数据访问模式很重要 947

54.1.2 定义需求 947

54.2 数据访问对象 947

54.2.1 DAO的工作原理 948

54.2.2 DAO模式的缺点 950

54.3 工厂模式 951

54.3.1 工厂模式的优点 953

54.3.2 工厂模式的缺点 953

54.4 数据提供程序模式 954

54.4.1 数据提供程序模式的工作原理 955

54.4.2 数据提供程序模式的优点 963

54.4.3 数据提供程序模式的缺点 963

54.5 总结 964

附录A SQL Server 2005规范 965

附录B 示例数据库 969

B.1 示例数据库文件 970

B.2 CaPe Harteras Adventures第2版 971

B.2.1 应用程序需求 971

B.2.2 数据库设计 971

B.3 OBX Kites 972

B.3.1 应用程序需求 972

B.3.2 数据库设计 973

B.4 Family 973

B.4.1 应用程序需求 973

B.4.2 数据库设计 974

B.5 Aesop’S Fables 974

B.5.1 应用程序需求 974

B.5.2 数据库设计 974

返回顶部