《SQL Server 2 0 0 5范例代码查询辞典》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)萨克(JosephSack,J.)著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:7115179581
  • 页数:632 页
图书介绍:和传统的T-SQL书籍不同,本书以独特的“技巧”形式来介绍知识点,涵盖了数据处理(增删改、视图、索引、存储过程、触发器等)、数据应用(Web服务、CLR集成、分布式查询等)和数据库配置(主体、安全、数据库镜像和快照、备份等)三个方面的T-SQL。其中,每一个技巧中都包含了有代表性的示例和精炼的解析。本书实用、高效、技巧性强,适用于SQL Server爱好者和专业技术人员,也可供初学者学习参考。

第1章 SELECT 1

1.1 基本的SELECT语句 1

1.1.1 从所有行中选择指定列 1

1.1.2 从所有行中选择所有列 2

1.2 使用基本WHERE子句的SELECT查询 3

1.2.1 使用WHERE子句指定结果集中返回的行 3

1.2.2 组合搜索条件 3

1.2.3 否定搜索条件 5

1.2.4 保持WHERE子句无歧义 5

1.3 使用运算符和表达式 6

1.3.1 在数据范围搜索中使用BETWEEN 7

1.3.2 使用比较运算符 7

1.3.3 检测NULL值 8

1.3.4 返回基于一组值的行 8

1.3.5 LIKE和通配符的结合使用 9

1.4 对结果排序 10

1.4.1 使用ORDER BY子句 10

1.4.2 在排序的结果中使用TOP关键字 12

1.5 数据分组 13

1.5.1 使用GROUP BY子句 13

1.5.2 使用GROUP BY ALL 15

1.5.3 使用HAVING选择性地查询分组的数据 15

1.6 SELECT子句技术 16

1.6.1 使用DISTINCT消除重复值 17

1.6.2 在聚合函数中使用DISTINCT 17

1.6.3 使用列别名 18

1.6.4 使用SELECT创建脚本 18

1.6.5 执行字符串拼接 19

1.6.6 使用SELECT创建逗号分隔的列表 20

1.6.7 使用INTO子句 21

1.7 子查询 22

1.8 从多个数据源查询 23

1.8.1 使用内联结 23

1.8.2 使用外联结 24

1.8.3 使用交叉联结 25

1.8.4 实现自联结 26

1.8.5 使用衍生表 27

1.8.6 使用UNION组合结果集 28

1.9 使用APPLY来为每行调用表值函数 29

1.9.1 使用CROSS APPLY 29

1.9.2 使用OUTER APPLY 31

1.10 数据源高级技术 32

1.10.1 使用TABLESAMPLE来返回随机行 32

1.10.2 使用PIVOT来把单列值转化为多列和聚合数据 33

1.10.3 使用UNPIVOT规范化数据 36

1.10.4 使用EXCEPT和INTERSECT返回不重复的或匹配的行 37

1.11 汇总数据 39

1.11.1 使用WITH CUBE汇总数据 39

1.11.2 使用GROUPING和WITH CUBE 40

1.11.3 使用WITH ROLLUP来汇总数据 41

1.12 提示 41

1.12.1 使用联结提示 42

1.12.2 使用查询提示 43

1.12.3 使用表提示 45

1.13 公共表表达式 46

1.13.1 使用非递归的公共表表达式 47

1.13.2 使用递归的公共表表达式 49

第2章 INSERT、UPDATE和DELETE 53

2.1 INSERT 53

2.1.1 向表中插入一行 53

2.1.2 使用默认值插入行 54

2.1.3 显式向一个IDENTITY列插入值 55

2.1.4 在表中插入拥有uniqueidentifier列的行 56

2.1.5 使用INSERT...SELECT语句插入行 57

2.1.6 调用存储过程插入数据 58

2.2 UPDATE 60

2.2.1 更新一行 60

2.2.2 根据FROM和WHERE子句更新行 61

2.2.3 更新大值数据类型的列 62

2.2.4 使用OPENROWSET和BULK插入或更新图片文件 63

2.3 DELETE 65

2.3.1 删除行 66

2.3.2 截断表 67

2.4 OUTPUT子句 68

2.5 使用TOP分块修改数据 70

第3章 事务、锁定、阻塞和死锁 72

3.1 事务控制 72

3.1.1 使用显式事务 73

3.1.2 使用DBCC OPENTRAN显示最早的活动事务 76

3.2 锁定 77

3.3 事务、锁定和并发 80

3.4 阻塞 85

3.4.1 找到并解决阻塞进程 85

3.4.2 使用SET LOCK TIMEOUT 88

3.5 死锁 88

3.5.1 使用跟踪标志位找出死锁 89

3.5.2 设置死锁优先级 91

第4章 表 93

4.1 表基础 93

4.1.1 创建表 95

4.1.2 为既有表添加列 96

4.1.3 修改列定义 96

4.1.4 创建计算列 97

4.1.5 删除表中的列 98

4.1.6 报告表信息 99

4.1.7 删除表 99

4.2 排序规则基础 99

4.2.1 查看排序规则元数据 100

4.2.2 指定列的排序规则 101

4.3 键 101

4.3.1 创建有主键的表 102

4.3.2 为既有表增加主键约束 103

4.3.3 创建一个有外键引用的表 103

4.3.4 为既有表增加外键 104

4.3.5 创建递归外键引用 105

4.3.6 允许外键的级联修改 106

4.4 代理键 107

4.4.1 在创建表的时候使用IDENTITY属性 108

4.4.2 使用DBCC CHECKIDENT来查看和纠正IDENTITY种子值 109

4.4.3 使用ROWGUIDCOL属性 110

4.5 约束 111

4.5.1 创建唯一约束 111

4.5.2 为既有表增加UNIQUE约束 112

4.5.3 使用CHECK约束 113

4.5.4 为既有表增加CHECK约束 114

4.5.5 禁止和启用约束 114

4.5.6 在表创建时使用DEFAULT约束 116

4.5.7 为既有表增加DEFAULT约束 116

4.5.8 从表删除约束 117

4.6 临时表和表变量 117

4.6.1 为批处理的多次查找使用临时表 118

4.6.2 创建表变量来保存临时结果集 119

4.7 管理超大型表 120

4.7.1 实现表分区 122

4.7.2 检测数据在分区中的位置 124

4.7.3 增加新的分区 125

4.7.4 移除分区 127

4.7.5 把分区移动到不同的表 128

4.7.6 移除分区函数和分区方案 129

4.7.7 把表放入文件组 130

第5章 索引 132

5.1 索引预览 132

5.1.1 创建表索引 134

5.1.2 在非键列上强制唯一性 136

5.1.3 创建组合索引 136

5.1.4 定义索引列排序方向 137

5.1.5 查看索引元数据 138

5.1.6 禁用索引 139

5.1.7 删除索引 139

5.1.8 使用DROP_EXISTING改变既有索引 140

5.2 控制索引创建的性能和并发性 140

5.2.1 在Tempdb中创建临时索引 141

5.2.2 控制索引创建的并发执行计划 141

5.2.3 在索引创建过程中允许用户表访问 141

5.3 索引选项 142

5.3.1 使用索引INCLUDE 142

5.3.2 使用PAD_INDEX和FILLFACTOR 143

5.3.3 禁用页和/或行索引锁定 144

5.4 管理超大型索引 145

5.4.1 在文件组上创建索引 145

5.4.2 实现索引分区 145

第6章 全文搜索 147

6.1 全文索引和全文目录 147

6.1.1 创建全文目录 147

6.1.2 创建全文索引 148

6.1.3 修改全文目录 150

6.1.4 修改全文索引 151

6.1.5 删除全文目录 153

6.1.6 删除全文索引 153

6.1.7 获取全文目录和全文索引的元数据 153

6.2 基本搜索 154

6.2.1 使用FREETEXT来搜索全文索引的列 155

6.2.2 使用CONTAINS来搜索单词 155

6.3 高级搜索 156

6.3.1 使用CONTAINS和通配符来搜索 156

6.3.2 使用CONTAINS来搜索变形匹配 157

6.3.3 使用CONTAINS根据词的相邻搜索结果 158

6.4 排名搜索 158

6.4.1 根据含义返回排名搜索结果 158

6.4.2 根据权值返回排名搜索结果 159

第7章 视图 161

7.1 普通视图 161

7.1.1 创建基本视图 162

7.1.2 查询视图定义 163

7.1.3 数据库视图报表 164

7.1.4 刷新视图定义 165

7.1.5 修改视图 165

7.1.6 删除视图 166

7.1.7 使用视图修改数据 166

7.2 视图加密 167

7.3 索引视图 168

7.3.1 创建索引视图 168

7.3.2 强制优化器为索引视图使用索引 170

7.4 分区视图 171

第8章 SQL Server函数 176

8.1 聚合函数 176

8.1.1 返回平均值 176

8.1.2 返回行总数 177

8.1.3 找出表达式中的最小和最大值 178

8.1.4 返回值的和 178

8.1.5 使用统计聚合函数 178

8.2 数学函数 179

8.3 字符串函数 181

8.3.1 把字符值转化为ASCII以及把ASCII转回字符 182

8.3.2 返回整数和字符Unicode值 182

8.3.3 获取字符串中另一个字符串的起始位置 182

8.3.4 使用通配符找到一个字符串中另一个字符串的起始位置 183

8.3.5 检测字符串相似度 183

8.3.6 获取字符串最左和最右部分 184

8.3.7 检测字符串中的字符数或者字节数 185

8.3.8 把字符串的一部分替换成另一个字符串 185

8.3.9 把字符串填充到字符串中 186

8.3.10 把字符值转化为小写、大写以及合适的大小写 186

8.3.11 移除前导和尾部空格 188

8.3.12 重复一个表达式N次 189

8.3.13 重复一个空格N次 189

8.3.14 逆序输出表达式 189

8.3.15 返回表达式的一块 190

8.4 处理NULL 190

8.4.1 替换NULL为替代值 190

8.4.2 使用ISNULL进行灵活的搜索 191

8.4.3 返回表达式列表中第一个非NULL值 192

8.4.4 当两个表达式相等的时候返回NULL值,否则返回第一个表达式 192

8.5 日期函数 193

8.5.1 返回当前日期和时间 194

8.5.2 增加或减少日期值 194

8.5.3 找出两个日期的差 195

8.5.4 显示日期一部分的字符串值 196

8.5.5 使用DATEPART显示日期一部分的整数值 196

8.5.6 使用YEAR、MONTH和DAY显示日期部分的整数值 197

8.6 使用Convert和Cast转换数据类型 197

8.6.1 转换数据类型 198

8.6.2 进行数据转换 198

8.6.3 计算表达式是日期还是数字 199

8.7 排名函数 200

8.7.1 使用递增行号 200

8.7.2 根据排名返回行 201

8.7.3 根据无间隔排名返回行 202

8.7.4 使用NTILE 203

8.8 使用系统函数检测服务器、数据库以及连接级别的配置 204

8.8.1 使用SQL Server的每周第一天设置 204

8.8.2 查看当前会话使用的语言 204

8.8.3 查看和设置当前连接锁超时设置 205

8.8.4 显示当前存储过程上下丈的嵌套级别 205

8.8.5 返回当前SQL Server实例名和SQL Server版本 206

8.8.6 返回当前连接的会话ID (SPID) 206

8.8.7 返回打开事务的数量 206

8.8.8 获取之前语句影响的行 207

8.8.9 使用系统统计函数 208

8.8.10 显示数据库和SQL Server设置 209

8.8.11 返回当前数据库ID和名称 210

8.8.12 返回数据库对象名和ID 210

8.8.13 返回当前用户会话的应用程序和主机 210

8.8.14 获取当前用户和登录名上下文 211

8.8.15 查看用户连接选项 211

8.9 IDENTITY和uniqueidentifier函数 212

8.9.1 返回最后一个标识值 212

8.9.2 返回标识列的种子和增量值 213

8.9.3 创建新的uniqueidentifier值 213

第9章 条件处理、流控制和游标 215

9.1 条件处理 215

9.1.1 使用CASE来计算单个输入表达式 215

9.1.2 使用CASE来计算布尔表达式 217

9.1.3 使用IF...ELSE 218

9.2 流控制 219

9.2.1 使用RETURN 219

9.2.2 使用WHILE 221

9.2.3 使用GOTO 223

9.2.4 使用WAITFOR 224

9.3 游标 225

第10章 存储过程 229

10.1 存储过程基础 229

10.1.1 创建基本的存储过程 230

10.1.2 创建带参数的存储过程 231

10.1.3 使用OUTPUT参数 233

10.1.4 修改存储过程 234

10.1.5 删除存储过程 235

10.1.6 在SQL Server启动时自动执行存储过程 235

10.1.7 报告存储过程元数据 237

10.1.8 存储过程文档 237

10.2 存储过程安全 238

10.2.1 加密存储过程 238

10.2.2 使用EXECUTE AS来指定过程的安全上下文 239

10.3 重新编译和缓存 241

10.3.1 每次存储过程执行时重新编译 241

10.3.2 清空过程缓存 242

第11章 用户定义函数和类型 244

11.1 UDF基础 244

11.1.1 创建标量用户定义函数 244

11.1.2 创建内联用户定义函数 248

11.1.3 创建多语句用户定义函数 249

11.1.4 修改用户定义函数 252

11.1.5 查看UDF元数据 254

11.1.6 移除用户定义函数 254

11.2 从UDF获益 254

11.2.1 使用标量UDF来维护可重用的代码 255

11.2.2 为交叉引用的自然键值使用标量UDF 256

11.2.3 使用多语句UDF替代视图 259

11.3 UDT基础 261

11.3.1 创建和使用用户定义类型 261

11.3.2 找出使用用户定义类型的列和参数 263

11.3.3 删除用户定义类型 264

第12章 触发器 266

12.1 DML触发器 266

12.1.1 创建AFTER DML触发器 267

12.1.2 创建INSTEAD OF DML触发器 270

12.1.3 使用DML触发器和事务 273

12.1.4 根据修改的列控制DML触发器 275

12.1.5 查看DML触发器元数据 275

12.2 DDL触发器 276

12.2.1 创建审核数据库级别的事件的DDL触发器 277

12.2.2 创建审核服务器级别的事件的DDL触发器 279

12.2.3 查看DDL触发器元数据 279

12.3 管理触发器 281

12.3.1 修改触发器 281

12.3.2 启用和禁止表触发器 281

12.3.3 限制触发器嵌套 283

12.3.4 控制触发器递归 283

12.3.5 设置触发器触发次序 284

12.3.6 删除触发器 286

第13章 CLR集成 288

13.1 CLR概述 288

13.2 什么时候(不)使用程序集 289

13.3 CLR对象概述 290

13.4 创建CLR数据库对象 291

13.4.1 启用SQL Server 2005的CLR支持 291

13.4.2 为CLR存储过程写程序集 291

13.4.3 把程序集编译成DLL文件 294

13.4.4 把程序集载入SQL Server 294

13.4.5 创建CLR存储过程 295

13.4.6 创建CLR标量用户定义函数 296

13.4.7 创建CLR触发器 299

13.5 管理程序集 301

13.5.1 查看程序集元数据 301

13.5.2 修改程序集权限 301

13.5.3 从数据库移除程序集 301

第14章 XML 303

14.1 XML和相关技术 304

14.2 使用原生XML 305

14.2.1 创建XML数据类型列 305

14.2.2 插入XML数据到列 306

14.2.3 使用架构验证XML数据 307

14.2.4 获取XML数据 309

14.2.5 修改XML数据 311

14.2.6 使用XML索引 312

14.3 在XML文档与关系型数据之间进行转换 314

14.3.1 使用FOR XML 314

14.3.2 使用OPEN XML 317

第15章 Web服务 320

15.1 Web服务技术 320

15.2 HTTP端点 321

15.2.1 创建HTTP端点 323

15.2.2 管理HTTP端点安全 326

15.2.3 修改HTTP端点 327

15.2.4 移除HTTP端点 328

15.2.5 保留命名空间 328

15.3 创建使用Web服务的.NET客户端 329

第16章 错误处理 334

16.1 系统定义和用户定义的错误消息 334

16.1.1 查看系统错误信息 334

16.1.2 创建用户定义错误消息 335

16.1.3 删除用户定义错误消息 337

16.2 使用RAISERROR 337

16.3 使用TRY...CATCH 339

16.3.1 旧风格的错误处理 340

16.3.2 使用TRY...CATCH进行错误处理 342

16.3.3 不重编写存储过程来应用TRY...CATCH 343

16.3.4 嵌套调用TRY...CATCH 344

第17章 主体 347

17.1 Windows级别的主体 347

17.1.1 创建Windows登录名 348

17.1.2 查看Windows登录名 349

17.1.3 修改Windows登录名 349

17.1.4 删除Windows登录名 351

17.1.5 拒绝Windows用户或用户组的SQL Server访问 351

17.2 SQL Server级别的主体 352

17.2.1 创建SQL Server登录名 353

17.2.2 查看SQL Server登录名 354

17.2.3 修改SQL Server登录名 354

17.2.4 删除SQL登录名 356

17.2.5 管理服务器角色成员 356

17.2.6 报告固定服务器角色信息 357

17.3 数据库级别的主体 358

17.3.1 创建数据库用户 359

17.3.2 报告数据库用户信息 360

17.3.3 修改数据库用户 360

17.3.4 从数据库删除数据库用户 361

17.3.5 修复孤立的数据库用户 361

17.3.6 报告固定数据库角色信息 363

17.3.7 管理固定数据库角色成员 364

17.3.8 管理用户定义的数据库角色 365

17.3.9 管理应用程序角色 367

第18章 安全对象和权限 370

18.1 权限总览 370

18.2 服务器范围的安全对象和权限 373

18.3 数据库范围的安全对象和权限 375

18.4 架构范围的安全对象和权限 377

18.4.1 管理架构 380

18.4.2 管理架构的权限 381

18.5 对象的权限 382

18.6 管理权限访问安全对象范围 385

18.6.1 检测当前连接的安全对象的权限 385

18.6.2 通过安全对象范围报告主体的权限 387

18.6.3 改变安全对象所有权 389

18.6.4 允许SQL登录名访问非SQL Server的资源 391

第19章 加密 393

19.1 通过通行短语加密 393

19.2 主密钥 395

19.2.1 备份及还原服务主密钥 395

19.2.2 创建、重新生成以及删除数据库主密钥 397

19.2.3 备份及还原数据库主密钥 397

19.2.4 从数据库主密钥删除服务主密钥加密 398

19.3 非对称密钥加密 399

19.3.1 创建非对称密钥 400

19.3.2 查看当前数据库中的非对称密钥 400

19.3.3 修改非对称密钥的私钥密码 401

19.3.4 使用非对称密钥对数据进行加密和解密 401

19.3.5 删除非对称密钥 403

19.4 对称密钥加密 404

19.4.1 创建对称密钥 404

19.4.2 查看当前数据库中的对称密钥 405

19.4.3 改变对称密钥加密方式 405

19.4.4 使用对称密钥进行加密和解密 406

19.4.5 删除对称密钥 409

19.5 证书加密 410

19.5.1 创建数据库证书 410

19.5.2 查看数据库中的证书 411

19.5.3 备份和还原证书 411

19.5.4 管理证书的私钥 412

19.5.5 使用证书加密和解密 413

第20章 Service Broker 416

20.1 示例场景:在线书店 417

20.2 创建基本的Service Broker应用程序 417

20.2.1 启用数据库的Service Broker活动 418

20.2.2 创建加密用的数据库主密钥 418

20.2.3 管理消息类型 419

20.2.4 创建约定 420

20.2.5 创建队列 421

20.2.6 创建服务 423

20.2.7 启动对话 424

20.2.8 查询队列中传入的消息 426

20.2.9 检索并响应消息 426

20.2.10 结束会话 428

20.3 创建用来处理消息的存储过程 430

20.4 远程服务器Service Broker的实现 432

20.4.1 启用传输安全模式 435

20.4.2 启用对话安全模式 437

20.4.3 创建路由和远程服务绑定 439

20.5 事件通知 441

第21章 配置和查看SQL Server的选项 444

第22章 创建和配置数据库 448

22.1 创建、修改和删除数据库 448

22.1.1 使用默认配置创建数据库 448

22.1.2 查看数据库信息 449

22.1.3 使用文件选项创建数据库 450

22.1.4 使用用户定义文件组创建数据库 452

22.1.5 设置数据库用户访问 454

22.1.6 重命名数据库 456

22.1.7 删除数据库 457

22.1.8 分离数据库 457

22.1.9 附加数据库 459

22.2 配置数据库选项 460

22.2.1 查看数据库选项 460

22.2.2 配置ANSI SQL选项 461

22.2.3 配置自动选项 463

22.2.4 创建或修改允许外部访问的数据库 464

22.2.5 使用非服务器默认排序规则创建或改变数据库 465

22.2.6 配置游标选项 466

22.2.7 启用日期相关性优化 467

22.2.8 修改数据库参数化行为 468

22.2.9 为事务启用读取一致性 470

22.2.10 配置数据库恢复模式 472

22.2.11 配置页验证 473

22.3 控制数据库访问和拥有关系 475

22.3.1 改变数据库状态为联机、离线或紧急状态 475

22.3.2 改变数据库拥有者 476

22.4 管理数据库文件和文件组 477

22.4.1 为既有的数据库添加数据文件或日志文件 477

22.4.2 从数据库删除数据或日志文件 478

22.4.3 重新分配数据或事务日志文件 479

22.4.4 改变文件的逻辑名称 480

22.4.5 增加数据库丈件的大小和修改它的增长选项 481

22.4.6 为既有的数据库添加文件组 482

22.4.7 设置默认文件组 482

22.4.8 删除文件组 483

22.4.9 使数据库或文件组为只读 484

22.5 查看和管理数据库空间使用 485

22.5.1 查看数据库空间使用情况 485

22.5.2 收缩数据库或数据库文件 486

第23章 数据库完整性和优化 490

23.1 数据库检查 490

23.1.1 使用DBCC CHECKALLOC检查磁盘空间分配结构的一致性 491

23.1.2 使用DBCC CHECKDB检查所有数据库的分配和结构完整性 492

23.2 表和约束 494

23.2.1 使用DBCC CHECKFILEGROUP检查文件组中所有表的分配和结构完整性 494

23.2.2 使用DBCC CHECKTABLE检查表和索引视图的数据完整性 496

23.2.3 使用DBCC CHECKCONSTRAINTS检查表的完整性 498

23.2.4 使用DBCC CHECKCATALOG检查系统表的一致性 499

23.3 索引管理 500

23.3.1 重建索引 500

23.3.2 索引碎片整理 502

第24章 维护数据库对象和对象依赖 504

24.1 数据库对象维护 504

24.1.1 修改用户创建的数据库对象的名称 504

24.1.2 修改对象的架构 506

24.2 对象依赖关系 506

24.2.1 显示数据库对象依赖关系的信息 506

24.2.2 查看对象定义 507

第25章 数据库镜像 509

25.1 上下文中的数据库镜像 509

25.2 数据库镜像架构 510

25.3 设置数据库镜像 511

25.3.1 创建镜像端点 512

25.3.2 备份和还原主体数据库 515

25.3.3 创建数据库镜像会话 517

25.4 设置总结 519

25.5 运行数据库镜像 520

25.5.1 改变运行模式 520

25.5.2 进行故障转移 521

25.5.3 暂停或继续镜像会话 522

25.5.4 停止镜像会话和删除端点 522

25.6 镜像和配置选项 523

25.6.1 监视镜像状态 523

25.6.2 减少故障转移的时间 524

25.6.3 配置连接超时时限 524

第26章 数据库快照 526

26.1 快照基础 526

26.1.1 创建和查询数据库快照 526

26.1.2 删除数据库快照 528

26.1.3 从数据库快照恢复数据 528

第27章 链接服务器和分布式查询 531

27.1 链接服务器基础 531

27.1.1 为另一SQL Server实例创建链接服务器 532

27.1.2 配置链接服务器属性 533

27.1.3 查看链接服务器信息 534

27.1.4 删除链接服务器 534

27.2 链接服务器登录名 535

27.2.1 添加链接服务器登录名映射 535

27.2.2 查看链接登录名 536

27.2.3 删除链接服务器登录名映射 536

27.3 执行分布式查询 537

27.3.1 在链接服务器上执行分布式查询 537

27.3.2 创建和使用引用4部分组成的链接服务器名的别名 538

27.3.3 使用OPENQUERY执行分布式查询 539

27.3.4 使用OPENROWSET执行即席的查询 540

27.3.5 使用OPENROWSET BULK选项从文件中读取数据 541

第28章 性能调优 544

28.1 查询性能技巧 545

28.2 捕捉和估计查询性能 546

28.2.1 使用SQL Server Profiler捕捉高持续时间的查询 546

28.2.2 使用Sys.dm_exec_requests捕捉执行的查询 549

28.2.3 查看查询的图形化执行计划 550

28.2.4 使用T-SQL命令查看估计的查询执行计划 554

28.2.5 强制SQL Server 2005使用查询计划 556

28.2.6 查看执行运行时信息 558

28.2.7 查看性能统计信息和缓存的查询计划 560

28.3 统计信息 562

28.3.1 手动创建统计信息 562

28.3.2 更新统计信息 563

28.3.3 生成及更新所有表的统计信息 564

28.3.4 查看统计信息 565

28.3.5 删除统计信息 566

28.4 索引调优 566

28.4.1 显示索引碎片 567

28.4.2 显示索引使用情况 570

28.4.3 使用数据库引擎优化顾问 571

28.5 杂项技术 575

28.5.1 使用执行动态SQL的另一种方法 576

28.5.2 不修改应用程序的SQL去应用提示 578

第29章 备份与恢复 582

29.1 创建备份和恢复计划 582

29.2 备份 584

29.2.1 执行基本的完整备份 585

29.2.2 命名和描述备份和媒体 588

29.2.3 配置备份保持期 589

29.2.4 条带化备份集 590

29.2.5 使用命名的备份设备 590

29.2.6 镜像备份集 592

29.2.7 执行事务日志备份 593

29.2.8 使用COPY ONLY备份集 595

29.2.9 执行差异备份 595

29.2.10 备份单个丈件或文件组 596

29.2.11 执行部分备份 598

29.2.12 查看备份元数据 599

29.3 还原数据库 601

29.3.1 从完整备份还原数据库 601

29.3.2 从事务日志备份还原数据库 605

29.3.3 从差异备份还原数据库 607

29.3.4 还原文件或文件组 608

29.3.5 执行部分(PARTIAL)还原 609

29.3.6 还原页面 611

索引 612