当前位置:首页 > 工业技术
SQL Server 2008实战
SQL Server 2008实战

SQL Server 2008实战PDF电子书下载

工业技术

  • 电子书积分:20 积分如何计算积分?
  • 作 者:JosephSack编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115221063
  • 页数:713 页
图书介绍:T-SQL一直以来都是SQL Server所有编程的基础。和传统的T-SQL书籍不同,本书以独特的“技巧”形式来介绍知识点,涵盖了数据处理、数据应用和数据库配置3个方面的内容。其中每一个技巧中都包含了有代表性的示例和精炼的解析。
《SQL Server 2008实战》目录
标签:编著 实战

第1章 SELECT 1

1.1 基本的SELECT语句 1

1.1.1 从表中选择指定列 2

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

1.2 使用基本WHERE子句进行有选择的查询 3

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

1.2.2 组合搜索条件 4

1.2.3 否定搜索条件 5

1.2.4 保持WHERE子句无歧义 5

1.3 使用运算符和表达式 6

1.3.1 在日期范围搜索中使用BETWEEN 7

1.3.2 使用比较运算符 8

1.3.3 检测NULL值 9

1.3.4 基于一组值返回行 9

1.3.5 LIKE和通配符结合使用 9

1.3.6 声明变量及为变量赋值 11

1.4 数据分组 12

1.4.1 使用GROUP BY子句 12

1.4.2 使用GROUP BY ALL 13

1.4.3 使用HAVING选择性地查询分组的数据 13

1.5 对结果排序 14

1.5.1 使用ORDER BY子句 15

1.5.2 在排序的结果中使用TOP关键字 16

1.6 SELECT子句技术 18

1.6.1 使用DISTINCT消除重复值 18

1.6.2 在聚合函数中使用DISTINCT 18

1.6.3 使用列别名 19

1.6.4 使用SELECT创建脚本 20

1.6.5 字符串拼接 21

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

1.6.7 使用INTO子句 22

1.7 子查询 23

1.8 从多个数据源查询 24

1.8.1 使用内联结 25

1.8.2 使用外联结 26

1.8.3 使用交叉联结 27

1.8.4 在同一查询中多次引用同一个表 27

1.8.5 使用衍生表 28

1.8.6 使用UNION组合结果集 29

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

1.9.1 使用CROSS APPLY 30

1.9.2 使用OUTER APPLY 32

1.10 数据源高级技术 33

1.10.1 使用TABLESAMPLE来返回随机行 33

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

1.10.3 使用UNPIVOT规范化数据 36

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

1.11 汇总数据 40

1.11.1 使用CUBE汇总数据 40

1.11.2 使用ROLLUP来汇总数据 42

1.11.3 使用分组集创建自定义汇总 43

1.11.4 展现GROUPING生成的行 44

1.11.5 使用GROUPING_ID标识分组级别 46

1.12 公共表表达式 49

1.12.1 使用非递归的公共表表达式 49

1.12.2 使用递归的公共表表达式 52

第2章 执行、捕获和跟踪数据修改 55

2.1 INSERT 55

2.1.1 向表中插入一行 55

2.1.2 使用默认值插入行 56

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

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

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

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

2.1.7 通过VALUES插入多个行 62

2.1.8 将VALUES作为表源来使用 62

2.2 UPDATE 63

2.2.1 更新一行 64

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

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

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

2.2.5 在维护SQL Server事务控制时向文件系统存储非结构化数据 69

2.2.6 “就地”赋值并修改数据库值 73

2.3 DELETE 75

2.3.1 删除行 75

2.3.2 截断表 76

2.4 高级数据修改技术 77

2.4.1 使用TOP分块修改数据 77

2.4.2 在一条语句中执行INSERT、UPDATE和DELETE 78

2.5 捕获和跟踪数据修改的改变 81

2.5.1 返回数据修改语句影响的行 81

2.5.2 异步捕获表数据修改 83

2.5.3 从CDC表查询所有变更 87

2.5.4 从CDC表查询净变更 89

2.5.5 翻译CDC更新掩码 90

2.5.6 使用LSN边界 92

2.5.7 禁用对表和数据库的变更数据捕获 93

2.5.8 以最小的磁盘开销跟踪净数据更改 93

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

3.1 事务控制 100

3.1.1 使用显式事务 101

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

3.1.3 通过会话查询事务信息 104

3.2 锁定 106

3.2.1 查看锁的活动 108

3.2.2 控制表的锁升级行为 109

3.3 事务、锁定和并发 110

3.4 阻塞 115

3.4.1 找到并解决阻塞进程 116

3.4.2 配置语句等待锁释放的时长 118

3.5 死锁 118

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

3.5.2 设置死锁优先级 121

第4章 表 123

4.1 表基础 123

4.1.1 创建表 126

4.1.2 为既有表添加列 126

4.1.3 修改列定义 127

4.1.4 创建计算列 128

4.1.5 减少NULL列的存储空间 129

4.1.6 删除表中的列 131

4.1.7 报告表信息 132

4.1.8 删除表 132

4.2 排序规则基础 133

4.2.1 查看排序规则元数据 133

4.2.2 指定列的排序规则 134

4.3 键 134

4.3.1 创建有主键的表 135

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

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

4.3.4 为既有表增加外键 137

4.3.5 创建递归外键引用 138

4.3.6 允许外键的级联修改 139

4.4 代理键 140

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

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

4.4.3 使用ROWGUIDCOL属性 143

4.5 约束 143

4.5.1 创建唯一约束 144

4.5.2 为既有表增加UNIQUE约束 145

4.5.3 使用CHECK约束 145

4.5.4 为既有表增加CHECK约束 146

4.5.5 禁止和启用约束 147

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

4.5.7 为既有表增加DEFAULT约束 149

4.5.8 从表删除约束 150

4.6 临时表和表变量 150

4.6.1 使用临时表在批处理中进行多次查找 151

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

4.7 管理超大型表 153

4.7.1 实现表分区 154

4.7.2 确定数据在分区中的位置 157

4.7.3 增加新的分区 158

4.7.4 移除分区 160

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

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

4.7.7 用文件组提高VLDB的可管理性 162

4.7.8 用数据压缩减少磁盘空间使用 164

第5章 索引 167

5.1 索引预览 167

5.1.1 创建表索引 169

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

5.1.3 在多个列上创建索引 171

5.1.4 定义索引列排序方向 172

5.1.5 查看索引元数据 172

5.1.6 禁用索引 174

5.1.7 删除索引 174

5.1.8 使用DROP_EXISTING改变既有索引 174

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

5.2.1 在tempdb中创建临时索引 175

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

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

5.3 索引选项 177

5.3.1 使用索引INCLUDE 177

5.3.2 使用PAD_INDEX和FILLFACTOR 178

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

5.4 管理超大型索引 179

5.4.1 在文件组上创建索引 180

5.4.2 实现索引分区 180

5.4.3 为行的子集做索引 181

5.4.4 减小索引的大小 182

第6章 全文搜索 183

6.1 全文索引和全文目录 183

6.1.1 创建全文目录 183

6.1.2 创建全文索引 184

6.1.3 修改全文目录 186

6.1.4 修改全文索引 187

6.1.5 检索全文目录和索引元数据 189

6.1.6 从全文索引中去掉普通字符串 190

6.1.7 删除全文索引 193

6.1.8 删除全文目录 193

6.2 基本搜索 194

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

6.2.2 使用CONTAINS来搜索单词 195

6.3 高级搜索 196

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

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

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

6.4 排名搜索 197

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

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

第7章 视图 201

7.1 普通视图 201

7.1.1 创建基本视图 202

7.1.2 查询视图定义 203

7.1.3 显示视图及其结构 204

7.1.4 刷新视图定义 205

7.1.5 修改视图 206

7.1.6 删除视图 206

7.1.7 使用视图修改数据 206

7.2 视图加密 207

7.3 索引视图 208

7.3.1 创建索引视图 208

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

7.4 分区视图 211

第8章 SQL Server函数 216

8.1 聚合函数 216

8.1.1 返回平均值 217

8.1.2 返回行总数 217

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

8.1.4 返回值的和 218

8.1.5 使用统计聚合函数 219

8.2 数学函数 219

8.3 字符串函数 221

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

8.3.2 返回整数和字符Unicode值 222

8.3.3 获取某个字符串在另一个字符串中的起始位置 223

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

8.3.5 检测字符串相似度 224

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

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

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

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

8.3.10 在小写和大写之间进行转化 227

8.3.11 移除前导空格和尾部空格 228

8.3.12 重复一个表达式N次 228

8.3.13 重复一个空格N次 229

8.3.14 逆序输出表达式 229

8.3.15 返回表达式的一块 229

8.4 处理NULL 230

8.4.1 用另一个值替换NULL值 230

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

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

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

8.5 日期函数 233

8.5.1 返回当前日期和时间 233

8.5.2 在时区间进行转换 234

8.5.3 增加或减少日期值 235

8.5.4 找出两个日期的差 236

8.5.5 显示日期一部分的字符串值 237

8.5.6 使用DATEPART显示日期一部分的整数值 237

8.5.7 使用YEAR、MONTH和DAY显示日期一部分的整数值 238

8.6 类型转换 238

8.6.1 转换数据类型 238

8.6.2 将日期转换为文本形式 239

8.6.3 以字符串字面量表示二进制数据 240

8.6.4 计算表达式返回的数据类型 241

8.7 排名函数 242

8.7.1 生成递增行号 242

8.7.2 根据排名返回行 244

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

8.7.4 使用NTILE 246

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

8.8.1 确定每周的第一天 246

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

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

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

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

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

8.8.7 返回打开事务的数量 249

8.8.8 获取之前语句影响的行数 250

8.8.9 获取系统统计信息 250

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

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

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

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

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

8.8.15 查看用户连接选项 254

8.9 IDENTITY和uniqueidentifier函数 255

8.9.1 返回最后一个标识值 255

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

8.9.3 创建新的uniqueidentifier值 256

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

9.1 条件处理 258

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

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

9.1.3 使用IF...ELSE 261

9.2 流控制 262

9.2.1 使用RETURN 263

9.2.2 使用WHILE 264

9.2.3 使用GOTO 266

9.2.4 使用WAITFOR 267

9.3 游标 268

第10章 存储过程 273

10.1 存储过程基础 273

10.1.1 创建基本的存储过程 274

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

10.1.3 使用OUTPUT参数 277

10.1.4 修改存储过程 278

10.1.5 删除存储过程 279

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

10.1.7 报告存储过程元数据 281

10.1.8 为存储过程建立文档 281

10.2 存储过程安全 282

10.2.1 加密存储过程 282

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

10.3 重新编译和缓存 286

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

10.3.2 清空过程缓存 287

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

11.1 UDF基础 289

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

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

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

11.1.4 修改用户定义函数 299

11.1.5 查看UDF元数据 300

11.1.6 移除用户定义函数 301

11.2 从UDF获益 301

11.2.1 维护可重用的代码 302

11.2.2 交叉引用的自然键值 303

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

11.3 UDT基础知识 308

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

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

11.3.3 删除用户定义类型 311

11.3.4 传入表值参数 312

第12章 触发器 315

12.1 DML触发器 316

12.1.1 创建AFTER DML触发器 316

12.1.2 创建INSTEAD OF DML触发器 319

12.1.3 在DML触发器中处理事务 322

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

12.1.5 查看DML触发器元数据 325

12.2 DDL触发器 326

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

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

12.2.3 使用登录触发器 329

12.2.4 查看DDL触发器元数据 331

12.3 管理触发器 332

12.3.1 修改触发器 332

12.3.2 启用和禁止表触发器 333

12.3.3 限制触发器嵌套 334

12.3.4 控制触发器递归 335

12.3.5 设置触发器触发次序 336

12.3.6 删除触发器 338

第13章 CLR集成 339

13.1 CLR概述 339

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

13.3 CLR对象概述 341

13.4 创建CLR数据库对象 341

13.4.1 启用SQL Server的CLR支持 342

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

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

13.4.4 把程序集载入SQL Server 345

13.4.5 创建CLR存储过程 346

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

13.4.7 创建CLR触发器 350

13.5 管理程序集 352

13.5.1 查看程序集元数据 352

13.5.2 修改程序集权限 352

13.5.3 从数据库移除程序集 353

第14章 XML、分层和空间数据 354

14.1 使用原生XML 354

14.1.1 创建XML数据类型列 354

14.1.2 插入XML数据到列 355

14.1.3 使用架构验证XML数据 356

14.1.4 获取XML数据 358

14.1.5 修改XML数据 361

14.1.6 XML索引 362

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

14.2.1 将关系型数据格式化为XML 363

14.2.2 将XML转换为关系型 366

14.3 使用原生分层数据 368

14.3.1 存储分层数据 368

14.3.2 返回指定的祖先 370

14.3.3 返回子节点 371

14.3.4 返回节点的深度 371

14.3.5 返回根节点 372

14.3.6 确定节点是否为当前节点的子节点 372

14.3.7 更改节点位置 372

14.4 原生空间数据 373

14.4.1 存储空间数据 373

14.4.2 查询空间数据 376

第15章 提示 380

15.1 使用联结提示 380

15.2 使用查询提示 382

15.3 使用表提示 384

15.3.1 不锁定执行查询 385

15.3.2 强制SEEK覆盖SCAN 385

第16章 错误处理 388

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

16.1.1 查看系统错误信息 388

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

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

16.2 手动引发错误 391

16.3 捕获和处理应用程序错误 393

16.3.1 旧风格的错误处理 394

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

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

16.3.4 嵌套错误处理 398

第17章 主体 401

17.1 Windows级别的主体 401

17.1.1 创建Windows登录名 402

17.1.2 查看Windows登录名 403

17.1.3 修改Windows登录名 403

17.1.4 删除Windows登录名 404

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

17.2 SQL Server级别的主体 405

17.2.1 创建SQL Server登录名 407

17.2.2 查看SQL Server登录名 407

17.2.3 修改SQL Server登录名 408

17.2.4 管理登录名的密码 409

17.2.5 删除SQL登录名 409

17.2.6 管理服务器角色成员 410

17.2.7 报告固定服务器角色信息 411

17.3 数据库级别的主体 412

17.3.1 创建数据库用户 413

17.3.2 报告数据库用户信息 414

17.3.3 修改数据库用户 414

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

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

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

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

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

17.3.9 管理应用程序角色 420

第18章 安全对象、权限和审核 423

18.1 权限总览 424

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

18.2.1 管理服务器权限 428

18.2.2 查询服务器权限 429

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

18.3.1 管理数据库权限 431

18.3.2 查询数据库权限 432

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

18.4.1 管理架构 436

18.4.2 管理架构的权限 437

18.5 对象的权限 438

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

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

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

18.6.3 改变安全对象所有权 445

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

18.7 对安全对象的主体审核SQL实例和数据库级别活动 447

18.7.1 定义审核数据源 447

18.7.2 捕获SQL实例范围的事件 450

18.7.3 捕获数据库范围的事件 452

18.7.4 查询捕获的审核数据 455

18.7.5 管理、修改和移除审核对象 458

第19章 加密 462

19.1 通过通行短语加密 462

19.2 主密钥 464

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

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

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

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

19.3 非对称密钥加密 469

19.3.1 创建非对称密钥 469

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

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

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

19.3.5 删除非对称密钥 473

19.4 对称密钥加密 473

19.4.1 创建对称密钥 474

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

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

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

19.4.5 删除对称密钥 479

19.5 证书加密 479

19.5.1 创建数据库证书 479

19.5.2 查看数据库中的证书 480

19.5.3 备份和还原证书 480

19.5.4 管理证书的私钥 482

19.5.5 使用证书加密和解密 483

19.5.6 通过对称密钥自动打开和解密 484

19.6 透明数据加密 486

19.6.1 启用透明数据加密 486

19.6.2 管理和移除TDE 487

第20章 Service Broker 489

20.1 示例场景:在线书店 489

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

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

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

20.2.3 管理消息类型 492

20.2.4 创建约定 493

20.2.5 创建队列 494

20.2.6 创建服务 496

20.2.7 启动对话 497

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

20.2.9 检索并响应消息 499

20.2.10 结束会话 501

20.2.11 设定Service Broker会话的优先级 503

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

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

20.4.1 启用传输安全模式 510

20.4.2 启用对话安全模式 512

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

20.5 事件通知 517

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

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

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

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

22.1.2 查看数据库信息 525

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

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

22.1.5 设置数据库用户访问 530

22.1.6 重命名数据库 532

22.1.7 删除数据库 533

22.1.8 分离数据库 533

22.1.9 附加数据库 535

22.2 配置数据库选项 535

22.2.1 查看数据库选项 536

22.2.2 配置ANSI SQL选项 536

22.2.3 配置自动选项 538

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

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

22.2.6 配置游标选项 541

22.2.7 启用日期相关性优化 542

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

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

22.2.10 配置数据库恢复模式 547

22.2.11 配置页验证 548

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

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

22.3.2 修改数据库拥有者 551

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

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

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

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

22.4.4 修改文件的逻辑名称 555

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

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

22.4.7 设置默认文件组 557

22.4.8 删除文件组 558

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

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

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

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

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

23.1 数据库检查 565

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

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

23.2 表和约束 569

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

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

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

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

23.3 索引维护 575

23.3.1 重建索引 575

23.3.2 索引碎片整理 577

23.3.3 重建堆 578

第24章 维护数据库对象和对象依赖关系 579

24.1 数据库对象维护 579

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

24.1.2 修改对象的架构 581

24.2 对象依赖关系 581

24.2.1 标识对象依赖关系 581

24.2.2 标识引用和被引用的实体 583

24.2.3 查看对象定义 585

第25章 数据库镜像 587

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

25.2 数据库镜像体系结构 588

25.3 设置数据库镜像 589

25.3.1 创建镜像端点 590

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

25.3.3 创建数据库镜像会话 595

25.4 设置总结 597

25.5 运行数据库镜像 598

25.5.1 改变运行模式 598

25.5.2 进行故障转移 599

25.5.3 暂停或继续镜像会话 600

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

25.6 镜像和配置选项 601

25.6.1 监视镜像状态 601

25.6.2 配置连接超时时限 601

第26章 数据库快照 603

26.1 快照基础 603

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

26.1.2 删除数据库快照 605

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

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

27.1 链接服务器基础 608

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

27.1.2 配置链接服务器属性 610

27.1.3 查看链接服务器信息 611

27.1.4 删除链接服务器 611

27.2 链接服务器登录名 612

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

27.2.2 查看链接登录名 613

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

27.3 执行分布式查询 614

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

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

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

27.3.4 使用OPENROWSET执行临时的查询 617

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

第28章 查询性能调优 621

28.1 查询性能技巧 622

28.2 捕捉和评估查询性能 623

28.2.1 使用sys.dm_exec_requests捕捉执行的查询 623

28.2.2 使用T-SQL命令查看评估的查询执行计划 624

28.2.3 查看执行运行时信息 627

28.2.4 查看性能统计信息和缓存的查询计划 629

28.2.5 基于查询或计划模式查看聚合的性能统计信息 630

28.2.6 标识出最大瓶颈 632

28.2.7 通过数据库和文件标识出I/O争用 633

28.3 索引调优 634

28.3.1 显示索引碎片 635

28.3.2 显示索引使用情况 637

28.4 统计信息 638

28.4.1 手动创建统计信息 639

28.4.2 行子集上创建统计信息 640

28.4.3 更新统计信息 640

28.4.4 生成及更新所有表的统计信息 641

28.4.5 查看详细的统计信息 642

28.4.6 删除统计信息 643

28.5 杂项技术 643

28.5.1 使用动态SQL的替代方法 644

28.5.2 强制SQL Server使用查询计划 646

28.5.3 不修改应用程序的SQL去应用提示 648

28.5.4 从缓存创建计划指南 651

28.5.5 检查计划指南的有效性 653

28.5.6 使用计划指南将非参数化查询参数化 653

28.5.7 限制查询资源消耗竞争 656

第29章 备份与恢复 662

29.1 创建备份和恢复计划 662

29.2 生成备份 663

29.2.1 执行基本的完全备份 665

29.2.2 压缩备份 666

29.2.3 命名和描述备份和媒体 668

29.2.4 配置备份保持期 669

29.2.5 条带化备份集 670

29.2.6 使用命名的备份设备 670

29.2.7 镜像备份集 672

29.2.8 执行事务日志备份 673

29.2.9 不破坏备份序列创建备份 674

29.2.10 执行差异备份 675

29.2.11 备份单个文件或文件组 675

29.2.12 执行部分备份 677

29.2.13 查看备份元数据 678

29.3 还原数据库 679

29.3.1 从完全备份还原数据库 679

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

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

29.3.4 还原文件或文件组 685

29.3.5 执行部分(PARTIAL)还原 686

29.3.6 还原页面 687

29.3.7 用多种恢复路径识别数据库 688

索引 691

返回顶部