
| 微软公司 Visual Studio Team System开发经理Gert E. R.Drapers作序 微软公司SQL Server开发团队解决方案架构师Roger Wolter作序 |
| Bob Beauchemin是一名精通数据库应用的专业技术人员、架构师、讲师、课程作者、作家以及SQL-skills公司的开发者技术主管。他曾经担任很多种数据库的开发者和DBA,包括微软SQL Server、Oracle、Sybase、DB2在内的关系数据库,还有IMS/DB、IDMS等非关系数据库。在过去的两年里,他通过Ascend项目向世界各地500多个学生讲授SQL Server 2005的课程。Bob是《SQL Server 2005开发初探》的主要作者,也是《ADO.NET本质论》的作者。另外,他还针对SQL Server以及其他数据库、数据库安全、ADO.NET和OLE DB发表了很多文.. << 查看详细 |
| 第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和sqlserver 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章 .net clr语言中的过程和函数 40 3.1 扩展sql server 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 使用windowsidentity 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 在sql server安全级别内,.netframework代码可以做什么? 186 6.13.1 代码访问安全性入门 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.6 用新的bulk提供者加载数据 208 7.7 语句级重编译 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.1 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 sql和xml数据类型的映射 287 9.8.1 将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.2 xml.modify(‘delete…’) 327 10.7.3 xml.modify(‘replace value of…’) 327 10.7.4 通用结论和最佳实践 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章 作为web服务平台的 sql server 2005 383 12.1 混合使用数据库和web服务 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、ole db和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 server 2005中的查询通知 469 13.9.2 在ole db和odbc中使用查询通知 471 13.9.3 向最终用户或缓存分发通知 472 13.9.4 从数据库客户端使用查询通知 474 13.9.5 使用sqldependency 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 sql server 2005登录相关的改变 488 13.12.1 修改密码支持 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.4 阅读跟踪输出 512 14.7.5 用户数据和ado.net跟踪 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章 sql server管理对象 529 15.1 简介 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.6.7 smo状态 555 15.7 创建、修改和删除 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.5 通知服务发送特性 573 16.6 通知服务使用的术语 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 16.14.2 定制 606 小结 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 managementstudio 636 附录c visual studio 2005集成:sql server项目 654 |
商品评论(0条)