《SQL Server 2008学习笔记:日常维护、深入管理、性能优化》设计了大量的实验,介绍了数据库管理员和开发人员常用的管理、维护和优化SQL Server 2008数据库技术。
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
 |
SQL Server 2008学习笔记:日常维护、深入管理、性能优化(吴戈著) |
 |
|
 |
SQL Server 2008学习笔记:日常维护、深入管理、性能优化(吴戈著) |
 |
第13章 存储过程、函数和触发器 372
13.1 背景知识 373
13.1.1 什么是存储过程 373
13.1.2 什么是用户定义函数 373
13.1.3 触发器的基本概念 374
13.1.4 inserted和deleted表 375
13.2 应用情景 375
创建存储过程 376
执行不带参数的存储过程 377
带参数的存储过程 378
存储过程的返回值 379
修改和重命名存储过程 380
删除存储过程 382
从INFORMATION_SCHEMA.ROUTINE_COLUMNS中获取存储过程信息 382
系统存储过程 383
创建标量函数 385
创建内联表值函数 386
创建多语句表值函数 387
修改和重命名用户定义函数 389
删除用户定义函数 390
在SQL Server Management Studio中创建触发器 390
使用CREATE TRIGGER语句创建触发器 391
修改触发器 394
使用sp_rename重命名触发器 396
删除触发器 396
从sys.triggers中获取触发器的信息 396
使用存储过程sp_helptext查看触发器的定义文本 398
使用存储过程sp_helptrigger 查看触发器的属性 398
禁用和启用触发器 399
第14章 游标 401
14.1 基础知识 402
14.1.1 什么是游标 402
14.1.2 游标的分类 402
14.2 应用情景 404
声明游标 404
打开游标 406
读取游标数据 406
关闭游标 408
获取游标状态 409
删除游标 410
使用存储过程sp_cursor_lis获取游标属性 411
使用存储过程sp_describe_cursor获取游标属性 413
使用存储过程sp_describe_cursor_columns获取游标属性 414
使用存储过程sp_describe_cursor_tables获取游标的基表 416
修改游标结果集中的行 418
删除游标结果集中的行 418
第15章 全文搜索 420
15.1 基础知识 421
15.1.1 全文搜索的基本概念 421
15.1.2 全文搜索的体系结构 422
15.1.3 使用FILESTREAM技术保存大对象数据 423
15.2 应用情景 423
在SQL Server Management Studio中创建全文目录 423
使用CRAETE FULLTEXT CATALOG语句创建全文目录 424
修改全文目录 425
删除全文目录 426
在表Employees中添加全文搜索列 426
使用全文索引向导创建全文索引 427
使用CRAETE FULLTEXT INDEX语句创建全文索引 432
启用和禁用全文索引 432
删除全文索引 432
查询全文目录的使用情况 433
从sys.fulltext_indexes中查询全文索引的情况 433
从sys.fulltext_index_columns中查询全文索引的情况 434
设置用于全文搜索的FDHOST启动器服务账户 435
使用CONTAINS谓词执行全文搜索 436
使用FREETEXT谓词执行全文搜索 438
启用FILESTREAM 440
创建启用FILESTREAM的数据库 440
创建保存FILESTREAM数据的表 441
使用Transact-SQL管理FILESTREAM数据 442
使用Visual C#语言管理FILESTREAM数据 443
在保存文件数据的列中实现全文搜索 450
第三篇 系统优化 451
第16章 使用空间数据 455
16.1 基础知识 456
16.1.1 空间数据类型 456
16.1.2 Point类型 456
16.1.3 MultiPoint类型 457
16.1.4 LineString类型 458
16.1.5 MultiLineString类型 458
16.1.6 Polygon类型 459
16.1.7 MultiPolygon类型 460
16.1.8 GeometryCollection类型 461
16.2 应用情景 462
在创建表时定义 geometry类型的列 462
向表中插入几何数据 462
从表中获取几何数据 463
获取geometry实例中包含的点 464
获取geometry实例的维度信息 465
检查是否为空 466
判断geometry实例是否简单 467
返回geometry实例的边界 467
检查geometry实例的闭合性 468
确定两个实例是否包含相同的点集 469
确定两个实例是否不相接 469
确定两个实例是否相交 470
确定两个实例是否接触 470
确定两个实例是否重叠 470
确定两个实例是否交叉 471
确定一个实例是否在另外一个实例的内部 471
确定一个实例是否完全包含另外一个实例 471
确定两个几何图形中点之间的最短距离 472
第17章 常用性能监测和优化工具 473
17.1 基础知识 474
17.1.1 常用性能监测和优化工具 474
17.1.2 下载和安装RML分析工具 474
17.2 应用情景 476
使用SQL Server Profiler记录数据库的跟踪数据 476
筛选跟踪数据 480
重播跟踪 481
实用SQL Server Profiler定位和分析问题 484
使用数据库引擎优化顾问分析数据库性能 485
数据库引擎优化顾问中的优化选项 491
数据库引擎优化顾问的应用建议 492
使用dta实用工具 493
ReadTrace实用工具 494
OSTRESS实用工具 501
第18章 对SQL语句进行分析和优化 503
18.1 基础知识 504
18.1.1 影响查询语句执行性能的常见因素 504
18.1.2 如何定位导致查询运行慢的原因 504
18.1.3 使用SET STATISTICS IO语句检查查询所产生的I/O操作 505
18.1.4 使用SET STATISTICS TIME语句检查查询使用的时间和CPU使用情况 506
18.1.5 查看执行计划 507
18.1.6 准备演示数据 509
18.2 应用情景 510
控制SELECT语句中行和列的数量 510
慎用DISTINCT关键字 513
慎用UNION关键字 515
判断表中是否存在记录 518
连接查询的优化 518
使用INSERT INTO…SELECT语句优化批量插入操作 520
优化修改和删除语句 522
第19章 数据库分区技术 523
19.1 基础知识 524
19.1.1 分区技术的分类 524
19.1.2 分区表 525
19.1.3 确定分区依据列和分区数 527
19.1.4 创建文件组 528
19.1.5 设计分区视图 531
19.2 应用情景 532
使用向导创建分区表 532
查询普通表与分区表的比较 538
使用CREATE PARTITION FUNCTION语句创建分区函数 539
使用DROP PARTITION FUNCTION语句删除分区函数 541
使用CREATE PARTITION SCHEME语句创建分区方案 541
使用DROP PARTITION SCHEME语句删除分区方案 542
创建分区表 542
创建分区索引 543
查看分区表明细信息 544
拆分和合并分区 546
分区中的数据移动 546
创建分区视图 548
在分区视图中修改数据 553
从系统表sys.data_spaces中获取数据空间信息 554
序言
10多年前因为工作的关系笔者开始学习和使用SQL Servel。那时SQL Server的版本还是7.0。刚一接触,笔者便被它强大的功能和友好的界面所吸引,再加上工作需要,就开始了对sOL Server数据库的系统学习和研究。之后每当微软推出SQL Server的新版本,我们都会下载试用版本,了解它的新功能、新技术,对它进行深入细致的研究。 在学习SQL Server的过程中,笔者按照个人习惯记录了很多学习笔记,用于整理基本概念、学习心得、应用情景和疑难问题(从SQL Server 7.0开始,-直到SQL Server 2000、SQL Server 2005和SQL Server2008)。记录学习笔记的好处有很多,比如可以使自己目标明确、思路清晰;可以做到温故知新、加强理解和记忆;可以记录一些心得、经验和解决问题的方法,以便日后查阅和分享。 在多年的学习和工作中,我们深切地感受到,对于初学者而言,要轻松掌握SQL Server,并在实践中不断提高,有5个因素是至关重要的:培养学习兴趣、明确学习目标、制定合理的规划、借鉴前人的经验以及在实践中不断积累和提高。为了帮助初学者在学习SQL Server 2008时能够轻松上手、稳步提高,笔者对多年积累的学习笔记进行了系统的整理,并针对学习sOL Server过程中至关重要的5大要素进行精心设计,编写了这本SQL Servei学习笔记。培养学习兴趣’ 兴趣培养在学习和工作中的效果是显而易见的。为了帮助读者提高学习兴趣,本书按照学习笔记这种轻松的方式进行编排,把枯燥的学习变成读者与作者之间的交流。在阅读本书的同时,读者还可以分享到作者的经验和心得。本书将SQL Server数据库管理员分成19个级别,在每篇学习笔记中都定制一个级别所需要掌握的技能和应该具备的能力。读者在学习的同时,可以切实感受到自己的进步以及与目标之间的差距,把枯燥的学习变成主动追求进级和提高的过程,从而激发读者的主动性和积极性。明确学习目标 做任何事情都应该有明确的目标,学习SQL Server也是一样。本书在设计之初,就为读者设计了远大的目标,即从初学者进级到合格的数据库管理员,最终成为经验丰富的sOL Serxrer数据库管理专家。当然,要达到这一目标,还需要读者自身不断地努力实践和积累。但是在您开始阅读本书时,这个目标就已经确立了。制定合理的规划合理的规划是顺利达到目标的重要保障。为了使读者能够循序渐进地提高,笔者将学习笔记分成数据库日常维护、深入管理和性能优化3个阶段。每篇学习笔记都设置了编写初衷、学习目标和技能设计、当前级别等栏目,使读者在阅读时能够清楚地了解当前的学习进度和需要掌握的知识。有了这些,读者不需要再为如何提高而苦恼,你所要做的只是按照本书设计的进级之路不断前行。
文摘
插图:

在fdhost.exe进程中,协议处理程序将从数据库中获取到指定的二进制数据,并使用筛选器将二进制数据转换为文本,根据断字符进行断字处理。
数据库引擎和筛选器后台程序可以通过命令管道(Named pipe)和共享内存(Shared memory)进行通信。通信的内容包括如下3个方面:
(1)数据库引擎将需要进行索引的数据传递给筛选器后台程序,再由筛选器将其转换为文本内容。
(2)数据库引擎中有一个筛选器后台管理器,它可以与筛选器后台程序相互通信,管理批处理请求和块区缓冲状态等。
(3)数据库引擎中包含查询处理器,查询处理器中又包含一个全文引擎,用于编译和执行与全文搜索相关的查询。在执行全文查询时,数据库引擎可以与筛选器后台程序相互传递关键字、文档和查询到的信息。
使用全文搜索功能可以查询保存在数据库中的二进制文件(例如.doc文件)数据。在以前版本的SQL Server中,可以采用下面两种方式保存大对象(例如图像、文档等):
(1)使用image或varbinary(max)数据类型列来保存大对象,此时大对象数据保存在数据库中。
(2)将大对象数据保存在文件系统中,在数据库中只保存文件的路径。在很多网站中,都是使用这种方式来保存网页上的图片文件的。但这种方法不便于对数据的统一管理,例如在备份和还原数据库时无法包含大对象数据。
SQL Server 2008提供了全新的FILESTREAM技术,它是上面两种方法的结合。在使用FII,ESTREAM技术时,大对象数据保存在文件系统中,但可以在数据库中对大对象数据进行管理。在备份和还原数据库时,可以包含大对象数据。本章将在后面的应用情景中将介绍如何在数据库中使用.FILESTREAM技术保存大对象数据。
相关阅读:
信与忘:约伯福音及其他(冯象著)
情场不输人,职场不输阵(苏芩著)
你的形象价值百万(英格丽.张著)
你的形象价值百万(英格丽.张著)
4点起床:最养生和高效的时间管理(中岛孝志)
论自由(约翰.密尔著)
更多图书故资讯可访问读书人图书频道: http://www.reAder8.cn/book/