《SQL Server 2005开发者指南》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)Bob Beauchemin,(美)Dan Sullivan著;何玉洁,顾小波译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302143277
  • 页数:662 页
图书介绍:本书结合范例介绍SQL Server 2005对开发者的新特性。

第1章 引言 1

1.1 .NET Framework和Microsoft平台 1

1.2 .NET Framework对SQL Server的影响 2

1.3 SQL:1999标准:扩展关系模型 5

1.4 用户定义的类型与SQL Server 7

1.5 XML:数据和文档存储 9

1.6 Web服务:XML作为一种封送格式 14

1.7 客户访问以及客户 15

1.7.1 客户端数据库API和SQL Server 2005 15

1.7.2 客户端基于XML的API与SQL Server 2005的集成 15

1.8 扩展SQL Server到平台:Service Broker和Notification Service 16

小结 17

第2章 宿主运行时:SQL Server作为一个运行时宿主 18

2.1 为什么要关心宿主的工作原理 18

2.2 什么是.NET Framework运行时宿主 19

2.3 SQL Server作为一个运行时宿主 20

2.3.1 SQL Server的资源管理 21

2.3.2 异常情况处理 22

2.3.3 加载代码 24

2.3.4 安全性 25

2.4 加载运行时:进程和AppDomain 26

2.5 安全代码:运行时如何安全运行“外部”代码 28

2.6 代码存在何处:存储.NET Framework程序集(CREATE ASSEMBLY) 29

2.7 程序集依赖:当自己的程序集使用其他程序集时 33

2.8 程序集和SQL架构:谁拥有程序集(信息架构) 33

2.8.1 系统元数据表和INFORMATION_SCHEMA 33

2.8.2 程序集元数据 34

2.9 维护用户程序集(ALTER ASSEMBLY,DROP ASSEMBLY) 36

2.10 遵循规范 38

2.11 结论 39

小结 39

3.1 扩展SQL Server 40

第3章 .NET CLR语言中的过程和函数 40

3.2 CLR扩展基础 41

3.3 CLR扩展详解 49

3.4 System.Data.SqlTypes 50

3.4.1 关于空值的一些说明 51

3.4.2 使用SqlTypes 52

3.5 参数和返回值 62

3.6 用户定义的函数 62

3.7 表值函数 66

3.8 存储过程 71

3.9 触发器 72

小结 73

第4章 进程内数据访问 74

4.1 用SqlClient编程 74

4.2 上下文:SqlContext类 76

4.3 连接 79

4.4 命令:使事情发生 80

4.5 获得结果 83

4.6 事务 85

4.6.1 TransactionScope的另类用法 88

4.6.2 最佳实践 89

4.7 管道 90

4.8 创建并发送新的行集 92

4.9 使用Windowsldentity 93

4.10 从SQLCLR调用一个Web服务 94

4.11 异常处理 97

4.12 SqlTriggerContext 101

4.13 不能在服务器端使用的SqlClient类 102

小结 102

第5章 用户定义的类型和聚合函数 103

5.1 为什么需要用户定义的类型 103

5.2 用户定义的类型概览 104

5.3 创建用户定义的类型 105

5.3.1 空值的实现 107

5.3.2 字符串的实现 108

5.3.3 二进制的实现 111

5.3.4 IBinarySerialize.Read/Write 113

5.3.5 创建用户定义类型 114

5.3.6 公共性质、字段和方法 116

5.3.7 帮助函数 122

5.3.8 验证用户定义类型 124

5.3.9 维护用户定义类型的定义 125

5.3.10 用户定义类型和XML 126

5.3.11 对象是否应该用用户定义类型来表示 131

5.3.12 用户定义的聚合函数 143

5.3.13 实现用户定义的聚合 145

5.3.14 创建用户定义的聚合函数 148

5.3.15 Format.Native与Format.UserDefined 148

小结 150

第6章 安全性 152

6.1 SQL Server 2005中新的安全性特征 152

6.2 默认设置为关闭的可选特征 153

6.2.1 配置安全性设置 153

6.2.2 安全性和元数据 155

6.3 增强的SQL Server安全性概念简单回顾 155

6.3.1 认证和授权:用户和权限 155

6.3.2 执行上下文和拥有权链 160

6.4 SQL Server密码策略和证书 163

6.5 加密密钥和内置加密函数 165

6.6 加密函数 167

6.7 用户和架构的分离 172

6.8 同义词 175

6.9 指定过程代码的执行上下文 176

6.10 代码签名 179

6.11 SQL Server权限和SQLCLR对象 181

6.12 程序集权限:谁可以编目和使用程序集 182

6.13.1 代码访问安全性入门 186

6.13 在SQL Server安全级别内,.NET Framework代码可以做什么? 186

6.13.2 代码访问安全性和.NET Framework程序集 187

小结 190

第7章 SQL引擎增强 191

7.1 SQL引擎的改进 191

7.2 SNAPSHOT隔离 191

7.2.1 版本控制的缺点 197

7.2.2 版本控制监视 198

7.3 数据定义语言触发器 199

7.4 事件通知 203

7.5 大值数据类型 205

7.7 语句级重编译 208

7.6 用新的BULK提供者加载数据 208

7.8 查询提示、计划指南和计划强制 209

小结 213

第8章 T-SQL语言的增强 215

8.1 Transact-SQL的改进 215

8.2 错误处理 215

8.3 INTERSECT和EXCEPT 225

8.4 TOP 228

8.5 ON DELETE和ON UPDATE 230

8.6 OUTPUT 232

8.7 APPLY操作符 235

8.8 通用表表达式 237

8.9 递归查询 243

8.10 PIVOT和UNPIVOT操作符 249

8.10.1 PIVOT 249

8.10.2 UNPIVOT 253

8.11 分级和分区 254

8.11 ROW_NUMBER 255

8.11.2 RANK 256

8.11.3 DENSE_RANK 257

8.11.4 NTILE 257

8.11.5 PARTITION BY 258

8.11.6 聚合分区 259

8.12 TABLESAMPLE 261

小结 264

第9章 数据库中的XML:XML数据类型 265

9.1 XML数据类型 265

9.2 在表中使用XML数据类型 266

9.3 使用XML数据变量和参数 270

9.4 有类型和无类型的XML:分类和使用XML架构集合 271

9.4.1 SQL Server XML架构集合 272

9.4.2 有类型的XML 273

9.4.3 XML架构和架构集合的管理 275

9.4.4 XML架构集合的安全性和强类型实例 277

9.5 在XML列中创建索引 278

9.6 XML类型函数 279

9.7 SELECT...FOR XML的增强 279

9.7.1 FOR XML PATH模式 281

9.7.2 生成XML数据类型 282

9.7.3 生成一个内联XSD格式的架构 283

9.7.4 NULL数据库值 284

9.7.5 产生根元素 285

9.7.6 其他特征 286

9.8.1 将SQL类型映射到XML类型 287

9.8 SQL和XML数据类型的映射 287

9.8.2 String,Binary和Decimal类型 288

9.8.3 其他通用的数据类型 289

9.8.4 Date数据类型 289

9.8.5 基于模式的数据类型 289

9.8.6 通配符数据类型 290

9.8.7 可为空性 290

9.9 增强的OpenXML 290

9.10 从文件加载XML到数据库中 291

9.11 ANSI SQL标准兼容性 292

9.11.1 XML数据类型 293

9.11.2 将SQL目录和表映射到XML 294

9.11.3 将SQL数据类型映射为XML数据类型 295

小结 296

第10章 XML查询语言:XQuery和XPath 297

10.1 什么是XQuery 297

10.2 XQuery入门 298

10.2.1 XQuery序 301

10.2.2 XQuery体 302

10.3 比较XQuery和SQL的异同 307

10.4 在XQuery中使用XML数据类型 310

10.4.1 xml.exist(字符串XQuery文本) 310

10.4.2 xml.value(字符串xquery文本,字符串SQLType) 311

10.4.3 xml.query(字符串XQuery文本) 313

10.4.4 xml.node(字符串XQuery文本) 315

10.4.5 XQuery标准函数和操作符 318

10.4.6 SQL Server XQuery函数和操作符 319

10.5 SQL Server支持的XQuery函数 319

10.6 SQL Server支持的Xquery操作符 320

10.6.1 SQL Server XQuery扩展函数 321

10.6.2 在SQL Server XQuery中的多文档查询 323

10.7 XML DML:更新XML列 323

10.7.1 xml.modify('insert...') 324

10.7.4 通用结论和最佳实践 327

10.7.2 xml.modify('delete...') 327

10.7.3 xml.modify('replace value of...') 327

10.8 在SQL Server内使用XQuery的一些特殊考虑 328

10.8.1 XML Schema和SQL Server 2005 XQuery 328

10.8.2 在XQuery中XML索引的用法 329

小结 331

第11章 SQL Server Service Broker 332

11.1 消息处理应用程序 332

11.2 消息处理 339

11.3 业务事务 343

11.3.1 服务程序 345

11.3.2 会话 349

11.3.3 会话组 352

11.3.4 消息类型 357

11.3.5 约定 360

11.3.6 SEND语句和消息类型 362

11.3.7 循环处理 364

11.3.8 毒药消息 368

11.3.9 补偿 369

11.3.10 分布式 370

小结 382

12.1 混合使用数据库和Web服务 383

第12章 作为Web服务平台的SQL Server 2005 383

12.1.1 HTTP端点声明 384

12.1.2 CREATE ENDPOINT语句 388

12.1.3 端点URL 389

12.1.4 端点状态 390

12.1.5 端点元数据 390

12.1.6 Web方法 391

12.1.7 Web服务定义语言 395

12.1.8 XML命名空间 417

12.1.9 生成WSDL 418

12.1.10 Web服务中的存储过程 426

12.1.11 SQL批处理 432

12.1.12 其他特征 436

12.1.13 SQLXML 4.0与SQL Server 2005 437

小结 445

第13章 SQL Server 2005与客户端 447

13.1 SQL本地客户端 447

13.2 新数据类型和数据类型兼容模式 449

13.3 用户自定义类型和关系数据访问API 450

13.4 在ADO.NET中使用NET Framework UDT 450

13.5 从DataReader中获取UDT 451

13.6 在ODBC、OLEDB和ADO客户端中使用.NETFramework UDT 456

13.7 在客户端支持XML数据类型 458

13.7.1 在ADO.NET中使用XML数据类型 458

13.7.2 把XML数据当作XML或字符串返回 460

13.7.3 文档、文档片断和FORXML支持 461

13.7.4 在经典ADO中使用XML数据类型 464

13.8 在客户端支持大值数据类型 465

13.9 查询通知支持 468

13.9.1 SQL Server2005中的查询通知 469

13.9.2 在OLEDB和ODBC中使用查询通知 471

13.9.3 向最终用户或缓存分发通知 472

13.9.5 使用SqlDependency 474

13.9.4 从数据库客户端使用查询通知 474

13.9.6 使用SqlNotification Request 476

13.9.7 在ASP.NET中使用SqlCacheDependency 478

13.9.8 主动通知 479

13.9.9 什么时候不该使用通知 480

13.10 多活动结果集 480

13.10.1 在ADO.NET 2.0中使用MARS 482

13.10.2 SQL本地客户端中的MARS 485

13.11 ADO.NET中新的事务和隔离特性 485

13.11.1 使用新的隔离级别 485

13.11.2 可升级、声明性事务 486

13.12.1 修改密码支持 488

13.12 SQL Server 2005登录相关的改变 488

13.12.2 故障转移支持 489

13.12.3 加密支持 490

13.13 对比存储过程的客户端和服务器端模型 491

小结 491

第14章 ADO.NET 2.0和SqlClient 492

14.1 使用ADO.NET 2.0基类和工厂进行泛型编程 492

14.2 提供者工厂 495

14.3 指定配置信息 497

14.4 枚举数据源和构造连接字符串 498

14.5 泛型编程的其他注意事项 500

14.6 ADO.NET 2.0中的架构 501

14.6.1 不管怎样,谁需要元数据呢 502

14.6.2 可以使用哪些元数据 503

14.6.3 定制和扩展元数据 506

14.6.4 用户定制 507

14.7 跟踪数据访问 509

14.7.1 安装数据跟踪 509

14.7.2 运行跟踪 511

14.7.3 把结果收集成CSV文件 511

14.7.5 用户数据和ADO.NET跟踪 512

14.7.4 阅读跟踪输出 512

14.7.6 配置对哪些应用程序进行跟踪 514

14.7.7 使用跟踪来调试一个参数绑定问题 515

14.7.8 深入数据跟踪 516

14.7.9 什么是ETW 517

14.8 异步支持 517

14.9 SqlClient中的批量导入 521

14.10 客户端统计 523

14.11 .NET Framework 2.0 DataSet和SqlDataAdapter增强 525

小结 527

15.1 简介 529

第15章 SQL Server管理对象 529

15.1.1 为什么使用SMO 531

15.1.2 ADO.NET与SMO的对比 533

15.2 对象模型 534

15.3 SMO项目 536

15.4 连接 539

15.4.1 默认的Windows认证连接 540

15.4.2 使用Runas 541

15.4.3 自动连接 541

15.4.4 仿冒其他Windows身份 542

15.4.5 SQL Server登录 543

15.4.6 修改SQL Server登录密码 544

15.4.7 连接管理 545

15.5 Server 546

15.6 SMO对象 547

15.6.1 对象标识和URN 547

15.6.2 GetSmoObject 549

15.6.3 URN对象获取限制 550

15.6.4 SMO对象模型 551

15.6.5 SMO属性 552

15.6.6 浏览SMO父对象 554

15.7 创建、修改和删除 555

15.6.7 SMO状态 555

15.8 脚本 559

15.9 配置管理 565

小结 566

第16章 通知服务 567

16.1 什么是SQL Server通知服务 567

16.2 通知应用程序 568

16.3 SQL Server通知服务的组件 570

16.4 通知应用程序设计模式 572

16.6 通知服务使用的术语 573

16.5 通知服务发送特性 573

16.7 设计、编码以及生成通知服务应用程序 574

16.7.1 计划步骤 574

16.7.2 编码步骤 575

16.7.3 应用程序生成步骤 575

16.8 一个示例通知服务应用程序 575

16.9 实例和应用程序配置文件 576

16.9.1 实例配置文件 576

16.9.2 应用程序定义文件 580

16.9.3 NSControl 582

16.10 事件 584

16.10.1 事件类型 584

16.10.2 事件存储过程 587

16.10.3 事件提供者 589

16.10.4 编目 592

16.11 订阅者和订阅 593

16.11.1 订阅类型 594

16.11.2 订阅者 595

16.11.3 订阅 597

16.12 通知 599

16.13 格式化器和分发器 602

16.14 发送 603

16.14.1 发送协议 604

小结 606

16.14.2 定制 606

第17章 结语:面向服务的数据库应用程序 607

17.1 许多新特性:怎样使用它们 607

17.2 数据模型、编程和SQL Server 607

17.3 任一层面的任一功能 608

17.4 什么才是最佳实践 609

17.5 朝着面向服务的数据库体系结构迈进 615

17.6 数据库作为平台的一部分 617

附录A .NET Framework 101 618

附录B SQL Server Management Studio 636

附录C Visual Studio 2005集成:SQL Server项目 654