本书从SQL Server 7编程的各个方面深入讨论,以数百个实例和大量图表详细讲解高级T-SQL编程、SQL Server 7的最新特性、多层应用编程、数据迁移及集成、各种应用程序接口等专题。读者可以直接将这些技术运用于相应场景,获得完善稳定的高性能应用。本书是SQL Server 7高级编程人员的必备工具书,也可供SQL Server系统管理人员、数据库设计人员参考。\r\n\r\n
\r\n
目 录\r\n译者序\r\n前言\r\n第一部分 高级编程技术\r\n第1章 利用工具 1\r\n1.1 Microsoft Management Console 1\r\n1.2 使用Enterprise Manager管理\r\n SQL Server 2\r\n1.2.1 工具 3\r\n1.2.2 向导 3\r\n1.2.3 任务 3\r\n1.2.4 任务簿 3\r\n1.2.5 数据库图表 4\r\n1.2.6 用Open Table维护数据 5\r\n1.2.7 SQL Server Profiler 6\r\n1.3 使用Query Analyzer查询SQL Server 6\r\n1.3.1 配置 6\r\n1.3.2 上下文相关帮助 6\r\n1.3.3 颜色编码和字体 7\r\n1.3.4 结果窗格 7\r\n1.3.5 图形SQL执行计划 8\r\n1.3.6 索引分析 8\r\n1.4 小结 9\r\n第2章 超越基本的数据操纵语言 10\r\n2.1 命名约定 10\r\n2.1.1 Microsoft自身的命名分歧 10\r\n2.1.2 命名规则 12\r\n2.2 使用子查询和在线视图 14\r\n2.2.1 T-SQL中的子查询 14\r\n2.2.2 在线视图 18\r\n2.3 外联结. 交叉联结和自联结 21\r\n2.3.1 外联结 21\r\n2.3.2 交叉联结 25\r\n2.3.3 自联结 25\r\n2.4 更高级的DELETE和UPDATE语句 27\r\n2.4.1 DELETE语句的深入研究 27\r\n2.4.2 改进的新UPDATE语句 28\r\n2.5 聚合函数 29\r\n2.5.1 AVG 29\r\n2.5.2 COUNT 30\r\n2.5.3 MAX 30\r\n2.5.4 MIN 30\r\n2.5.5 SUM 30\r\n2.5.6 STDEV 31\r\n2.5.7 STDEVP 31\r\n2.5.8 VAR 31\r\n2.5.9 VARP 31\r\n2.6 GROUP BY和HAVING短语 31\r\n2.6.1 GROUP BY 31\r\n2.6.2 HAVING 32\r\n2.7 合并 32\r\n2.8 小结 32\r\n第3章 查询优化 33\r\n3.1 深入了解索引结构 33\r\n3.1.1 非聚类索引 33\r\n3.1.2 聚类索引 34\r\n3.1.3 聚类索引和非聚类索引的比较 35\r\n3.1.4 复合索引的优缺点 41\r\n3.1.5 索引的数量 43\r\n3.1.6 使用索引检索和更新数据 44\r\n3.2 索引. 事务和数据操作 44\r\n3.3 事务和索引中的锁机制 45\r\n3.3.1 锁的分类 45\r\n3.3.2 使用索引降低锁并发性 46\r\n3.3.3 事务范围. 事务隔离等级和\r\n 锁机制 47\r\n3.4 优化查询优化程序 48\r\n3.4.1 使用索引优化程序提示 48\r\n3.4.2 使用锁定优化程序提示 49\r\n3.4.3 在查询中优化表顺序 50\r\n3.5 使用SQL Server Profiler 52\r\n3.5.1 跟踪内容 52\r\n3.5.2 使用SQL Server Profiler标识问题\r\n 查询和用户 54\r\n3.5.3 使用Index Tuning Wizard 54\r\n3.6 小结 55\r\n第4章 高级T-SQL语句 56\r\n4.1 使用CAST和CONVERT 56\r\n4.2 输出信息 57\r\n4.3 sysmessages系统表 58\r\n4.3.1 sysmessages中的错误严重等级 59\r\n4.3.2 定义用户自己的消息 59\r\n4.4 报告错误信息 61\r\n4.5 CASE表达式 62\r\n4.5.1 简单CASE表达式 62\r\n4.5.2 高级CASE表达式 64\r\n4.6 分布事务 69\r\n4.6.1 为何使用分布事务协调器 69\r\n4.6.2 使用DTC维持系统间的一致性 70\r\n4.6.3 在成对事务上使用DTC 72\r\n4.6.4 DTC过程疑难解答 77\r\n4.6.5 调试DTC过程 77\r\n4.7 小结 78\r\n第5章 有效使用内建函数 79\r\n5.1 使用算术函数进行计算 79\r\n5.1.1 ABS 80\r\n5.1.2 CEILING 81\r\n5.1.3 FLOOR 81\r\n5.1.4 POWER 82\r\n5.1.5 RAND 82\r\n5.1.6 ROUND 83\r\n5.1.7 SQUARE 84\r\n5.1.8 SQRT 84\r\n5.2 使用日期函数计算日期 84\r\n5.2.1 DATEADD函数 85\r\n5.2.2 DATEDIFF函数 86\r\n5.2.3 DATENAME函数 86\r\n5.2.4 DATEPART函数 86\r\n5.2.5 GETDATE函数 87\r\n5.2.6 DAY函数 87\r\n5.2.7 MONTH函数 87\r\n5.2.8 YEAR函数 87\r\n5.3 使用字符串函数操作字符串 87\r\n5.3.1 CHARINDEX函数 88\r\n5.3.2 DIFFERENCE函数 89\r\n5.3.3 LOWER函数 89\r\n5.3.4 LTRIM函数 89\r\n5.3.5 REVERSE函数 89\r\n5.3.6 RTRIM函数 89\r\n5.3.7 STR函数 90\r\n5.3.8 SUBSTRING函数 90\r\n5.3.9 使用字符串函数的示例 90\r\n5.4 在SQL中使用文本和图像函数 92\r\n5.5 使用SQL函数检索系统信息 93\r\n5.5.1 DATALENGTH函数 94\r\n5.5.2 ISNULL函数 95\r\n5.5.3 HOST_NAME函数 96\r\n5.5.4 SUSER _NAME函数 96\r\n5.5.5 USER函数 96\r\n5.6 小结 96\r\n第6章 使用游标 97\r\n6.1 游标声明 97\r\n6.2 游标使用规则 99\r\n6.2.1 游标规则 99\r\n6.2.2 游标范围 99\r\n6.3 打开. 关闭和移动游标 100\r\n6.3.1 OPEN和CLOSE语句 100\r\n6.3.2 FETCH语句 101\r\n6.4 高级游标使用 103\r\n6.5 使用游标修改数据 113\r\n6.5.1 游标不能自动更新和删除行 113\r\n6.5.2 使用游标做高级更新操作 114\r\n6.6 小结 116\r\n第7章 存储过程 117\r\n7.1 为何使用存储过程 117\r\n7.2 系统存储过程 117\r\n7.2.1 管理存储过程 117\r\n7.2.2 使用存储过程收集信息 118\r\n7.2.3 使用存储过程进行配置和协调 119\r\n7.2.4 使用存储过程监控系统 120\r\n7.3 扩展存储过程 120\r\n7.3.1 为消息传递使用扩展过程 121\r\n7.3.2 使用扩展过程访问操作系统 121\r\n7.4 创建用户自己的存储过程 122\r\n7.4.1 存储过程中的参数 123\r\n7.4.2 OUTPUT参数 124\r\n7.4.3 返回游标作为参数 125\r\n7.4.4 使用存储过程修改数据 125\r\n7.4.5 改变过程 125\r\n7.5 将消息集成到存储过程 126\r\n7.5.1 PRINT语句 126\r\n7.5.2 RAISERROR函数 126\r\n7.5.3 RETURN语句 127\r\n7.6 存储过程的高级应用 127\r\n7.6.1 创建第一个管理表 127\r\n7.6.2 创建档案管理表 128\r\n7.6.3 添加一个用户登录ID 128\r\n7.6.4 修改用户结束日期 133\r\n7.6.5 删除一个用户 133\r\n7.6.6 改善处理过程的建议 136\r\n7.7 小结 136\r\n第8章 高级字符串操作和按位操作 137\r\n8.1 介绍 137\r\n8.2 使用高级字符串操作拼写金额 137\r\n8.2.1 拼写单个数字 137\r\n8.2.2 拼写tens列 139\r\n8.2.3 综合 142\r\n8.2.4 使用过程拼写金额 145\r\n8.3 二进制操作 149\r\n8.3.1 SQL Server中的二进制操作 150\r\n8.3.2 使用按位操作比较值 150\r\n8.3.3 使用二进制进行EBCDIC转换 152\r\n8.4 小结 154\r\n第9章 动态执行 155\r\n9.1 什么是动态执行 155\r\n9.1.1 合法的动态执行语法 155\r\n9.1.2 在何处使用动态执行 156\r\n9.2 创建可执行串 156\r\n9.2.1 动态选择 156\r\n9.2.2 使用存储过程 158\r\n9.2.3 检索元数据 159\r\n9.2.4 动态删除 160\r\n9.2.5 动态更新 164\r\n9.3 使用游标的动态执行 167\r\n9.4 动态执行的优劣 168\r\n9.4.1 动态执行的优点 168\r\n9.4.2 动态执行的常见陷阱 171\r\n9.5 小结 172\r\n第10章 安全问题 173\r\n10.1 鉴别模式 173\r\n10.1.1 安全模式 173\r\n10.1.2 鉴别过程 174\r\n10.1.3 选择一种鉴别模式 175\r\n10.1.4 实现一种鉴别模式的步骤 175\r\n10.1.5 创建登录帐号 176\r\n10.2 给用户和角色分配登录 177\r\n10.2.1 给用户帐号分配登录 177\r\n10.2.2 给角色分配登录 178\r\n10.3 给用户和角色分配权限 181\r\n10.3.1 权限的类型 181\r\n10.3.2 授权. 拒绝和剥夺权限 181\r\n10.4 设计安全策略 183\r\n10.5 管理应用程序的安全性 183\r\n10.5.1 使用存储过程和视图的\r\n 安全管理 184\r\n10.5.2 使用应用程序角色进行客户\r\n 应用程序管理 184\r\n10.6 小结 185\r\n第11章 专用触发器 186\r\n11.1 嵌套. 递归和触发器基础 186\r\n11.1.1 inserted和deleted表 187\r\n11.1.2 update()函数 188\r\n11.1.3 嵌套触发器 190\r\n11.1.4 递归触发器 190\r\n11.1.5 触发器的T-SQL限制 191\r\n11.1.6 带触发器的系统表作用 191\r\n11.2 使用触发器加强业务规则 193\r\n11.3 触发器检查 198\r\n11.4 存储系统信息 199\r\n11.5 用触发器维护引用完整性 201\r\n11.6 级联删除触发器 205\r\n11.7 级联更新触发器 207\r\n11.8 小结 209\r\n第12章 更新表索引和统计信息 210\r\n12.1 索引性能和调整 210\r\n12.1.1 设计快速的索引 210\r\n12.1.2 分布页面和步进存储数据 211\r\n12.1.3 使用索引密度代替步进值 211\r\n12.1.4 更新分布页面 212\r\n12.2 创建实用程序进行优化表索引 212\r\n12.3 对最后的优化进行验证 213\r\n12.4 自动运行任务 214\r\n12.4.1 自动执行存储过程 215\r\n12.4.2 调度任务 215\r\n12.5 使用DBCC语句监控数据库 218\r\n12.5.1 CHECKALLOC 218\r\n12.5.2 CHECKCATALOG 219\r\n12.5.3 CHECKDB 219\r\n12.5.4 CHECKFILEGROUP 220\r\n12.5.5 CHECKIDENT 220\r\n12.5.6 CHECKTABLE 220\r\n12.5.7 DBREPAIR 221\r\n12.5.8 DBREINDEX 221\r\n12.5.9 dllname 222\r\n12.5.10 INPUTBUFFER 222\r\n12.5.11 NEWALLOC 222\r\n12.5.12 OPENTRAN 222\r\n12.5.13 OUTPUTBUFFER 222\r\n12.5.14 PINTABLE 223\r\n12.5.15 PROCACHE 223\r\n12.5.16 ROWLOCK 223\r\n12.5.17 SHOWCONTIG 223\r\n12.5.18 SHOW_STATISTICS 224\r\n12.5.19 SHRINKDATABASE 224\r\n12.5.20 SHRINKFILE 225\r\n12.5.21 SQLPERF 225\r\n12.5.22 TEXTALL和TEXTALLOC 225\r\n12.5.23 TRACEOFF 225\r\n12.5.24 TRACEON 225\r\n12.5.25 TRACESTATUS 225\r\n12.5.26 UNPINTABLE 225\r\n12.5.27 UPDATEUSAGE 226\r\n12.5.28 USEROPTIONS 226\r\n12.6 小结 226\r\n第13章 交叉制表 227\r\n13.1 交叉制表的描述 227\r\n13.1.1 交叉制表的必要考虑 227\r\n13.1.2 安全性 228\r\n13.1.3 聚合 228\r\n13.1.4 数据分组 229\r\n13.1.5 过程 229\r\n13.2 验证对象的存在 230\r\n13.2.1 验证参数 230\r\n13.2.2 验证数据类型和聚合操作 232\r\n13.3 检查列的安全性 236\r\n13.4 产生列头列表 238\r\n13.4.1 创建colnames表 239\r\n13.4.2 检查列的计数值和长度并\r\n 加入行数据 241\r\n13.5 生成交叉表报告 242\r\n13.5.1 创建和修改crosstable 242\r\n13.5.2 更新crosstable值 244\r\n13.5.3 完成任务 250\r\n13.6 小结 252\r\n第二部分 SQL Server必要信息\r\n第14章 编写高效代码 253\r\n14.1 简洁. 高效的代码是好的代码 253\r\n14.1.1 明确目标 253\r\n14.1.2 存储过程的主要逻辑构件 254\r\n14.1.3 编写存储过程的步骤 255\r\n14.1.4 数据检索的示例 256\r\n14.1.5 数据存储的示例 258\r\n14.1.6 数据存档的示例 260\r\n14.1.7 数据删除的示例 262\r\n14.1.8 记录处理的示例 264\r\n14.1.9 业务逻辑的示例 265\r\n14.1.10 优化方法 268\r\n14.1.11 怎样增加可读性 269\r\n14.2 存储过程的模块化 271\r\n14.3 小结 272\r\n第15章 使用多层客户/服务器结构 273\r\n15.1 理解客户/服务器结构 273\r\n15.1.1 客户/服务器模型 273\r\n15.1.2 客户/服务器应用 273\r\n15.1.3 客户/服务器系统 274\r\n15.2 客户/服务器计算结构的发展 274\r\n15.2.1 基于主机的系统 274\r\n15.2.2 两层客户/服务器结构 274\r\n15.2.3 对等系统 275\r\n15.2.4 三层客户/服务器 276\r\n15.3 Web浏览器. Web服务器和\r\n 客户/服务器模型 277\r\n15.3.1 两层Web结构 277\r\n15.3.2 三层Web结构 278\r\n15.4 Microsoft的三层服务模型 279\r\n15.4.1 用户服务 279\r\n15.4.2 业务服务 280\r\n15.4.3 数据服务 280\r\n15.5 使用RAD开发工具的多层应用 280\r\n15.5.1 COM和Microsoft应用服务 280\r\n15.5.2 COM和商业应用程序服务 283\r\n15.5.3 RAD和工程生命周期 283\r\n15.5.4 设计和建模 283\r\n15.5.5 开发 284\r\n15.5.6 配置 284\r\n15.6 可扩展性和SQL Server 284\r\n15.6.1 平台可扩展性 285\r\n15.6.2 增强型查询处理 285\r\n15.6.3 动态行锁 285\r\n15.6.4 高级复制 285\r\n15.6.5 移动计算支持 285\r\n15.7 小结 286\r\n第16章 复制 287\r\n16.1 编程人员的复制概念 287\r\n16.1.1 复制语言 287\r\n16.1.2 事务 288\r\n16.1.3 复制如何工作 290\r\n16.1.4 复制局限性 292\r\n16.1.5 复制商业模型 292\r\n16.2 高级复制 293\r\n16.2.1 复制和SQL-DMO 293\r\n16.2.2 存储过程 298\r\n16.2.3 合并复制 299\r\n16.2.4 拨号连接上的复制 300\r\n16.3 小结 301\r\n第三部分 数据转换和集成\r\n第17章 超越Access 303\r\n17.1 判断从Access到SQL Server的\r\n 转移需求 303\r\n17.1.1 对企业数据库的要求 304\r\n17.1.2 Access与SQL Server的特性\r\n 对比 304\r\n17.2 实现从Access到SQL Server的转移 309\r\n17.2.1 与Visual Basic. Access 以及\r\n SQL Server有关的问题 309\r\n17.2.2 使用DTS Import Wizard 311\r\n17.3 小结 314\r\n第18章 对Sybase SQL Server进行转换 315\r\n18.1 Sybase和Microsoft的发展历程 315\r\n18.2 发展趋势 315\r\n18.3 保留的相似之处 315\r\n18.3.1 系统过程 316\r\n18.3.2 Microsoft T-SQL与Sybase T-SQL\r\n 的对比 316\r\n18.4 Microsoft SQL 7和Sybase Adaptive \r\n Server的差别 316\r\n18.4.1 兼容模式 316\r\n18.4.2 事务管理模式 319\r\n18.4.3 隔离等级 319\r\n18.4.4 保留字 320\r\n18.4.5 游标语法 321\r\n18.4.6 回滚触发器 322\r\n18.4.7 优化程序暗示 324\r\n18.4.8 优化查询计划 325\r\n18.4.9 临时表名称 327\r\n18.4.10 RAISERROR语句 327\r\n18.4.11 数据类型 327\r\n18.4.12 标识列 328\r\n18.4.13 PRINT语法 328\r\n18.5 小结 328\r\n第19章 使用Visual C++ 优化ODBC 329\r\n19.1 ODBC体系结构 329\r\n19.2 数据库概要 330\r\n19.3 为何使用ODBC 330\r\n19.3.1 统一连接 331\r\n19.3.2 建立技术 331\r\n19.4 ODBC的安全问题 332\r\n19.5 连接ODBC的方法 333\r\n19.5.1 安装驱动程序 333\r\n19.5.2 使用数据源工作 334\r\n19.6 调用级接口 340\r\n19.6.1 基础 341\r\n19.6.2 连接到数据库 344\r\n19.6.3 语句:操作SQL Server数据 352\r\n19.6.4 提取数据 360\r\n19.6.5 游标 363\r\n19.6.6 端到端:调试ODBC代码 367\r\n19.6.7 使用大数据项 368\r\n19.7 使用Microsoft Foundation Classes\r\n 简化ODBC 373\r\n19.7.1 对象模型 373\r\n19.7.2 非常简单:使用记录集和\r\n Class Wizard 376\r\n第20章 从Visual Basic连接SQL Server 384\r\n20.1 为SQL Server开发高效Visual Basic\r\n 应用程序 384\r\n20.1.1 三层应用模型:选择一种实现 384\r\n20.1.2 调用级和对象接口:选择一个\r\n 接口 386\r\n20.2 使用开放式数据库连接 387\r\n20.2.1 SQL Server的开放式数据库连接\r\n 驱动程序 387\r\n20.2.2 连接ODBC数据源 389\r\n20.2.3 执行SQL语句:处理查询 390\r\n20.2.4 结果集 391\r\n20.3 数据访问对象 395\r\n20.3.1 创建和调整数据库:数据定义\r\n 语言操作 395\r\n20.3.2 使用记录集:数据操纵语言\r\n 操作 399\r\n20.4 远程数据对象 403\r\n20.4.1 RDO与DAO比较 403\r\n20.4.2 RDO层次和rdoEngine对象 404\r\n20.4.3 rdoEnvironment对象 405\r\n20.4.4 建立RDO连接 405\r\n20.4.5 游标和结果集 406\r\n20.4.6 递交查询 410\r\n20.4.7 使用ODBC扩展RDO 411\r\n20.5 小结 411\r\n第21章 通过Visual Basic使用SQL-DMO\r\n 管理SQL Server 412\r\n21.1 DMO概念 412\r\n21.1.1 它是什么, 它不是什么 412\r\n21.1.2 从Visual Basic中访问\r\n SQL-DMO对象 412\r\n21.2 实现SQL-DMO对象 413\r\n21.2.1 创建SQL-DMO对象 413\r\n21.2.2 不可创建的对象 414\r\n21.2.3 集 414\r\n21.2.4 列表对象 414\r\n21.3 使用SQL-DMO管理数据库 414\r\n21.4 使用SQL-DMO管理服务器 415\r\n21.5 探索SQL-DMO对象模型 416\r\n21.5.1 SQL-DMO对象模型 416\r\n21.5.2 Application对象 416\r\n21.5.3 SQLServer对象 420\r\n21.5.4 Database对象 422\r\n21.5.5 Table对象 424\r\n21.5.6 JobServer对象 425\r\n21.5.7 Replication对象 426\r\n21.6 SQL-DMO的一般用途 427\r\n21.6.1 用户管理示例 427\r\n21.6.2 文本文件导入/导出示例 430\r\n21.6.3 远程数据库同步示例 431\r\n21.7 构造数据库管理工具 432\r\n21.8 小结 433\r\n第22章 SQL Server数据的自动Web\r\n 发布 434\r\n22.1 Web Assistant的构件 434\r\n22.2 使用Web Assistant Wizard 434\r\n22.3 使用xp_makewebtask和\r\n sp_makewebtask 435\r\n22.4 使用sp_makewebtask和\r\n xp_makewebtask精化Web页面 436\r\n22.4.1 sp_makewebtask的必须和基本\r\n 的参数 441\r\n22.4.2 页面格式化参数 442\r\n22.4.3 链接相关的参数 443\r\n22.4.4 每页行数参数 444\r\n22.4.5 模板参数 445\r\n22.5 使用工作相关的参数自动Web发布 449\r\n22.6 小结 452\r\n第23章 SQL Server. ADO和Web 453\r\n23.1 数据访问的发展 453\r\n23.2 ADO对象模型 453\r\n23.2.1 ADO主要对象 454\r\n23.2.2 ADO辅助对象 454\r\n23.3 Connection对象 454\r\n23.3.1 事务管理 455\r\n23.3.2 事务考虑 456\r\n23.3.3 连接池 456\r\n23.3.4 执行SQL 457\r\n23.4 Command对象中使用存储过程 458\r\n23.5 Recordset对象 459\r\n23.5.1 检索整个表 460\r\n23.5.2 Recordset基础 460\r\n23.5.3 利用断连记录集 465\r\n23.6 RDS:将ADO移到浏览器 466\r\n23.7 小结 468\r\n第24章 Microsoft的COM和DCOM 469\r\n24.1 DCOM的结构 469\r\n24.1.1 DCE RPC和IDL 470\r\n24.1.2 分布对象 472\r\n24.1.3 DCOM的安全机制 476\r\n24.2 常见技术 477\r\n24.2.1 DCOM服务器 477\r\n24.2.2 配置 478\r\n24.2.3 可扩展性 483\r\n24.2.4 故障 484\r\n24.2.5 性能 484\r\n24.3 小结 484\r\n第25章 未来是Microsoft Transaction\r\n Server的时代 486\r\n25.1 在Internet上应用三层结构 486\r\n25.1.1 客户层 486\r\n25.1.2 业务逻辑层 486\r\n25.1.3 数据层 487\r\n25.2 理解MTS 487\r\n25.2.1 ObjectControl_Activate 488\r\n25.2.2 ObjectControl_Deactivate 488\r\n25.2.3 ObjectControl_CanBePooled 488\r\n25.3 编写MTS事务 489\r\n25.4 配置MTS构件 491\r\n25.5 无状态环境的重要性 492\r\n25.5.1 状态维持限制可扩展性 493\r\n25.5.2 使用Just-in-Time激活 493\r\n25.6 使用MTS最大化系统性能 496\r\n25.6.1 确定是否释放或者中止 496\r\n25.6.2 为Web farm提供无状态性 497\r\n第26章 其他开发平台与SQL服务器\r\n 的连接 498\r\n26.1 Delphi的数据库模型 498\r\n26.2 Delphi中的数据库编程 498\r\n26.2.1 使用数据库访问控件 499\r\n26.2.2 数据控件 500\r\n26.2.3 在表单中使用控件 502\r\n26.2.4 表单向导 502\r\n26.2.5 通过代码来访问数据库 503\r\n26.2.6 通过Delphi来管理数据库 503\r\n26.3 PowerBuilder和Microsoft \r\n SQL Server 503\r\n26.3.1 连接数据库 504\r\n26.3.2 ODBC和底层驱动的比较 504\r\n26.3.3 连接数据库 504\r\n26.3.4 使用PowerBuilder管理数据库 507\r\n26.3.5 PowerBuilder数据库对象 509\r\n26.4 Delphi和PowerBuilder, 该用\r\n 哪个 515\r\n第27章 将SQL与Microsoft的其他产品\r\n 集成 516\r\n27.1 将Access作为SOL Server 7的前端 516\r\n27.1.1 创建Access项目 517\r\n27.1.2 使用Access项目 518\r\n27.1.3 使用Data Access Page 520\r\n27.1.4 Microsoft SQL Server的双向\r\n 数据复制 520\r\n27.2 在SQL Server 7中使用Excel 520\r\n27.3 在Internet Information Server和Internet\r\n Explorer中使用SQL Server 521\r\n27.3.1 在服务方访问数据库 521\r\n27.3.2 使用Internet Explorer进行客户端\r\n 数据库访问 522\r\n27.4 与Microsoft Transaction Server\r\n 集成 522\r\n27.4.1 MTS事务和IIS 523\r\n27.4.2 MTS事务和SQL Server 525\r\n27.4.3 MTS事务处理和可视化编程\r\n 工具 526\r\n27.5 小结 527\r\n第28章 工作调度及使用ActiveX Server\r\n 实现业务解决方案 528\r\n28.1 使用SQL Server Agent 528\r\n28.2 实现工作 528\r\n28.3 T-SQL工作 529\r\n28.4 在VBScript中运行ActiveX Server 532\r\n28.5 综述 533\r\n28.6 小结 533\r\n第29章 业务解决方案的编程方针 534\r\n29.1 基础结构 534\r\n29.2 源代码管理 534\r\n29.3 数据库需求 534\r\n29.4 设计和开发 535\r\n29.4.1 标准化 535\r\n29.4.2 主键 535\r\n29.4.3 Null约束 536\r\n29.5 编程中优化性能 536\r\n29.5.1 减少数据传输 536\r\n29.5.2 事务中不允许用户输入 537\r\n29.5.3 防止死锁 537\r\n29.5.4 不要混淆OLTP和OLAP 538\r\n29.5.5 避免耗时较长的查询 538\r\n29.6 测试数据库应用 538\r\n29.7 修改第三方SQL Server应用 538\r\n29.8 小结 539\r\n第30章 数据仓库和在线事务处理 540\r\n30.1 SQL Server作为数据仓库 540\r\n30.2 实现数据仓库 541\r\n30.2.1 确定需求 541\r\n30.2.2 设计和构造数据库 541\r\n30.3 如何为仓库清理数据 548\r\n30.3.1 使用数据迁移服务 548\r\n30.3.2 使用bcp载入数据 549\r\n30.3.3 使用存储过程载入数据 549\r\n30.3.4 使用复制载入数据 551\r\n30.3.5 CUBE和ROLLUP操作 553\r\n30.3.6 批处理 558\r\n30.4 大型查询和性能优化 558\r\n30.4.1 查询数据 558\r\n30.4.2 视图 560\r\n30.4.3 存储过程 560\r\n30.5 仓库维护任务 561\r\n30.6 SQL Server和OLTP系统 561\r\n30.6.1 OLTP问题 561\r\n30.6.2 创建数据库 561\r\n30.6.3 索引数据库 562\r\n30.6.4 事务 563\r\n30.6.5 锁 565\r\n30.6.6 死锁 567\r\n30.7 优化SQL Server作为OLTP系统 569\r\n30.7.1 事务核对清单 569\r\n30.7.2 配置选项 570\r\n30.8 监视性能 571\r\n30.8.1 内存和过程cache 571\r\n30.8.2 输入/输出 571\r\n30.8.3 事务配置选项 571\r\n30.9 小结 571\r\n第四部分 附 录\r\n附录A Master数据库的系统表 573\r\n附录B 所有数据库的系统表 584\r\n附录C 常见错误信息 598 \r\n
\r\n