SQL Server 2000 提前把插入记录缓存准备好 (bulk insert的难题)

水金闪亮 2020-07-12 01:53:19
请大神看完后,会的帮我解决这个问题,感谢!

BULK INSERT myorder FROM 'f:/orders/orders.txt'
WITH (
FIELDTERMINATOR = '|',
ROWTERMINATOR = '|/n'
)

我用这个海量插入数据方法,插入10万条以上数据,最快的可以2至3秒搞定。

现在遇到难题,在网上找了很久都没有办法解决。希望在这个论坛里找到大神来帮帮忙。

第一次插入10万条以上数据,总是要20多秒才能完成,第一次之后插入就特别快了。但是相隔久了,没有执行过这条SQL语句的话,10万条以上数据,又要20多秒才能完成。

查了很久,知道这是SQL Server 2000 的缓存问题。那位大神有没有办法提前把缓存准备好,一直保持,那么插入数据无论什么时候都能高速进行。

请大神看完后,会的帮我解决这个问题,感谢!
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2020-07-13
  • 打赏
  • 举报
回复
sqlserver 有缓存,长期不用会清除。 你可以做个定期任务,定期往一个不需要里用 bulk insert 插入一两条数据,看看是否有改善吧。
xiaoxiangqing 2020-07-13
  • 打赏
  • 举报
回复
C# 的 SqlBulkCopy 很方便,可以考虑试一下
水金闪亮 2020-07-13
  • 打赏
  • 举报
回复
引用 3 楼 唐诗三百首 的回复:
有些问题需要补丁(甚至升级)才能解决喔.
引用 4 楼 吉普赛的歌 的回复:
建议写程序来解决吧, C# 的 SqlBulkCopy 很方便, 写个 WinForm 程序, 还有操作界面, 何乐而不为? 如果要死磕数据库, 建议还是升级比较好, 老的版本, 说实在的, 没几个愿意在上面纠缠。
我在网上找了 n 遍了,今天也在安装有 sql server 2008 的电脑测试过了。都是第一次慢的这个问题,只要我重启电脑后,第一次就会慢。应该不是版本的问题。 我估计是如果有办法预先缓存 SqlBulkCopy 的话,就能解决这个问题。
唐诗三百首 2020-07-12
  • 打赏
  • 举报
回复
检查SQL Server 2000 SP4补丁安装没? 能否考虑升级到SQL2008R2或更高版本?
吉普赛的歌 版主 2020-07-12
  • 打赏
  • 举报
回复
建议写程序来解决吧, C# 的 SqlBulkCopy 很方便, 写个 WinForm 程序, 还有操作界面, 何乐而不为? 如果要死磕数据库, 建议还是升级比较好, 老的版本, 说实在的, 没几个愿意在上面纠缠。
唐诗三百首 2020-07-12
  • 打赏
  • 举报
回复
有些问题需要补丁(甚至升级)才能解决喔.
水金闪亮 2020-07-12
  • 打赏
  • 举报
回复
引用 1 楼 唐诗三百首 的回复:
检查SQL Server 2000 SP4补丁安装没? 能否考虑升级到SQL2008R2或更高版本?
不考滤,补丁,升级。。只想解决问题。
由于文件太大,被分为3部分,当前第3部分,请下载完总共的3部分,并放在同一目录,否则无解压。 内容简介 《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,也从不同层次上体现了数据库管理员的工作内容及工作的要点和难点,能够科学地指导数据库管理员的日常工作。《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server 2008日常管理的工作。使用快速参考表、指令和列表聚焦核心的支持与维护任务。无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。 《SQL Server 2008管理员必备指南》重要主题: 规划、部署和配置SQL Server 2008 管理服务器,管理外围安全、访问及网络配置 导入、导出、转换和复制数据 使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下几个子系列 从入门到精通 适舍新手程序员的实用教程 侧重于基础技术和特征 提供范例文件 技术内幕 权威必备的参考大全 包含丰富、实用的范例代码 帮助读者熟练掌握微软技术 高级编程 侧重于高级特性、技术和解决问题 包含丰富适用性强的范倒代码 帮助读者精通微软技术 精通&宝典 着重剖析应用技巧以帮助提高工作效率 主题包括办公应用和开发工具 认证考试教材 完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 作者简介 作者:(美国)斯坦里克 (William R.Stanek) 译者:贾洪峰 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows Server 2008 InsideOut。他也是“管理员必备指南”系列丛书的编辑。 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理概况 1.1 SQL Server 2008与硬件 1.2 SQL Server 2008的版本 1.3 SQL Server和Windows 1.3.1 SQL Server的服务 1.3.2 SQL Server登录和身份验证 1.3.3 SQL Server的服务帐户 1.4 使用图形化管理工具 1.5 使用命令行工具 1.5.1 BCP 1.5.2 SQLCMD 1.5.3 其他命令行工具 1.6 使用SQL Server PowerShell 1.6.1 运行和使用cmdlet 1.6.2 运行和使用SQL Server PowerShell 1.6.3 使用SQL Server cmdlet 第2章 部署SQL Server 2008 2.1 SQL Server集成角色 2.1.1 使用SQL Server集成服务 2.1.2 使用SQL Server 2008的关系数据仓库 2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 2.1.4 使用SQL Server 2008管理报表 2.2 规划SQL Server 2008的部署 2.2.1 建立服务器的性能系统 2.2.2 配置I/O子系统 2.2.3 确保可用性和可伸缩性 2.2.4 确保连接性和数据访问 2.2.5 管理SQL Server配置和安全性 2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及网络配置 3.1 管理SQL Server的组件功能 3.2 配置SQL Server服务 3.2.1 管理服务配置 3.2.2 管理服务的状态和启动模式 3.2.3 设置启动的服务帐户 3.2.4 配置文件流 3.2.5 配置服务转储目录、错误报告和客户反馈报告 3.3 管理网络和SQL本地客户端配置 3.3.1 管理连接配置 3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名管道的本地客户端配置 3.3.9 设置TCP/IP本地客户端配置 第4章 配置和优化SQL Server 2008 4.1 访问SQL Server的配置数据 4.1.1 使用系统目录和目录视图 4.1.2 使用系统存储过程 4.2 管理SQL Server配置选项的技巧 4.2.1 设置配置选项 4.2.2 使用SET选项 4.2.3 使用服务器选项 4.2.4 使用数据库选项 4.2.5 管理数据库的兼容性 4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 管理企业 5.1 使用SQL Server Management Studio 5.1.1 开始使用SQL Server Management Studio 5.1.2 连接到特定的服务器实例 5.1.3 连接到特定数据库 5.2 管理SQL Server组 5.2.1 介绍SQL Server组 5.2.2 创建服务器组 5.2.3 删除服务器组 5.2.4 编辑和移动服务器组 5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和注册信息复制到另一台计算机 5.3.6 编辑注册属性 5.3.7 连接到服务器 5.3.8 从服务器断开连接 5.3.9 移动服务器到新的组 5.3.10 删除服务器注册 5.4 启动、停止和配置SQL Server代理 5.5 启动、停止和配置Microsoft分布式事务处理协调器 5.6 管理SQL Server启动 5.6.1 启用或防止SQL Server的自动启动 5.6.2 设置数据库引擎的启动参数 5.6.3 从命令行管理服务 5.6.4 管理SQL Server命令行的可执行文件 5.7 管理服务器活动 5.7.1 检查进程信息 5.7.2 跟踪资源等待和阻塞 5.7.3 检测修复死锁和阻塞连接 5.7.4 在SQL Server中跟踪命令的执行 5.7.5 终止服务器进程 第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或禁用C2审核登录 6.3.4 启用或禁用“符合公共标准” 6.4 调节内存的使用 6.4.1 动态配置内存 6.4.2 使用固定内存 6.4.3 启用AWE内存的支持 6.4.4 为索引优化内存 6.4.5 为查询分配内存 6.5 配置处理器和并行处理 6.5.1 优化CPU的使用 6.5.2 设置并行处理 6.6 配置线程、优先级和纤程 6.7 配置用户和远程连接 6.7.1 设置最大用户连接 6.7.2 设置默认连接选项 6.7.3 配置远程服务器连接 6.8 管理服务器设置 6.8.1 启用或禁用文件流 6.8.2 设置SQL Server的默认语言 6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩备份媒体 6.10 添加和删除活动目录的信息 6.11 修复配置故障 6.11.1 从损坏的配置中恢复 6.11.2 更改排序规则和重新生成master数据库 第7章 数据库管理的核心任务 7.1 数据库文件和日志 7.2 数据库管理基础 7.2.1 在SQL Server Management Studio中查看数据库的信息 7.2.2 使用T-SQL查看数据库信息 7.2.3 检查系统和示例数据库 7.2.4 检查数据库对象 7.3 创建数据库 7.3.1 在SQL Server Management Studio中创建数据库 7.3.2 使用T-SQL创建数据库 7.4 修改数据库及其选项 7.4.1 在SQL Server Management Studio中设置数据库选项 7.4.2 使用ALTER DATABASE修改数据库 7.4.3 配置自动选项 7.4.4 在数据库级别上控制ASNI的兼容性 7.4.5 配置参数化 7.4.6 配置游标选项 7.4.7 控制用户访问和数据库状态 7.4.8 设置联机、脱机或紧急模式 7.4.9 管理跨数据库链接和外部访问选项 7.4.10 配置恢复、日志记录和磁盘I/O错误检查选项 7.4.11 查看、更改和覆盖数据库选项 7.5 管理数据库和日志大小 7.5.1 配置SQL Server自动管理文件大小 7.5.2 手动扩展数据库和日志 7.5.3 手动压缩和收缩数据库 7.6 操作数据库 7.6.1 重命名数据库 7.6.2 清除和删除数据库 7.6.3 附加和分离数据库 7.7 提示和技巧 7.7.1 复制和移动数据库 7.7.2 移动数据库 7.7.3 移动tempdb和改变tempdb的大小 7.7.4 创建辅助数据和日志文件 7.7.5 防止事务日志错误 7.7.6 防止文件组充满的错误 7.7.7 创建新的数据库模板 7.7.8 配置数据库加密 第8章 全文搜索的管理 8.1 全文目录和索引 8.2 管理全文目录 8.2.1 查看目录属性 8.2.2 创建目录 8.2.3 启用表和视图的索引 8.2.4 编辑表和视图的索引 8.2.5 从表或视图中禁用和删除全文索引 8.2.6 填充全文目录 8.2.7 重新生成当前目录 8.2.8 清除旧的目录 8.2.9 删除目录 8.3 管理全文搜索 8.3.1 设置全文搜索的默认语言 8.3.2 使用非索引字表 8.3.3 创建非索引字表 8.3.4 管理非索引字表 8.3.5 创建和使用同义词库文件 第9章 管理SQL Server 2008的安全性 9.1 SQL Server 2008安全性概况 9.1.1 使用安全主体和安全对象 9.1.2 理解安全对象的权限 9.1.3 检查授予安全对象的权限 9.2 SQL Server 2008的身份验证模式 9.2.1 Windows身份验证 9.2.2 混合模式和SQL Server登录 9.3 特殊目的的登录和用户 9.3.1 使用管理员组 9.3.2 使用管理员用户帐户 9.3.3 使用sa登录 9.3.4 使用NETWORK SERVICE和SYSTEM登录 9.3.5 使用guest用户 9.3.6 使用dbo用户 9.3.7 使用sys和INFORMATION_SCHEMA用户 9.4 权限 9.4.1 对象权限 9.4.2 语句权限 9.4.3 隐含权限 9.5 角色 9.5.1 服务器角色 9.5.2 数据库角色 9.6 管理服务器登录 9.6.1 查看和编辑现有的登录 9.6.2 创建登录 9.6.3 用T-SQL编辑登录 9.6.4 允许或拒绝访问服务器 9.6.5 启用、禁用和解锁登录 9.6.6 删除登录 9.6.7 更改密码 9.7 配置服务器角色 9.7.1 为登录分配角色 9.7.2 为多个登录分配角色 9.7.3 撤销服务器登录的访问权限和授予的角色 9.8 控制数据库访问和管理 9.8.1 为登录分配访问权限和角色 9.8.2 为多个登录分配角色 9.8.3 创建标准的数据库角色 9.8.4 创建应用程序数据库角色 9.8.5 删除数据库用户的角色成员关系 9.8.6 删除用户定义的角色 9.8.7 管理访问和角色的Transact-SQL命令 9.9 管理数据库权限 9.9.1 为语句分配数据库权限 9.9.2 登录的对象权限 9.9.3 多个登录的对象权限 第Ⅲ部分 SQL Server 2008的数据管理 第10章 操作架构、表、索引和视图 10.1 处理架构 10.1.1 创建架构 10.1.2 修改架构 10.1.3 将对象移动到新架构 10.1.4 删除架构 10.2 表的概况 10.3 表的实质 10.3.1 了解数据页 10.3.2 了解区 10.3.3 了解表的分区 10.4 处理表 10.4.1 创建表 10.4.2 修改现有的表 10.4.3 查看表的行和大小的信息 10.4.4 显示表属性和权限 10.4.5 显示表中当前的值 10.4.6 复制表 10.4.7 重命名和删除表 10.4.8 在一个表中添加和删除列 10.4.9 编写表脚本 10.5 管理表的值 10.5.1 使用原始数据类型 10.5.2 使用固定长度、可变长度 和最大长度的字段 10.5.3 使用用户定义的数据类型 10.5.4 允许和不允许Null值 10.5.5 使用默认值 10.5.6 使用稀疏列 10.5.7 使用标识和全局唯一标识符 10.5.8 使用用户定义的表类型 10.6 使用视图 10.6.1 操作视图 10.6.2 创建视图 10.6.3 修改视图 10.6.4 使用可更新视图 10.6.5 管理视图 10.7 创建和管理索引 10.7.1 了解索引 10.7.2 使用聚集索引 10.7.3 使用非聚集索引 10.7.4 使用XML索引 10.7.5 使用筛选索引 10.7.6 确定应当索引哪些列 10.7.7 索引计算列和视图 10.7.8 查看索引属性 10.7.9 创建索引 10.7.10 管理索引 10.7.11 使用数据库引擎优化顾问 10.8 列约束和规则 10.8.1 使用约束 10.8.2 使用规则 10.9 创建已分区表和索引 10.9.1 创建分区函数 10.9.2 创建分区方案 10.9.3 创建分区 10.9.4 查看和管理分区 10.10 压缩表、索引和分区 10.10.1 使用行和页压缩 10.10.2 设置或改变压缩设置 第11章 数据的导入和导出及转换 11.1 使用集成服务 11.1.1 集成服务简介 11.1.2 集成服务工具 11.1.3 集成服务和数据提供程序 11.1.4 集成服务包 11.2 使用SQL Server导入和导出向导创建包 11.2.1 阶段1:数据源和目标的配置 11.2.2 阶段2:复制或查询 11.2.3 阶段3:格式化和转换 11.2.4 阶段4:保存和执行 11.3 了解BCP 11.3.1 BCP 基础 11.3.2 BCP 语法 11.3.3 BCP 权限和模式 11.3.4 使用BCP导入数据 11.3.5 使用BCP导出数据 11.4 BCP脚本 11.5 使用BULK INSERT 命令 第12章 链接服务器与分布式事务 12.1 使用链接服务器和分布式数据 12.1.1 使用分布式查询 12.1.2 使用分布式事务 12.1.3 运行分布式事务处理协调器服务 12.2 管理链接服务器 12.2.1 添加链接服务器 12.2.2 配置链接服务器的安全性 12.2.3 设置远程和链接服务器的服务器选项 12.2.4 删除链接服务器 第13章 实施快照、合并和事务复制 13.1 复制的概况 13.1.1 复制组件 13.1.2 复制代理和作业 13.1.3 复制的类型 13.2 复制的计划 13.2.1 复制模式 13.2.2 复制的预备任务 13.3 分发服务器的管理 13.3.1 设置新的分发服务器 13.3.2 更新分发服务器 13.3.3 创建分发数据库 13.3.4 启用和更新发布服务器 13.3.5 启用发布数据库 13.3.6 删除分发数据库 13.3.7 禁用发布和分发 13.4 创建和管理发布 13.4.1 创建发布 13.4.2 查看和更新发布 13.4.3 设置发布属性 13.4.4 设置代理安全性和进程帐户 13.4.5 控制订阅访问发布 13.4.6 为发布创建脚本 13.4.7 删除发布 13.5 订阅发布 13.5.1 订阅的实质 13.5.2 创建订阅 13.5.3 查看订阅属性 13.5.4 更新、维护和删除订阅 13.5.5 验证订阅 13.5.6 重新初始化订阅 第Ⅳ部分 SQL Server 2008的优化与维护 第14章 分析和监视SQL Server 2008 14.1 监视服务器的性能和活动 14.1.1 监视SQL Server的原因 14.1.2 为监视做准备 14.1.3 监视工具和资源 14.2 使用复制监视器 14.2.1 启动并使用复制监视器 14.2.2 添加发布服务器和发布服务器组 14.3 使用事件日志 14.3.1 检查应用程序日志 14.3.2 检查SQL Server事件日志 14.3.3 检查SQL Server代理事件日志 14.4 监视SQL Server的性能 14.4.1 选择要监视的计数器 14.4.2 创建性能日志 14.4.3 查看数据收集器报告 14.4.4 配置性能计数器警报 14.5 配置管理数据仓库 14.5.1 了解管理数据仓库 14.5.2 创建管理数据仓库 14.5.3 设置数据收集 14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原计划 15.1.1 开始备份和还原计划 15.1.2 规划镜像与镜像数据库的备份 15.1.3 规划被复制数据库的备份 15.1.4 规划大型数据库的备份 15.1.5 规划备份压缩 15.2 选择备份设备和媒体 15.3 使用备份策略 15.4 创建备份设备 15.5 执行备份 15.5.1 在SQL Server Management Studio中创建备份 15.5.2 使用多个设备的条带 备份 15.5.3 使用Transact-SQL备份 15.5.4 执行事务日志备份 15.6 还原数据库 15.6.1 数据库损坏及解决方法 15.6.2 从正常备份还原数据库 15.6.3 还原文件和文件组 15.6.4 将数据库还原到不同位置 15.6.5 还原丢失的数据 15.6.6 创建备用服务器 15.6.7 使用Transact-SQL还原命令 15.7 还原master数据库 第16章 数据库自动化和维护 16.1 数据库自动化和维护概述 16.2 使用数据库邮件 16.2.1 执行初始数据库邮件配置 16.2.2 管理数据库邮件配置文件和帐户 16.2.3 查看和更改数据库邮件系统参数 16.3 使用SQL Server代理 16.3.1 访问警报、操作员和作业 16.3.2 配置SQL Server代理服务 16.3.3 设置SQL Server代理邮件配置文件 16.3.4 使用SQL Server代理重新启动服务 16.4 管理警报 16.4.1 使用默认警报 16.4.2 创建错误消息警报 16.4.3 处理警报响应 16.4.4 删除、启用和禁用警报 16.5 管理操作员 16.5.1 注册操作员 16.5.2 删除和禁用对操作员的通知 16.5.3 配置防故障操作员 16.6 计划作业 16.6.1 创建作业 16.6.2 指定或更改作业定义 16.6.3 设置执行步骤 16.6.4 配置作业计划 16.6.5 处理作业警报 16.6.6 处理通知消息 16.6.7 管理现有作业 16.6.8 管理作业类别 16.7 自动完成服务器到服务器的 日常管理任务 16.7.1 在数据库之间复制用户、表、视图和其他对象 16.7.2 在数据库之间复制警报、操作员和计划作业 16.8 多服务器管理 16.8.1 事件转发 16.8.2 多服务器作业计划 16.9 数据库维护 16.9.1 数据库维护清单 16.9.2 使用维护计划 16.9.3 检查和维护数据库完整性 第17章 管理日志传送与数据库镜像 17.1 日志传送 17.1.1 日志传送:如何工作 17.1.2 为日志传送做准备 17.1.3 将SQL Server 2000 日志传送升级到 SQL Server 2008日志传送 17.1.4 在主数据库上启用日志传送 17.1.5 添加日志传送辅助数据库 17.1.6 改变事务日志备份的时间间隔 17.1.7 改变复制和还原的时间间隔 17.1.8 监视日志传送 17.1.9 故障转移到辅助数据库 17.1.10 禁用和删除日志传送 17.2 数据库镜像 17.2.1 数据库镜像基础知识 17.2.2 配置数据库镜像 17.2.3 管理和监视镜像 17.2.4 使用故障转移进行恢复 17.2.5 删除数据库镜像 17.3 使用镜像和日志传送 第18章 实施基于策略的管理 18.1 基于策略的管理简介 18.2 使用基于策略的管理 18.3 在整个企业内管理策略 18.3.1 导入和导出策略 18.3.2 配置中央管理服务器 18.3.3 针对多个服务器执行语句 18.3.4 配置和管理策略方面 18.3.5 创建和管理策略条件 18.3.6 创建和管理策略 18.3.7 管理策略目标和托管策略 18.3.8 评估策略 18.3.9 基于策略的管理策略疑难解答
由于文件太大,分成了3部分,当前第1部分,请下载完3个部分,并放在同一目录,否则无法解压! 内容简介 《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,也从不同层次上体现了数据库管理员的工作内容及工作的要点和难点,能够科学地指导数据库管理员的日常工作。《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server 2008日常管理的工作。使用快速参考表、指令和列表聚焦核心的支持与维护任务。无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。 《SQL Server 2008管理员必备指南》重要主题: 规划、部署和配置SQL Server 2008 管理服务器,管理外围安全、访问及网络配置 导入、导出、转换和复制数据 使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下几个子系列 从入门到精通 适舍新手程序员的实用教程 侧重于基础技术和特征 提供范例文件 技术内幕 权威必备的参考大全 包含丰富、实用的范例代码 帮助读者熟练掌握微软技术 高级编程 侧重于高级特性、技术和解决问题 包含丰富适用性强的范倒代码 帮助读者精通微软技术 精通&宝典 着重剖析应用技巧以帮助提高工作效率 主题包括办公应用和开发工具 认证考试教材 完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 作者简介 作者:(美国)斯坦里克 (William R.Stanek) 译者:贾洪峰 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows Server 2008 InsideOut。他也是“管理员必备指南”系列丛书的编辑。 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理概况 1.1 SQL Server 2008与硬件 1.2 SQL Server 2008的版本 1.3 SQL Server和Windows 1.3.1 SQL Server的服务 1.3.2 SQL Server登录和身份验证 1.3.3 SQL Server的服务帐户 1.4 使用图形化管理工具 1.5 使用命令行工具 1.5.1 BCP 1.5.2 SQLCMD 1.5.3 其他命令行工具 1.6 使用SQL Server PowerShell 1.6.1 运行和使用cmdlet 1.6.2 运行和使用SQL Server PowerShell 1.6.3 使用SQL Server cmdlet 第2章 部署SQL Server 2008 2.1 SQL Server集成角色 2.1.1 使用SQL Server集成服务 2.1.2 使用SQL Server 2008的关系数据仓库 2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 2.1.4 使用SQL Server 2008管理报表 2.2 规划SQL Server 2008的部署 2.2.1 建立服务器的性能系统 2.2.2 配置I/O子系统 2.2.3 确保可用性和可伸缩性 2.2.4 确保连接性和数据访问 2.2.5 管理SQL Server配置和安全性 2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及网络配置 3.1 管理SQL Server的组件功能 3.2 配置SQL Server服务 3.2.1 管理服务配置 3.2.2 管理服务的状态和启动模式 3.2.3 设置启动的服务帐户 3.2.4 配置文件流 3.2.5 配置服务转储目录、错误报告和客户反馈报告 3.3 管理网络和SQL本地客户端配置 3.3.1 管理连接配置 3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名管道的本地客户端配置 3.3.9 设置TCP/IP本地客户端配置 第4章 配置和优化SQL Server 2008 4.1 访问SQL Server的配置数据 4.1.1 使用系统目录和目录视图 4.1.2 使用系统存储过程 4.2 管理SQL Server配置选项的技巧 4.2.1 设置配置选项 4.2.2 使用SET选项 4.2.3 使用服务器选项 4.2.4 使用数据库选项 4.2.5 管理数据库的兼容性 4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 管理企业 5.1 使用SQL Server Management Studio 5.1.1 开始使用SQL Server Management Studio 5.1.2 连接到特定的服务器实例 5.1.3 连接到特定数据库 5.2 管理SQL Server组 5.2.1 介绍SQL Server组 5.2.2 创建服务器组 5.2.3 删除服务器组 5.2.4 编辑和移动服务器组 5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和注册信息复制到另一台计算机 5.3.6 编辑注册属性 5.3.7 连接到服务器 5.3.8 从服务器断开连接 5.3.9 移动服务器到新的组 5.3.10 删除服务器注册 5.4 启动、停止和配置SQL Server代理 5.5 启动、停止和配置Microsoft分布式事务处理协调器 5.6 管理SQL Server启动 5.6.1 启用或防止SQL Server的自动启动 5.6.2 设置数据库引擎的启动参数 5.6.3 从命令行管理服务 5.6.4 管理SQL Server命令行的可执行文件 5.7 管理服务器活动 5.7.1 检查进程信息 5.7.2 跟踪资源等待和阻塞 5.7.3 检测修复死锁和阻塞连接 5.7.4 在SQL Server中跟踪命令的执行 5.7.5 终止服务器进程 第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或禁用C2审核登录 6.3.4 启用或禁用“符合公共标准” 6.4 调节内存的使用 6.4.1 动态配置内存 6.4.2 使用固定内存 6.4.3 启用AWE内存的支持 6.4.4 为索引优化内存 6.4.5 为查询分配内存 6.5 配置处理器和并行处理 6.5.1 优化CPU的使用 6.5.2 设置并行处理 6.6 配置线程、优先级和纤程 6.7 配置用户和远程连接 6.7.1 设置最大用户连接 6.7.2 设置默认连接选项 6.7.3 配置远程服务器连接 6.8 管理服务器设置 6.8.1 启用或禁用文件流 6.8.2 设置SQL Server的默认语言 6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩备份媒体 6.10 添加和删除活动目录的信息 6.11 修复配置故障 6.11.1 从损坏的配置中恢复 6.11.2 更改排序规则和重新生成master数据库 第7章 数据库管理的核心任务 7.1 数据库文件和日志 7.2 数据库管理基础 7.2.1 在SQL Server Management Studio中查看数据库的信息 7.2.2 使用T-SQL查看数据库信息 7.2.3 检查系统和示例数据库 7.2.4 检查数据库对象 7.3 创建数据库 7.3.1 在SQL Server Management Studio中创建数据库 7.3.2 使用T-SQL创建数据库 7.4 修改数据库及其选项 7.4.1 在SQL Server Management Studio中设置数据库选项 7.4.2 使用ALTER DATABASE修改数据库 7.4.3 配置自动选项 7.4.4 在数据库级别上控制ASNI的兼容性 7.4.5 配置参数化 7.4.6 配置游标选项 7.4.7 控制用户访问和数据库状态 7.4.8 设置联机、脱机或紧急模式 7.4.9 管理跨数据库链接和外部访问选项 7.4.10 配置恢复、日志记录和磁盘I/O错误检查选项 7.4.11 查看、更改和覆盖数据库选项 7.5 管理数据库和日志大小 7.5.1 配置SQL Server自动管理文件大小 7.5.2 手动扩展数据库和日志 7.5.3 手动压缩和收缩数据库 7.6 操作数据库 7.6.1 重命名数据库 7.6.2 清除和删除数据库 7.6.3 附加和分离数据库 7.7 提示和技巧 7.7.1 复制和移动数据库 7.7.2 移动数据库 7.7.3 移动tempdb和改变tempdb的大小 7.7.4 创建辅助数据和日志文件 7.7.5 防止事务日志错误 7.7.6 防止文件组充满的错误 7.7.7 创建新的数据库模板 7.7.8 配置数据库加密 第8章 全文搜索的管理 8.1 全文目录和索引 8.2 管理全文目录 8.2.1 查看目录属性 8.2.2 创建目录 8.2.3 启用表和视图的索引 8.2.4 编辑表和视图的索引 8.2.5 从表或视图中禁用和删除全文索引 8.2.6 填充全文目录 8.2.7 重新生成当前目录 8.2.8 清除旧的目录 8.2.9 删除目录 8.3 管理全文搜索 8.3.1 设置全文搜索的默认语言 8.3.2 使用非索引字表 8.3.3 创建非索引字表 8.3.4 管理非索引字表 8.3.5 创建和使用同义词库文件 第9章 管理SQL Server 2008的安全性 9.1 SQL Server 2008安全性概况 9.1.1 使用安全主体和安全对象 9.1.2 理解安全对象的权限 9.1.3 检查授予安全对象的权限 9.2 SQL Server 2008的身份验证模式 9.2.1 Windows身份验证 9.2.2 混合模式和SQL Server登录 9.3 特殊目的的登录和用户 9.3.1 使用管理员组 9.3.2 使用管理员用户帐户 9.3.3 使用sa登录 9.3.4 使用NETWORK SERVICE和SYSTEM登录 9.3.5 使用guest用户 9.3.6 使用dbo用户 9.3.7 使用sys和INFORMATION_SCHEMA用户 9.4 权限 9.4.1 对象权限 9.4.2 语句权限 9.4.3 隐含权限 9.5 角色 9.5.1 服务器角色 9.5.2 数据库角色 9.6 管理服务器登录 9.6.1 查看和编辑现有的登录 9.6.2 创建登录 9.6.3 用T-SQL编辑登录 9.6.4 允许或拒绝访问服务器 9.6.5 启用、禁用和解锁登录 9.6.6 删除登录 9.6.7 更改密码 9.7 配置服务器角色 9.7.1 为登录分配角色 9.7.2 为多个登录分配角色 9.7.3 撤销服务器登录的访问权限和授予的角色 9.8 控制数据库访问和管理 9.8.1 为登录分配访问权限和角色 9.8.2 为多个登录分配角色 9.8.3 创建标准的数据库角色 9.8.4 创建应用程序数据库角色 9.8.5 删除数据库用户的角色成员关系 9.8.6 删除用户定义的角色 9.8.7 管理访问和角色的Transact-SQL命令 9.9 管理数据库权限 9.9.1 为语句分配数据库权限 9.9.2 登录的对象权限 9.9.3 多个登录的对象权限 第Ⅲ部分 SQL Server 2008的数据管理 第10章 操作架构、表、索引和视图 10.1 处理架构 10.1.1 创建架构 10.1.2 修改架构 10.1.3 将对象移动到新架构 10.1.4 删除架构 10.2 表的概况 10.3 表的实质 10.3.1 了解数据页 10.3.2 了解区 10.3.3 了解表的分区 10.4 处理表 10.4.1 创建表 10.4.2 修改现有的表 10.4.3 查看表的行和大小的信息 10.4.4 显示表属性和权限 10.4.5 显示表中当前的值 10.4.6 复制表 10.4.7 重命名和删除表 10.4.8 在一个表中添加和删除列 10.4.9 编写表脚本 10.5 管理表的值 10.5.1 使用原始数据类型 10.5.2 使用固定长度、可变长度 和最大长度的字段 10.5.3 使用用户定义的数据类型 10.5.4 允许和不允许Null值 10.5.5 使用默认值 10.5.6 使用稀疏列 10.5.7 使用标识和全局唯一标识符 10.5.8 使用用户定义的表类型 10.6 使用视图 10.6.1 操作视图 10.6.2 创建视图 10.6.3 修改视图 10.6.4 使用可更新视图 10.6.5 管理视图 10.7 创建和管理索引 10.7.1 了解索引 10.7.2 使用聚集索引 10.7.3 使用非聚集索引 10.7.4 使用XML索引 10.7.5 使用筛选索引 10.7.6 确定应当索引哪些列 10.7.7 索引计算列和视图 10.7.8 查看索引属性 10.7.9 创建索引 10.7.10 管理索引 10.7.11 使用数据库引擎优化顾问 10.8 列约束和规则 10.8.1 使用约束 10.8.2 使用规则 10.9 创建已分区表和索引 10.9.1 创建分区函数 10.9.2 创建分区方案 10.9.3 创建分区 10.9.4 查看和管理分区 10.10 压缩表、索引和分区 10.10.1 使用行和页压缩 10.10.2 设置或改变压缩设置 第11章 数据的导入和导出及转换 11.1 使用集成服务 11.1.1 集成服务简介 11.1.2 集成服务工具 11.1.3 集成服务和数据提供程序 11.1.4 集成服务包 11.2 使用SQL Server导入和导出向导创建包 11.2.1 阶段1:数据源和目标的配置 11.2.2 阶段2:复制或查询 11.2.3 阶段3:格式化和转换 11.2.4 阶段4:保存和执行 11.3 了解BCP 11.3.1 BCP 基础 11.3.2 BCP 语法 11.3.3 BCP 权限和模式 11.3.4 使用BCP导入数据 11.3.5 使用BCP导出数据 11.4 BCP脚本 11.5 使用BULK INSERT 命令 第12章 链接服务器与分布式事务 12.1 使用链接服务器和分布式数据 12.1.1 使用分布式查询 12.1.2 使用分布式事务 12.1.3 运行分布式事务处理协调器服务 12.2 管理链接服务器 12.2.1 添加链接服务器 12.2.2 配置链接服务器的安全性 12.2.3 设置远程和链接服务器的服务器选项 12.2.4 删除链接服务器 第13章 实施快照、合并和事务复制 13.1 复制的概况 13.1.1 复制组件 13.1.2 复制代理和作业 13.1.3 复制的类型 13.2 复制的计划 13.2.1 复制模式 13.2.2 复制的预备任务 13.3 分发服务器的管理 13.3.1 设置新的分发服务器 13.3.2 更新分发服务器 13.3.3 创建分发数据库 13.3.4 启用和更新发布服务器 13.3.5 启用发布数据库 13.3.6 删除分发数据库 13.3.7 禁用发布和分发 13.4 创建和管理发布 13.4.1 创建发布 13.4.2 查看和更新发布 13.4.3 设置发布属性 13.4.4 设置代理安全性和进程帐户 13.4.5 控制订阅访问发布 13.4.6 为发布创建脚本 13.4.7 删除发布 13.5 订阅发布 13.5.1 订阅的实质 13.5.2 创建订阅 13.5.3 查看订阅属性 13.5.4 更新、维护和删除订阅 13.5.5 验证订阅 13.5.6 重新初始化订阅 第Ⅳ部分 SQL Server 2008的优化与维护 第14章 分析和监视SQL Server 2008 14.1 监视服务器的性能和活动 14.1.1 监视SQL Server的原因 14.1.2 为监视做准备 14.1.3 监视工具和资源 14.2 使用复制监视器 14.2.1 启动并使用复制监视器 14.2.2 添加发布服务器和发布服务器组 14.3 使用事件日志 14.3.1 检查应用程序日志 14.3.2 检查SQL Server事件日志 14.3.3 检查SQL Server代理事件日志 14.4 监视SQL Server的性能 14.4.1 选择要监视的计数器 14.4.2 创建性能日志 14.4.3 查看数据收集器报告 14.4.4 配置性能计数器警报 14.5 配置管理数据仓库 14.5.1 了解管理数据仓库 14.5.2 创建管理数据仓库 14.5.3 设置数据收集 14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原计划 15.1.1 开始备份和还原计划 15.1.2 规划镜像与镜像数据库的备份 15.1.3 规划被复制数据库的备份 15.1.4 规划大型数据库的备份 15.1.5 规划备份压缩 15.2 选择备份设备和媒体 15.3 使用备份策略 15.4 创建备份设备 15.5 执行备份 15.5.1 在SQL Server Management Studio中创建备份 15.5.2 使用多个设备的条带 备份 15.5.3 使用Transact-SQL备份 15.5.4 执行事务日志备份 15.6 还原数据库 15.6.1 数据库损坏及解决方法 15.6.2 从正常备份还原数据库 15.6.3 还原文件和文件组 15.6.4 将数据库还原到不同位置 15.6.5 还原丢失的数据 15.6.6 创建备用服务器 15.6.7 使用Transact-SQL还原命令 15.7 还原master数据库 第16章 数据库自动化和维护 16.1 数据库自动化和维护概述 16.2 使用数据库邮件 16.2.1 执行初始数据库邮件配置 16.2.2 管理数据库邮件配置文件和帐户 16.2.3 查看和更改数据库邮件系统参数 16.3 使用SQL Server代理 16.3.1 访问警报、操作员和作业 16.3.2 配置SQL Server代理服务 16.3.3 设置SQL Server代理邮件配置文件 16.3.4 使用SQL Server代理重新启动服务 16.4 管理警报 16.4.1 使用默认警报 16.4.2 创建错误消息警报 16.4.3 处理警报响应 16.4.4 删除、启用和禁用警报 16.5 管理操作员 16.5.1 注册操作员 16.5.2 删除和禁用对操作员的通知 16.5.3 配置防故障操作员 16.6 计划作业 16.6.1 创建作业 16.6.2 指定或更改作业定义 16.6.3 设置执行步骤 16.6.4 配置作业计划 16.6.5 处理作业警报 16.6.6 处理通知消息 16.6.7 管理现有作业 16.6.8 管理作业类别 16.7 自动完成服务器到服务器的 日常管理任务 16.7.1 在数据库之间复制用户、表、视图和其他对象 16.7.2 在数据库之间复制警报、操作员和计划作业 16.8 多服务器管理 16.8.1 事件转发 16.8.2 多服务器作业计划 16.9 数据库维护 16.9.1 数据库维护清单 16.9.2 使用维护计划 16.9.3 检查和维护数据库完整性 第17章 管理日志传送与数据库镜像 17.1 日志传送 17.1.1 日志传送:如何工作 17.1.2 为日志传送做准备 17.1.3 将SQL Server 2000 日志传送升级到 SQL Server 2008日志传送 17.1.4 在主数据库上启用日志传送 17.1.5 添加日志传送辅助数据库 17.1.6 改变事务日志备份的时间间隔 17.1.7 改变复制和还原的时间间隔 17.1.8 监视日志传送 17.1.9 故障转移到辅助数据库 17.1.10 禁用和删除日志传送 17.2 数据库镜像 17.2.1 数据库镜像基础知识 17.2.2 配置数据库镜像 17.2.3 管理和监视镜像 17.2.4 使用故障转移进行恢复 17.2.5 删除数据库镜像 17.3 使用镜像和日志传送 第18章 实施基于策略的管理 18.1 基于策略的管理简介 18.2 使用基于策略的管理 18.3 在整个企业内管理策略 18.3.1 导入和导出策略 18.3.2 配置中央管理服务器 18.3.3 针对多个服务器执行语句 18.3.4 配置和管理策略方面 18.3.5 创建和管理策略条件 18.3.6 创建和管理策略 18.3.7 管理策略目标和托管策略 18.3.8 评估策略 18.3.9 基于策略的管理策略疑难解答
由于文件太大,被分成3部分,当前第2部分,请下载完三部分,并放在同一目录,否则无法解压。 内容简介 《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,也从不同层次上体现了数据库管理员的工作内容及工作的要点和难点,能够科学地指导数据库管理员的日常工作。《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server 2008日常管理的工作。使用快速参考表、指令和列表聚焦核心的支持与维护任务。无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。 《SQL Server 2008管理员必备指南》重要主题: 规划、部署和配置SQL Server 2008 管理服务器,管理外围安全、访问及网络配置 导入、导出、转换和复制数据 使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下几个子系列 从入门到精通 适舍新手程序员的实用教程 侧重于基础技术和特征 提供范例文件 技术内幕 权威必备的参考大全 包含丰富、实用的范例代码 帮助读者熟练掌握微软技术 高级编程 侧重于高级特性、技术和解决问题 包含丰富适用性强的范倒代码 帮助读者精通微软技术 精通&宝典 着重剖析应用技巧以帮助提高工作效率 主题包括办公应用和开发工具 认证考试教材 完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 作者简介 作者:(美国)斯坦里克 (William R.Stanek) 译者:贾洪峰 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows Server 2008 InsideOut。他也是“管理员必备指南”系列丛书的编辑。 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理概况 1.1 SQL Server 2008与硬件 1.2 SQL Server 2008的版本 1.3 SQL Server和Windows 1.3.1 SQL Server的服务 1.3.2 SQL Server登录和身份验证 1.3.3 SQL Server的服务帐户 1.4 使用图形化管理工具 1.5 使用命令行工具 1.5.1 BCP 1.5.2 SQLCMD 1.5.3 其他命令行工具 1.6 使用SQL Server PowerShell 1.6.1 运行和使用cmdlet 1.6.2 运行和使用SQL Server PowerShell 1.6.3 使用SQL Server cmdlet 第2章 部署SQL Server 2008 2.1 SQL Server集成角色 2.1.1 使用SQL Server集成服务 2.1.2 使用SQL Server 2008的关系数据仓库 2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 2.1.4 使用SQL Server 2008管理报表 2.2 规划SQL Server 2008的部署 2.2.1 建立服务器的性能系统 2.2.2 配置I/O子系统 2.2.3 确保可用性和可伸缩性 2.2.4 确保连接性和数据访问 2.2.5 管理SQL Server配置和安全性 2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及网络配置 3.1 管理SQL Server的组件功能 3.2 配置SQL Server服务 3.2.1 管理服务配置 3.2.2 管理服务的状态和启动模式 3.2.3 设置启动的服务帐户 3.2.4 配置文件流 3.2.5 配置服务转储目录、错误报告和客户反馈报告 3.3 管理网络和SQL本地客户端配置 3.3.1 管理连接配置 3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名管道的本地客户端配置 3.3.9 设置TCP/IP本地客户端配置 第4章 配置和优化SQL Server 2008 4.1 访问SQL Server的配置数据 4.1.1 使用系统目录和目录视图 4.1.2 使用系统存储过程 4.2 管理SQL Server配置选项的技巧 4.2.1 设置配置选项 4.2.2 使用SET选项 4.2.3 使用服务器选项 4.2.4 使用数据库选项 4.2.5 管理数据库的兼容性 4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 管理企业 5.1 使用SQL Server Management Studio 5.1.1 开始使用SQL Server Management Studio 5.1.2 连接到特定的服务器实例 5.1.3 连接到特定数据库 5.2 管理SQL Server组 5.2.1 介绍SQL Server组 5.2.2 创建服务器组 5.2.3 删除服务器组 5.2.4 编辑和移动服务器组 5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和注册信息复制到另一台计算机 5.3.6 编辑注册属性 5.3.7 连接到服务器 5.3.8 从服务器断开连接 5.3.9 移动服务器到新的组 5.3.10 删除服务器注册 5.4 启动、停止和配置SQL Server代理 5.5 启动、停止和配置Microsoft分布式事务处理协调器 5.6 管理SQL Server启动 5.6.1 启用或防止SQL Server的自动启动 5.6.2 设置数据库引擎的启动参数 5.6.3 从命令行管理服务 5.6.4 管理SQL Server命令行的可执行文件 5.7 管理服务器活动 5.7.1 检查进程信息 5.7.2 跟踪资源等待和阻塞 5.7.3 检测修复死锁和阻塞连接 5.7.4 在SQL Server中跟踪命令的执行 5.7.5 终止服务器进程 第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或禁用C2审核登录 6.3.4 启用或禁用“符合公共标准” 6.4 调节内存的使用 6.4.1 动态配置内存 6.4.2 使用固定内存 6.4.3 启用AWE内存的支持 6.4.4 为索引优化内存 6.4.5 为查询分配内存 6.5 配置处理器和并行处理 6.5.1 优化CPU的使用 6.5.2 设置并行处理 6.6 配置线程、优先级和纤程 6.7 配置用户和远程连接 6.7.1 设置最大用户连接 6.7.2 设置默认连接选项 6.7.3 配置远程服务器连接 6.8 管理服务器设置 6.8.1 启用或禁用文件流 6.8.2 设置SQL Server的默认语言 6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩备份媒体 6.10 添加和删除活动目录的信息 6.11 修复配置故障 6.11.1 从损坏的配置中恢复 6.11.2 更改排序规则和重新生成master数据库 第7章 数据库管理的核心任务 7.1 数据库文件和日志 7.2 数据库管理基础 7.2.1 在SQL Server Management Studio中查看数据库的信息 7.2.2 使用T-SQL查看数据库信息 7.2.3 检查系统和示例数据库 7.2.4 检查数据库对象 7.3 创建数据库 7.3.1 在SQL Server Management Studio中创建数据库 7.3.2 使用T-SQL创建数据库 7.4 修改数据库及其选项 7.4.1 在SQL Server Management Studio中设置数据库选项 7.4.2 使用ALTER DATABASE修改数据库 7.4.3 配置自动选项 7.4.4 在数据库级别上控制ASNI的兼容性 7.4.5 配置参数化 7.4.6 配置游标选项 7.4.7 控制用户访问和数据库状态 7.4.8 设置联机、脱机或紧急模式 7.4.9 管理跨数据库链接和外部访问选项 7.4.10 配置恢复、日志记录和磁盘I/O错误检查选项 7.4.11 查看、更改和覆盖数据库选项 7.5 管理数据库和日志大小 7.5.1 配置SQL Server自动管理文件大小 7.5.2 手动扩展数据库和日志 7.5.3 手动压缩和收缩数据库 7.6 操作数据库 7.6.1 重命名数据库 7.6.2 清除和删除数据库 7.6.3 附加和分离数据库 7.7 提示和技巧 7.7.1 复制和移动数据库 7.7.2 移动数据库 7.7.3 移动tempdb和改变tempdb的大小 7.7.4 创建辅助数据和日志文件 7.7.5 防止事务日志错误 7.7.6 防止文件组充满的错误 7.7.7 创建新的数据库模板 7.7.8 配置数据库加密 第8章 全文搜索的管理 8.1 全文目录和索引 8.2 管理全文目录 8.2.1 查看目录属性 8.2.2 创建目录 8.2.3 启用表和视图的索引 8.2.4 编辑表和视图的索引 8.2.5 从表或视图中禁用和删除全文索引 8.2.6 填充全文目录 8.2.7 重新生成当前目录 8.2.8 清除旧的目录 8.2.9 删除目录 8.3 管理全文搜索 8.3.1 设置全文搜索的默认语言 8.3.2 使用非索引字表 8.3.3 创建非索引字表 8.3.4 管理非索引字表 8.3.5 创建和使用同义词库文件 第9章 管理SQL Server 2008的安全性 9.1 SQL Server 2008安全性概况 9.1.1 使用安全主体和安全对象 9.1.2 理解安全对象的权限 9.1.3 检查授予安全对象的权限 9.2 SQL Server 2008的身份验证模式 9.2.1 Windows身份验证 9.2.2 混合模式和SQL Server登录 9.3 特殊目的的登录和用户 9.3.1 使用管理员组 9.3.2 使用管理员用户帐户 9.3.3 使用sa登录 9.3.4 使用NETWORK SERVICE和SYSTEM登录 9.3.5 使用guest用户 9.3.6 使用dbo用户 9.3.7 使用sys和INFORMATION_SCHEMA用户 9.4 权限 9.4.1 对象权限 9.4.2 语句权限 9.4.3 隐含权限 9.5 角色 9.5.1 服务器角色 9.5.2 数据库角色 9.6 管理服务器登录 9.6.1 查看和编辑现有的登录 9.6.2 创建登录 9.6.3 用T-SQL编辑登录 9.6.4 允许或拒绝访问服务器 9.6.5 启用、禁用和解锁登录 9.6.6 删除登录 9.6.7 更改密码 9.7 配置服务器角色 9.7.1 为登录分配角色 9.7.2 为多个登录分配角色 9.7.3 撤销服务器登录的访问权限和授予的角色 9.8 控制数据库访问和管理 9.8.1 为登录分配访问权限和角色 9.8.2 为多个登录分配角色 9.8.3 创建标准的数据库角色 9.8.4 创建应用程序数据库角色 9.8.5 删除数据库用户的角色成员关系 9.8.6 删除用户定义的角色 9.8.7 管理访问和角色的Transact-SQL命令 9.9 管理数据库权限 9.9.1 为语句分配数据库权限 9.9.2 登录的对象权限 9.9.3 多个登录的对象权限 第Ⅲ部分 SQL Server 2008的数据管理 第10章 操作架构、表、索引和视图 10.1 处理架构 10.1.1 创建架构 10.1.2 修改架构 10.1.3 将对象移动到新架构 10.1.4 删除架构 10.2 表的概况 10.3 表的实质 10.3.1 了解数据页 10.3.2 了解区 10.3.3 了解表的分区 10.4 处理表 10.4.1 创建表 10.4.2 修改现有的表 10.4.3 查看表的行和大小的信息 10.4.4 显示表属性和权限 10.4.5 显示表中当前的值 10.4.6 复制表 10.4.7 重命名和删除表 10.4.8 在一个表中添加和删除列 10.4.9 编写表脚本 10.5 管理表的值 10.5.1 使用原始数据类型 10.5.2 使用固定长度、可变长度 和最大长度的字段 10.5.3 使用用户定义的数据类型 10.5.4 允许和不允许Null值 10.5.5 使用默认值 10.5.6 使用稀疏列 10.5.7 使用标识和全局唯一标识符 10.5.8 使用用户定义的表类型 10.6 使用视图 10.6.1 操作视图 10.6.2 创建视图 10.6.3 修改视图 10.6.4 使用可更新视图 10.6.5 管理视图 10.7 创建和管理索引 10.7.1 了解索引 10.7.2 使用聚集索引 10.7.3 使用非聚集索引 10.7.4 使用XML索引 10.7.5 使用筛选索引 10.7.6 确定应当索引哪些列 10.7.7 索引计算列和视图 10.7.8 查看索引属性 10.7.9 创建索引 10.7.10 管理索引 10.7.11 使用数据库引擎优化顾问 10.8 列约束和规则 10.8.1 使用约束 10.8.2 使用规则 10.9 创建已分区表和索引 10.9.1 创建分区函数 10.9.2 创建分区方案 10.9.3 创建分区 10.9.4 查看和管理分区 10.10 压缩表、索引和分区 10.10.1 使用行和页压缩 10.10.2 设置或改变压缩设置 第11章 数据的导入和导出及转换 11.1 使用集成服务 11.1.1 集成服务简介 11.1.2 集成服务工具 11.1.3 集成服务和数据提供程序 11.1.4 集成服务包 11.2 使用SQL Server导入和导出向导创建包 11.2.1 阶段1:数据源和目标的配置 11.2.2 阶段2:复制或查询 11.2.3 阶段3:格式化和转换 11.2.4 阶段4:保存和执行 11.3 了解BCP 11.3.1 BCP 基础 11.3.2 BCP 语法 11.3.3 BCP 权限和模式 11.3.4 使用BCP导入数据 11.3.5 使用BCP导出数据 11.4 BCP脚本 11.5 使用BULK INSERT 命令 第12章 链接服务器与分布式事务 12.1 使用链接服务器和分布式数据 12.1.1 使用分布式查询 12.1.2 使用分布式事务 12.1.3 运行分布式事务处理协调器服务 12.2 管理链接服务器 12.2.1 添加链接服务器 12.2.2 配置链接服务器的安全性 12.2.3 设置远程和链接服务器的服务器选项 12.2.4 删除链接服务器 第13章 实施快照、合并和事务复制 13.1 复制的概况 13.1.1 复制组件 13.1.2 复制代理和作业 13.1.3 复制的类型 13.2 复制的计划 13.2.1 复制模式 13.2.2 复制的预备任务 13.3 分发服务器的管理 13.3.1 设置新的分发服务器 13.3.2 更新分发服务器 13.3.3 创建分发数据库 13.3.4 启用和更新发布服务器 13.3.5 启用发布数据库 13.3.6 删除分发数据库 13.3.7 禁用发布和分发 13.4 创建和管理发布 13.4.1 创建发布 13.4.2 查看和更新发布 13.4.3 设置发布属性 13.4.4 设置代理安全性和进程帐户 13.4.5 控制订阅访问发布 13.4.6 为发布创建脚本 13.4.7 删除发布 13.5 订阅发布 13.5.1 订阅的实质 13.5.2 创建订阅 13.5.3 查看订阅属性 13.5.4 更新、维护和删除订阅 13.5.5 验证订阅 13.5.6 重新初始化订阅 第Ⅳ部分 SQL Server 2008的优化与维护 第14章 分析和监视SQL Server 2008 14.1 监视服务器的性能和活动 14.1.1 监视SQL Server的原因 14.1.2 为监视做准备 14.1.3 监视工具和资源 14.2 使用复制监视器 14.2.1 启动并使用复制监视器 14.2.2 添加发布服务器和发布服务器组 14.3 使用事件日志 14.3.1 检查应用程序日志 14.3.2 检查SQL Server事件日志 14.3.3 检查SQL Server代理事件日志 14.4 监视SQL Server的性能 14.4.1 选择要监视的计数器 14.4.2 创建性能日志 14.4.3 查看数据收集器报告 14.4.4 配置性能计数器警报 14.5 配置管理数据仓库 14.5.1 了解管理数据仓库 14.5.2 创建管理数据仓库 14.5.3 设置数据收集 14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原计划 15.1.1 开始备份和还原计划 15.1.2 规划镜像与镜像数据库的备份 15.1.3 规划被复制数据库的备份 15.1.4 规划大型数据库的备份 15.1.5 规划备份压缩 15.2 选择备份设备和媒体 15.3 使用备份策略 15.4 创建备份设备 15.5 执行备份 15.5.1 在SQL Server Management Studio中创建备份 15.5.2 使用多个设备的条带 备份 15.5.3 使用Transact-SQL备份 15.5.4 执行事务日志备份 15.6 还原数据库 15.6.1 数据库损坏及解决方法 15.6.2 从正常备份还原数据库 15.6.3 还原文件和文件组 15.6.4 将数据库还原到不同位置 15.6.5 还原丢失的数据 15.6.6 创建备用服务器 15.6.7 使用Transact-SQL还原命令 15.7 还原master数据库 第16章 数据库自动化和维护 16.1 数据库自动化和维护概述 16.2 使用数据库邮件 16.2.1 执行初始数据库邮件配置 16.2.2 管理数据库邮件配置文件和帐户 16.2.3 查看和更改数据库邮件系统参数 16.3 使用SQL Server代理 16.3.1 访问警报、操作员和作业 16.3.2 配置SQL Server代理服务 16.3.3 设置SQL Server代理邮件配置文件 16.3.4 使用SQL Server代理重新启动服务 16.4 管理警报 16.4.1 使用默认警报 16.4.2 创建错误消息警报 16.4.3 处理警报响应 16.4.4 删除、启用和禁用警报 16.5 管理操作员 16.5.1 注册操作员 16.5.2 删除和禁用对操作员的通知 16.5.3 配置防故障操作员 16.6 计划作业 16.6.1 创建作业 16.6.2 指定或更改作业定义 16.6.3 设置执行步骤 16.6.4 配置作业计划 16.6.5 处理作业警报 16.6.6 处理通知消息 16.6.7 管理现有作业 16.6.8 管理作业类别 16.7 自动完成服务器到服务器的 日常管理任务 16.7.1 在数据库之间复制用户、表、视图和其他对象 16.7.2 在数据库之间复制警报、操作员和计划作业 16.8 多服务器管理 16.8.1 事件转发 16.8.2 多服务器作业计划 16.9 数据库维护 16.9.1 数据库维护清单 16.9.2 使用维护计划 16.9.3 检查和维护数据库完整性 第17章 管理日志传送与数据库镜像 17.1 日志传送 17.1.1 日志传送:如何工作 17.1.2 为日志传送做准备 17.1.3 将SQL Server 2000 日志传送升级到 SQL Server 2008日志传送 17.1.4 在主数据库上启用日志传送 17.1.5 添加日志传送辅助数据库 17.1.6 改变事务日志备份的时间间隔 17.1.7 改变复制和还原的时间间隔 17.1.8 监视日志传送 17.1.9 故障转移到辅助数据库 17.1.10 禁用和删除日志传送 17.2 数据库镜像 17.2.1 数据库镜像基础知识 17.2.2 配置数据库镜像 17.2.3 管理和监视镜像 17.2.4 使用故障转移进行恢复 17.2.5 删除数据库镜像 17.3 使用镜像和日志传送 第18章 实施基于策略的管理 18.1 基于策略的管理简介 18.2 使用基于策略的管理 18.3 在整个企业内管理策略 18.3.1 导入和导出策略 18.3.2 配置中央管理服务器 18.3.3 针对多个服务器执行语句 18.3.4 配置和管理策略方面 18.3.5 创建和管理策略条件 18.3.6 创建和管理策略 18.3.7 管理策略目标和托管策略 18.3.8 评估策略 18.3.9 基于策略的管理策略疑难解答
注:分二卷,点击上传者查看第二卷地址。亲,本人纯手工添加了书签哦!!方便阅读 《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决方案。   作为一本讲述T-SQL高级查询的专业图书,《Microsoft SQL Server 2008技术内幕:T-SQL查询》旨在结合实践中的各种常见问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。《Microsoft SQL Server 2008技术内幕:T-SQL查询》内容丰富、文字简洁明快,列举的实例具有一定的难度,而且实用性很强,可以把它们作为解决实际问题的标准模式。阅读《Microsoft SQL Server 2008技术内幕:T-SQL查询》,可以充分地理解T-SQL语言和良好的编程实践,学会如何编写更加有效而强大的查询语句。 序言 I 致谢III 前言 V 第1章 逻辑查询处理 1.1 逻辑查询处理的各个阶段 1.1.1 逻辑查询处理阶段简介 1.2 客户/订单场景下的查询示例 1.3 逻辑查询处理阶段详解 1.3.1 步骤1:FROM阶段 1.3.2 步骤2:WHERE阶段 1.3.3 步骤3:GROUP BY阶段 1.3.4 步骤4:HAVING阶段 1.3.5 步骤5:SELECT阶段 1.3.6 步骤6:排序用的ORDER BY阶段 1.4 逻辑查询处理的深入内容 1.4.1 表运算符 1.4.2 OVER子句 1.4.3 集合运算符 1.5 总结 第2章 集合论和谓词逻辑 2.1 自然语言表述到数学表示的转换 2.1.1 严格定义(well-Definedness) 2.1.2 相等、恒等和同一性 2.1.3 数学命名约定 2.1.4 数字 2.1.5 上下文 2.1.6 函数、参数和变量 2.1.7 指令和算法 2.2 集合论 2.2.1 集合的标记方法 2.2.2 集合的严格定义 2.2.3 论域 2.2.4 真实性 2.2.5 罗素悖论(Russell s Paradox) 2.2.6 有序对、元组和笛卡尔积 2.2.7 空集 2.2.8 集合的特征函数 2.2.9 集合的基数(Cardinality) 2.2.10 顺序 2.2.11 集合运算符 2.2.12 集合论的推广 2.3 谓词逻辑 2.3.1 编程语言中的逻辑功能 2.3.2 命题和谓词 2.3.3 排中律 2.3.4 与、或、非运算 2.3.5 逻辑等价 2.3.6 逻辑蕴含 2.3.7 量化(Quantification) 2.3.8 替代和推广 2.4 关系 2.4.1 自反性、对称性和传递性 2.5 一个实际的应用 2.6 总结 第3章 关系模型 3.1 关系模型简介 3.1.1 关系、元组和类型 3.1.2 关系模型:快速摘要 3.2 关系代数和关系计算 3.2.1 基本运算符 3.2.2 关系代数 3.2.3 Codd提出的8个原始关系运算符 3.2.4 关系演算 T-SQL支持 3.3 数据完整性 3.3.1 声明式约束 3.3.2 实施完整性的其他方法 3.4 数据库正规化和其他设计主题 3.4.1 解决函数依赖的范式 3.4.2 更高级的范式 3.4.3 反规范化(Denormalization) 3.4.4 一般化和特殊化 3.5 总结 第4章 查询优化 4.1 本章用到的样本数据 4.2 优化方法论 4.2.1 分析实例级别的等待 4.2.2 关联等待和队列 4.2.3 确定行动方案 4.2.4 细化到数据库/文件级别 4.2.5 细化到进程级别 4.2.6 优化索引和查询 4.3 查询优化的工具  4.3.1 查询执行计划的缓存  4.3.2 清空缓存 4.3.3 动态管理对象 4.3.4 STATISTICS 4.3.5 测量查询的运行时间 4.3.6 分析执行计划 4.3.7 图形化的执行计划 4.3.8 提示(Hint) 4.3.9 跟踪/Profiler 4.3.10 数据库引擎优化顾问 4.3.11 数据收集和管理数据仓库 4.3.12 使用SMO来复制统计信息 4.4 索引优化 4.4.1 表和索引的结构 4.4.2 索引访问方法 4.4.3 索引策略的分析 4.4.4 碎片 4.4.5 分区 4.5 准备样本数据 4.5.1 数据准备 4.5.2 TABLESAMPLE2 4.6 基于集合的方法和迭代/过程方法的比较,以及一个优化练习2 4.7 总结 第5章 算法和复杂性 5.1 你有一个1夸特的硬币吗? 5.1.1 如何从零钱罐中取回1夸特钱 5.1.2 有时零钱罐中没有1夸特的硬币 5.2 如何度量算法(How Algorithms Scale) 5.2.1 二次缩放(Quadratic Scaling)的一个例子 5.2.2 具有线性复杂度的算法 5.2.3 指数和超指数复杂度 5.2.4 次线性(sublinear)复杂度 5.2.5 常量复杂度 5.2.6 复杂度的技术定义 5.2.7 复杂度的比较 5.3 经典算法和算法策略 5.3.1 排序算法 5.3.2 字符串查找 5.4 一个实际的应用程序 5.4.1 识别测量数据的趋势 5.4.2 LISLP算法的复杂度 5.4.3 用T-SQL解决最长上升子序列的长度问题 5.5 总结 第6章 子查询、表表达式和排名函数 6.1 子查询 6.1.1 独立子查询 6.1.2 相关子查询 6.1.3 行为不当的子查询 6.1.4 不常用的谓词 6.2 表表达式(Table Expressions) 6.2.1 派生表 6.2.2 公用表表达式 6.3 分析排名函数 6.3.1 行号 6.3.2 排名和密集排名(Dense Rank) 6.3.3 组号(Tile Number) 6.4 数字辅助表 6.5 缺失范围和现有范围(也称为间断和孤岛) 6.5.1 缺失范围(间断) 6.5.2 现有范围(孤岛) 6.6 总结 第7章 联接和集合运算 7.1 联接 7.1.1 旧语法和新语法 7.1.2 基本联接类型 7.1.3 其他的联接分类 7.1.4 上一年度的滑动合计 7.1.5 联接算法 7.1.6 拆分元素 7.2 集合运算 7.2.1 UNION 7.2.2 EXCEPT  7.2.3 INTERSECT 7.2.4 集合运算的优先级 7.2.5 在集合运算中使用INTO 7.2.6 避开不支持的逻辑阶段 7.3 总结 第8章 数据聚合和透视 8.1 OVER 子句 8.2 决胜属性(Tiebreaker) 8.3 连续聚合 8.3.1 累积聚合(Cumulative Aggregation) 8.3.2 滑动聚合(Sliding Aggregation) 8.3.3 年初至今(YTD) 8.4 透视转换(Pivoting)35 8.4.1 透视转换属性35 8.4.2 关系除法 8.4.3 聚合数据 8.5 逆透视转换 8.6 自定义聚合 8.6.1 使用透视转换的自定义聚合 8.6.2 用户定义聚合函数(UDA,User Defined Aggregate) 8.6.3 专用解决方案 8.7 直方图(Histogram) 8.8 分组因子 8.9 分组集 8.9.1 样例数据 8.9.2 GROUPING SETS从属子句 8.9.3 CUBE从属子句 8.9.4 ROLLUP从属子句 8.9.5 分组集代数 8.9.6 GROUPING_ID函数 8.9.7 保存分组集 8.9.8 排序 8.10 总结 第9章 TOP和APPLY 9.1 SELECT TOP 9.1.1 TOP和确定性 9.1.2 TOP和输入表达式 9.1.3 TOP和修改 9.1.4 增强的TOP 9.2 APPLY 9.3 使用TOP和APPLY解决常见问题 9.3.1 每组中的TOP n 9.3.2 匹配当前值和前一个值 9.3.3 分页 9.4 逻辑转换 9.5 总结 第10章 数据修改 10.1 插入数据 10.1.1 增强的VALUES子句 10.1.2 SELECT INTO 10.1.3 BULK行集提供程序 10.1.4 按最小方式记录日志的操作  10.1.5 INSERT EXEC 10.1.6 序列机制45 10.2 删除数据 10.2.1 TRUNCATE与DELETE 10.2.2 删除包含重复数据的行 10.2.3 基于联结的DELETE 10.3 更新数据 10.3.1 基于联结的UPDATE 10.3.3 更新大值数据类型 10.3.3 用SELECT和UPDATE语句进行赋值 10.4 合并数据 10.4.1 MERGE语句基础 10.4.2 额外增加一个谓词 10.4.3 多个WHEN子句 10.4.4 WHEN NOT MATCHED BY SOURCE子句 10.4.5 MERGE Values 10.4.6 MERGE与触发器 10.5 OUTPUT子句 10.6 总结 第11章 查询分区表 11.1 在SQL Server中进行分区 11.1.1 分区视图 11.1.2 分区表 11.2 总结 第12章 图、树、层次结构和递归查询 12.1 术语 12.1.1 图 12.1.2 树 12.1.3 层次结构 12.2 应用场景 12.2.1 员工组织图 12.2.2 材料清单(BOM) 12.2.3 道路系统 12.3 迭代/递归 12.3.1 下属 12.3.2 祖先 12.3.3 带有路径枚举的子图/子树 12.3.4 排序 12.3.5 环 12.4 具体化路径 12.4.1 维护数据 12.4.2 查询 12.5 使用HIERARCHYID数据类型的具体化路径5 12.5.1 维护数据 12.5.2 查询 12.5.3 使用HIERARCHYID的其他方面 12.6 嵌套集合 12.6.1 分配左值和右值 12.6.2 查询 12.7 传递闭包(Transitive Closure) 12.7.1 有向无环图 12.7.2 无向有环图 12.8 总结 索引
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决方案。 作为一本讲述T-SQL高级查询的专业图书,《Microsoft SQL Server 2008技术内幕:T-SQL查询》旨在结合实践中的各种常见问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。《Microsoft SQL Server 2008技术内幕:T-SQL查询》内容丰富、文字简洁明快,列举的实例具有一定的难度,而且实用性很强,可以把它们作为解决实际问题的标准模式。阅读《Microsoft SQL Server 2008技术内幕:T-SQL查询》,可以充分地理解T-SQL语言和良好的编程实践,学会如何编写更加有效而强大的查询语句。 序言 I 致谢III 前言 V 第1章 逻辑查询处理1 1.1 逻辑查询处理的各个阶段2 1.1.1 逻辑查询处理阶段简介2 1.2 客户/订单场景下的查询示例4 1.3 逻辑查询处理阶段详解5 1.3.1 步骤1:FROM阶段5 1.3.2 步骤2:WHERE阶段9 1.3.3 步骤3:GROUP BY阶段10 1.3.4 步骤4:HAVING阶段11 1.3.5 步骤5:SELECT阶段12 1.3.6 步骤6:排序用的ORDER BY阶段13 1.4 逻辑查询处理的深入内容16 1.4.1 表运算符16 1.4.2 OVER子句23 1.4.3 集合运算符25 1.5 总结26 第2章 集合论和谓词逻辑27 2.1 自然语言表述到数学表示的转换27 2.1.1 严格定义(well-Definedness)28 2.1.2 相等、恒等和同一性30 2.1.3 数学命名约定30 2.1.4 数字31 2.1.5 上下文32 2.1.6 函数、参数和变量33 2.1.7 指令和算法34 2.2 集合论34 2.2.1 集合的标记方法35 2.2.2 集合的严格定义36 2.2.3 论域36 2.2.4 真实性38 2.2.5 罗素悖论(Russell s Paradox)40 2.2.6 有序对、元组和笛卡尔积41 2.2.7 空集42 2.2.8 集合的特征函数43 2.2.9 集合的基数(Cardinality)43 2.2.10 顺序44 2.2.11 集合运算符47 2.2.12 集合论的推广50 2.3 谓词逻辑50 2.3.1 编程语言中的逻辑功能50 2.3.2 命题和谓词51 2.3.3 排中律53 2.3.4 与、或、非运算53 2.3.5 逻辑等价55 2.3.6 逻辑蕴含55 2.3.7 量化(Quantification)56 2.3.8 替代和推广58 2.4 关系59 2.4.1 自反性、对称性和传递性59 2.5 一个实际的应用60 2.6 总结63 第3章 关系模型65 3.1 关系模型简介65 3.1.1 关系、元组和类型65 3.1.2 关系模型:快速摘要70 3.2 关系代数和关系计算70 3.2.1 基本运算符71 3.2.2 关系代数71 3.2.3 Codd提出的8个原始关系运算符72 3.2.4 关系演算79 T-SQL支持80 3.3 数据完整性81 3.3.1 声明式约束82 3.3.2 实施完整性的其他方法84 3.4 数据库正规化和其他设计主题86 3.4.1 解决函数依赖的范式87 3.4.2 更高级的范式92 3.4.3 反规范化(Denormalization)95 3.4.4 一般化和特殊化96 3.5 总结98 第4章 查询优化99 4.1 本章用到的样本数据99 4.2 优化方法论102 4.2.1 分析实例级别的等待104 4.2.2 关联等待和队列111 4.2.3 确定行动方案112 4.2.4 细化到数据库/文件级别113 4.2.5 细化到进程级别115 4.2.6 优化索引和查询132 4.3 查询优化的工具133 4.3.1 查询执行计划的缓存133 4.3.2 清空缓存134 4.3.3 动态管理对象134 4.3.4 STATISTICS IO135 4.3.5 测量查询的运行时间135 4.3.6 分析执行计划136 4.3.7 图形化的执行计划136 4.3.8 提示(Hint)144 4.3.9 跟踪/Profiler145 4.3.10 数据库引擎优化顾问145 4.3.11 数据收集和管理数据仓库146 4.3.12 使用SMO来复制统计信息146 4.4 索引优化146 4.4.1 表和索引的结构146 4.4.2 索引访问方法153 4.4.3 索引策略的分析191 4.4.4 碎片200 4.4.5 分区201 4.5 准备样本数据202 4.5.1 数据准备202 4.5.2 TABLESAMPLE206 4.6 基于集合的方法和迭代/过程方法的比较,以及一个优化练习208 4.7 总结214 第5章 算法和复杂性215 5.1 你有一个1夸特的硬币吗?215 5.1.1 如何从零钱罐中取回1夸特钱216 5.1.2 有时零钱罐中没有1夸特的硬币216 5.2 如何度量算法(How Algorithms Scale)217 5.2.1 二次缩放(Quadratic Scaling)的一个例子217 5.2.2 具有线性复杂度的算法218 5.2.3 指数和超指数复杂度218 5.2.4 次线性(sublinear)复杂度219 5.2.5 常量复杂度219 5.2.6 复杂度的技术定义220 5.2.7 复杂度的比较221 5.3 经典算法和算法策略222 5.3.1 排序算法223 5.3.2 字符串查找225 5.4 一个实际的应用程序226 5.4.1 识别测量数据的趋势226 5.4.2 LISLP算法的复杂度226 5.4.3 用T-SQL解决最长上升子序列的长度问题227 5.5 总结229 第6章 子查询、表表达式和排名函数231 6.1 子查询232 6.1.1 独立子查询232 6.1.2 相关子查询235 6.1.3 行为不当的子查询244 6.1.4 不常用的谓词245 6.2 表表达式(Table Expressions)246 6.2.1 派生表247 6.2.2 公用表表达式249 6.3 分析排名函数255 6.3.1 行号257 6.3.2 排名和密集排名(Dense Rank)271 6.3.3 组号(Tile Number)272 6.4 数字辅助表276 6.5 缺失范围和现有范围(也称为间断和孤岛)279 6.5.1 缺失范围(间断)281 6.5.2 现有范围(孤岛)288 6.6 总结296 第7章 联接和集合运算297 7.1 联接297 7.1.1 旧语法和新语法297 7.1.2 基本联接类型298 7.1.3 其他的联接分类306 7.1.4 上一年度的滑动合计317 7.1.5 联接算法320 7.1.6 拆分元素326 7.2 集合运算332 7.2.1 UNION332 7.2.2 EXCEPT333 7.2.3 INTERSECT334 7.2.4 集合运算的优先级335 7.2.5 在集合运算中使用INTO336 7.2.6 避开不支持的逻辑阶段336 7.3 总结338 第8章 数据聚合和透视339 8.1 OVER 子句339 8.2 决胜属性(Tiebreaker)341 8.3 连续聚合343 8.3.1 累积聚合(Cumulative Aggregation)344 8.3.2 滑动聚合(Sliding Aggregation)348 8.3.3 年初至今(YTD)349 8.4 透视转换(Pivoting)350 8.4.1 透视转换属性350 8.4.2 关系除法353 8.4.3 聚合数据355 8.5 逆透视转换357 8.6 自定义聚合360 8.6.1 使用透视转换的自定义聚合361 8.6.2 用户定义聚合函数(UDA,User Defined Aggregate)362 8.6.3 专用解决方案370 8.7 直方图(Histogram)380 8.8 分组因子383 8.9 分组集385 8.9.1 样例数据386 8.9.2 GROUPING SETS从属子句387 8.9.3 CUBE从属子句389 8.9.4 ROLLUP从属子句390 8.9.5 分组集代数392 8.9.6 GROUPING_ID函数395 8.9.7 保存分组集397 8.9.8 排序399 8.10 总结400 第9章 TOP和APPLY401 9.1 SELECT TOP401 9.1.1 TOP和确定性402 9.1.2 TOP和输入表达式403 9.1.3 TOP和修改404 9.1.4 增强的TOP406 9.2 APPLY407 9.3 使用TOP和APPLY解决常见问题408 9.3.1 每组中的TOP n408 9.3.2 匹配当前值和前一个值413 9.3.3 分页416 9.4 逻辑转换422 9.5 总结424 第10章 数据修改425 10.1 插入数据425 10.1.1 增强的VALUES子句425 10.1.2 SELECT INTO426 10.1.3 BULK行集提供程序428 10.1.4 按最小方式记录日志的操作430 10.1.5 INSERT EXEC447 10.1.6 序列机制450 10.2 删除数据454 10.2.1 TRUNCATE与DELETE454 10.2.2 删除包含重复数据的行455 10.2.3 基于联结的DELETE456 10.3 更新数据458 10.3.1 基于联结的UPDATE458 10.3.3 更新大值数据类型461 10.3.3 用SELECT和UPDATE语句进行赋值462 10.4 合并数据465 10.4.1 MERGE语句基础467 10.4.2 额外增加一个谓词470 10.4.3 多个WHEN子句471 10.4.4 WHEN NOT MATCHED BY SOURCE子句472 10.4.5 MERGE Values473 10.4.6 MERGE与触发器474 10.5 OUTPUT子句475 10.6 总结482 第11章 查询分区表483 11.1 在SQL Server中进行分区483 11.1.1 分区视图483 11.1.2 分区表484 11.2 总结496 第12章 图、树、层次结构和递归查询497 12.1 术语497 12.1.1 图497 12.1.2 树498 12.1.3 层次结构498 12.2 应用场景498 12.2.1 员工组织图499 12.2.2 材料清单(BOM)500 12.2.3 道路系统503 12.3 迭代/递归506 12.3.1 下属506 12.3.2 祖先514 12.3.3 带有路径枚举的子图/子树517 12.3.4 排序519 12.3.5 环521 12.4 具体化路径524 12.4.1 维护数据524 12.4.2 查询529 12.5 使用HIERARCHYID数据类型的具体化路径533 12.5.1 维护数据534 12.5.2 查询539 12.5.3 使用HIERARCHYID的其他方面542 12.6 嵌套集合550 12.6.1 分配左值和右值551 12.6.2 查询555 12.7 传递闭包(Transitive Closure)557 12.7.1 有向无环图557 12.7.2 无向有环图561 12.8 总结568

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧