新闻资讯
看你所看,想你所想

突出重围:Transact-SQL管理与开发实例精粹

突出重围:Transact-SQL管理与开发实例精粹

突出重围:Transact-SQL管理与开发实例精粹

《突出重围:Transact-SQL管理与开发实例精粹》是年电子工业出版社出版的图书,作者是赵松涛。

基本介绍

  • 书名:突出重围:Transact-SQL管理与开发实例精粹
  • ISBN:9787121114472
  • 页数:436页
  • 出版社:电子工业出版社
  • 装帧:平装
  • 开本:16

内容简介

《突出重围:Transact-SQL管理与开发实例精粹》将作者10余年从事SQL Server资料库管理和开发经验积累的Transact-SQL综合性实例整理归类并进行剖析。可以帮助读者快速借鉴和开发出适合自己的Transact-SQL实例,这些实例既可以用于资料库管理,也可以用于资料库系统开发。同时,由于Transact-SQL语言良好的传承和继承性,因此,《突出重围:Transact-SQL管理与开发实例精粹》的绝大部分代码可以跨越SQL Server版本的限制,在SQL Server 2008、2005甚至2000上都可以使用,即使今后推出的新版本,几乎也不用修改就可以移植使用。《突出重围:Transact-SQL管理与开发实例精粹》涉及Transact-SQL使用的各个方面,但又不是在线上丛书语法的简单複製,而是侧重于通过实例来学习综合使用Transact-SQL各语法要素完成特定任务的方法。
《突出重围:Transact-SQL管理与开发实例精粹》既适合资料库管理人员,也适合开发人员阅读和参考,还可作为大中专院校及各类培训班的教材,极具实用性。

目录

第1章 Transact-SQL语法元素1
1.1 标识符1
1.1.1 必须有标识符吗1
1.1.2 标识符的排序规则1
1.1.3 常规标识符2
1.1.4 带分隔设定的标识符3
1.2 数据类型3
1.2.1 哪些对象需要数据类型3
1.2.2 如何选择恰当的数据类型4
1.2.3 基本数据类型5
1.2.4 SQL Server 2008新增数据类型5
1.2.5 深入研究tinyint数据类型6
1.2.6 深入研究smallint数据类型8
1.2.7 深入研究int(Integer)数据类型10
1.2.8 深入研究bigint数据类型12
1.2.9 decimal(numeric)数据类型的使用14
1.2.10 float数据类型的使用16
1.2.11 real数据类型的使用17
1.2.12 char数据类型的使用17
1.2.13 varchar数据类型的使用17
1.2.14 用CAST函式转换数据类型18
1.2.15 用CONVERT函式转换数据类型18
1.3 常量19
1.3.1 数值型常量的格式19
1.3.2 字元串型常量的格式20
1.3.3 日期时间型常量的格式20
1.4 注释20
1.4.1 添加单行注释信息20
1.4.2 添加多行注释信息20
1.5 变数21
1.5.1 变数的数据类型21
1.5.2 变数的分类21
1.5.3 局部变数的声明21
1.5.4 局部变数的赋值22
1.5.5 局部变数的作用域23
1.6 常用聚合函式23
1.6.1 计算平均值AVG23
1.6.2 计算最小值MIN24
1.6.3 计算最大值MAX25
1.6.4 计算求和值SUM26
1.6.5 计算项数值COUNT(COUNT_BIG)26
1.6.6 计算标準偏差值STDEV27
1.6.7 计算方差VAR28
1.7 常用日期时间函式29
1.7.1 获取当前日期GETDATE29
1.7.2 获取年度信息YEAR30
1.7.3 获取月份信息MONTH30
1.7.4 获取天数信息DAY30
1.7.5 任意获取日期时间值部分DATEPART31
1.7.6 日期加法DATEADD31
1.7.7 日期减法DATEDIFF32
1.7.8 2008中新增的日期时间型函式33
1.7.9 判断是否为日期数据ISDATE33
1.8 常用字元串函式33
1.8.1 获取字元的ASCII码ASCII33
1.8.2 获取ASCII码对应的字元CHAR34
1.8.3 获取字元的Unicode编码UNICODE35
1.8.4 获取Unicode编码对应的字元NCHAR36
1.8.5 获取字元串第一次出现位置PATINDEX36
1.8.6 生成空格字元串SPACE37
1.8.7 按指定次数重複生成字元串REPLICATE38
1.8.8 截取子串SUBSTRING39
1.8.9 获取字元串长度LEN39
1.8.10 替换字元串中内容STUFF40
1.8.11 指定位置搜寻字元串中内容CHARINDEX41
1.8.12 生成带分隔设定的Unicode字元串QUOTENAME42
1.8.13 转换浮点数字为字元串STR42
1.8.14 截取左边字元串LEFT43
1.8.15 截取右边字元串RIGHT43
1.8.16 截取左边空格LTRIM44
1.8.17 截取右边空格RTRIM44
1.8.18 转换为小写字元串LOWER45
1.8.19 转换为大写字元串UPPER45
1.8.20 反序字元串REVERSE46
1.8.21 获取字元串位元组数DATALENGTH46
1.9 常用文本和图像函式47
1.9.1 查找特定字元串PATINDEX47
1.9.2 获取文本指针TEXTPTR47
1.9.3 检测文本指针是否有效TEXTVALID49
1.9.4 读取文本图像列内容READTEXT49
1.9.5 写入文本图像列内容WRITETEXT50
1.9.6 更新文本图像列内容UPDATETEXT51
1.10 常用数学函式52
1.10.1 计算绝对值ABS52
1.10.2 获取大于等于的最小整数值CEILING53
1.10.3 获取小于等于的最大整数值FLOOR53
1.10.4 获取随机数RAND53
1.10.5 获取指定长度和精度ROUND54
1.11 常用元数据函式54
1.11.1 获取资料库标识符DB_ID54
1.11.2 获取资料库名称DB_NAME55
1.11.3 获取资料库属性值DATABASEPROPERTYEX56
1.11.4 获取档案组标识符FILEGROUP_ID57
1.11.5 获取档案组名称FILEGROUP_NAME58
1.11.6 获取档案组属性值FILEGROUPPROPERTY58
1.11.7 获取档案标识符FILE_ID60
1.11.8 获取档案名称称FILE_NAME61
1.11.9 获取档案属性值FILEPROPERTY62
1.11.10 获取数据对象标识符OBJECT_ID63
1.11.11 获取数据对象名称OBJECT_NAME64
1.11.12 获取档案属性值OBJECTPROPERTYEX66
1.12 运算符67
1.12.1 算术运算符67
1.12.2 位运算符68
1.12.3 比较运算符68
1.12.4 逻辑运算符68
1.12.5 字元串连线运算符69
1.12.6 赋值运算符69
1.12.7 运算符的优先权69
第2章 Transact-SQL语句70
2.1 控制流语句70
2.1.1 程式块语句BEGIN..END70
2.1.2 判断语句IF..ELSE71
2.1.3 循环语句WHILE72
2.1.4 分支判断语句CASE74
2.1.5 无条件退出语句RETURN75
2.1.6 无条件跳转语句GOTO77
2.1.7 延期执行语句WAITFOR78
2.2 运行时生成语句79
2.2.1 用EXECUTE执行动态命令80
2.2.2 用SP_EXECUTESQL执行动态命令81
2.2.3 参数替换83
2.2.4 为什幺提倡使用SP_EXECUTESQL84
2.2.5 使用输出参数的SP_EXECUTESQL85
2.3 语句之间数据的传递86
2.3.1 Transact-SQL语句之间数据的传递86
2.3.2 Transact-SQL与高级语言之间数据的传递87
2.4 错误处理90
2.4.1 SQL Server资料库引擎错误91
2.4.2 用TRY..CATCH发现错误91
2.4.3 捕获错误的系统函式92
2.4.4 用@@ERROR捕获上一条语句的错误93
2.4.5 用RAISERROR反馈错误94
2.5 批处理96
2.5.1 GO的含义96
2.5.2 研究批处理的执行96
2.5.3 批处理的意义99
2.5.4 为什幺临时变数作用域不能跨批处理100
2.5.5 如何编写批处理101
2.5.6 批处理如何处理错误101
2.5.7 脚本102
第3章 查询伺服器配置信息103
3.1 配置查询环境103
3.2 查询伺服器属性值104
3.2.1 ServerProperty系统函式104
3.2.2 查询资料库引擎版本105
3.2.3 综合使用ServerProperty函式查询105
3.3 判断登录账户身份106
3.4 读写注册表信息106
3.4.1 读注册表xp_regenumvalues107
3.4.2 读注册表xp_regread107
3.4.3 写注册表xp_regwrite108
3.4.4 删除注册表项xp_regdeletevalue108
3.4.5 读注册表项xp_instance_regread109
3.4.6 写注册表xp_instance_regwrite109
3.4.7 读注册表中的主要数据档案路径信息110
3.4.8 读注册表中的错误日誌档案路径信息111
3.4.9 读注册表中的日誌档案路径信息112
3.5 综合实例113
3.5.1 获取“常规”选项卡信息113
3.5.2 获取伺服器配置参数信息114
3.5.3 获取伺服器上资料库信息115
3.5.4 获取伺服器上处理器数量115
3.5.5 提升SQL Server伺服器优先权116
3.5.6 获得Windows版本信息116
3.5.7 获得身份验证机制117
3.5.8 获得登录审核机制118
3.5.9 自动检测伺服器重要的配置参数118
3.5.10 查询伺服器的用户或用户组126
3.5.11 查询用户角色或应用程式角色127
第4章 登录过程129
4.1 连线129
4.1.1 查询所有连线信息129
4.1.2 查询连线总数130
4.1.3 查询阻塞的连线130
4.1.4 查询用户建立的连线130
4.1.5 查询系统建立的连线130
4.1.6 查询活动的用户连线131
4.1.7 查询用户连线的不同客户机131
4.2 配置131
4.2.1 查询当前系统配置131
4.2.2 查询当前最大工作执行绪数132
4.3 会话132
4.3.1 查询伺服器上的所有会话132
4.3.2 查询会话建立的游标132
4.3.3 查询会话的错误信息133
4.3.4 查询会话的缓冲区命中率133
4.3.5 查询会话的作业系统执行绪134
4.3.6 查询当前会话ID135
4.4 综合运用135
4.4.1 综合查询连线统计信息135
4.4.2 判断当前登录的许可权137
4.4.3 查询会话逾时设定137
4.4.4 判断连线是否为DAC138
4.4.5 查询当前连线的网路参数138
4.4.6 查询SQL Server版本信息139
4.4.7 查询伺服器基本属性139
4.4.8 查询当前登录名141
4.4.9 查询当前的活动事务数141
4.4.10 查询资料库缓冲区命中率低的会话141
4.4.11 查询资料库缓冲区命中率最低的会话的SQL语句142
第5章 资料库相关144
5.1 查询资料库信息144
5.1.1 查询所有的用户资料库名称144
5.1.2 用sp_dboption存储过程配置资料库145
5.1.3 配置资料库的恢复模式145
5.1.4 判断资料库的名称是否含有特定字元146
5.1.5 判断两个资料库的排序规则是否一致147
5.1.6 判断资料库是否系统资料库和可读148
5.1.7 查询可以访问的资料库148
5.1.8 查询资料库的档案149
5.1.9 查询资料库的系统表150
5.1.10 查询资料库的排序规则151
5.1.11 查询资料库的排序规则Windows代码152
5.1.12 查询资料库支持的排序规则152
5.1.13 统计资料库上的进程数152
5.1.14 查询资料库的兼容性级别153
5.1.15 查询资料库的最后备份时间153
5.1.16 查询资料库的最后日誌备份时间153
5.2 资料库的存储空间154
5.2.1 查询资料库的总空间154
5.2.2 查询资料库的数据档案总空间154
5.2.3 查询资料库的日誌档案总空间155
5.2.4 查询数据档案已经分配的空间155
5.2.5 查询数据档案的可用空间155
5.2.6 查询日誌档案已经分配的空间157
5.3 综合运用159
5.3.1 查询资料库的属性159
5.3.2 获取所有资料库的数据档案空间使用率排序159
第6章 未公开的DBCC命令162
6.1 DBCC PAGE查询数据页面162
6.1.1 查询DBID和DBNAME163
6.1.2 查询FILENUM和PAGENUM163
6.1.3 DBCC PAGE的典型用法163
6.2 DBCC LOG查询日誌164
6.3 DBCC ERRORLOG初始化错误日誌165
6.4 DBCC FLUSHPROCINDB清除快取存储过程166
6.5 DBCC BUFFER查询缓冲区166
6.6 DBCC DBINFO显示资料库结构167
6.7 DBCC DBTABLE显示数据字典168
6.8 DBCC IND显示錶的索引页面信息168
6.9 DBCC PRTIPAGE显示索引每行的数据页169
6.10 DBCC RESOURCE显示伺服器资源情况169
6.11 DBCC DBRECOVER恢复质疑资料库170
6.12 DBCC CACHESTATS查看记忆体统计信息170
6.13 DBCC MEMORYSTATUS查询记忆体分配171
6.14 DBCC跟蹤标记171
6.14.1 概念171
6.14.2 打开跟蹤标记172
6.14.3 关闭跟蹤标记172
6.14.4 查询跟蹤标记状态172
6.15 DBCC SHOWFILESTATS显示数据档案空间172
6.16 WITH TABLERESULTS表格显示信息173
6.17 DBCC LOGINFO查询虚拟日誌信息173
6.18 DBCC EXTENTINFO查询盘区数174
第7章 数据和日誌档案176
7.1 FILEPROPERTY函式获得档案属性176
7.1.1 判断档案是否唯读176
7.1.2 判断档案是否主要数据档案177
7.1.3 查询档案已经使用空间177
7.2 FN_VIRTUALFILESTATS获得档案I/O性能177
7.2.1 查询指定档案的I/O性能178
7.2.2 查询指定资料库的所有档案的I/O性能178
7.2.3 查询所有资料库所有档案的I/O性能179
7.2.4 查询档案I/O性能的动态性能视图180
7.3 日誌档案相关180
7.2.1 查询VLF分布情况180
7.2.2 移动日誌档案的内容182
7.2.3 删除日誌档案的内容182
7.4 数据档案相关183
7.4.1 查询所有资料库的数据档案空间情况183
7.4.2 查询资料库存储空间的详细分布185
7.4.3 查询已分配空间中的行内数据192
7.4.4 查询已分配空间中的LOB大型数据193
7.4.5 查询已分配空间中的行溢出数据194
7.4.6 查询哪些类型的对象使用了数据空间194
7.4.7 查询使用数据空间的对象类型及其数量194
7.5 综合查询资料库档案的I/O性能195
第8章 数据对象197
8.1 索引197
8.1.1 更新表上所有索引的统计信息197
8.1.2 更新表上特定索引的统计信息199
8.1.3 统计资料库中索引使用的空间总和200
8.1.4 索引使用的空间详细情况203
8.2 表208
8.2.1 获得资料库表的存储空间分布208
8.2.2 获得数据缓冲区中数据对象的存储分布212
第9章 性能监控218
9.1 对象分配性能218
9.1.1 监控盘区分配情况218
9.1.2 监控盘区回收情况219
9.1.3 监控页面拆分情况220
9.1.4 监控表上锁升级情况221
9.2 记忆体性能222
9.2.1 SQL Server记忆体详解223
9.2.2 查询SQL Server伺服器使用的记忆体数量225
9.2.3 查询连线使用的记忆体数量225
9.2.4 查询锁使用的记忆体数量226
9.2.5 查询最佳化器使用的记忆体数量226
9.2.6 查询SQL使用的记忆体数量226
9.2.7 查询伺服器能够使用的最大记忆体数量227
9.2.8 查询当前伺服器上可用记忆体数量227
9.2.9 查询最小伺服器记忆体228
9.2.10 查询最大伺服器记忆体228
9.2.11 查询计算机的物理记忆体229
9.2.12 查询计算机的虚拟记忆体229
9.3 过程缓冲区性能229
9.3.1 查询过程缓冲区使用的记忆体229
9.3.2 查询过程缓冲区内容类别230
9.3.3 查询过程缓冲区命中率230
9.3.4 查询过程缓冲区对象分布比例231
9.3.5 查询过程缓冲区中各类对象的命中率232
9.3.6 查询过程缓冲区各类对象使用的比例232
9.3.7 清除过程缓冲区中的对象233
9.3.8 过程缓冲区中消耗资源Top对象234
9.4 数据缓冲区性能238
9.4.1 查询数据缓冲区的记忆体数量238
9.4.2 查询数据缓冲区的理想记忆体数量239
9.4.3 查询数据缓冲区的可用记忆体数量239
9.4.4 查询数据缓冲区中数据使用的记忆体239
9.4.5 查询数据缓冲区的命中率240
9.4.6 清除数据缓冲区中的对象240
9.4.7 数据缓冲区中消耗资源Top对象241
9.5 其他实例242
9.5.1 查询资源等待情况242
9.5.2 查询计数器种类和性能值243
9.5.3 查询执行计画的属性244
9.5.4 查询性能计数器表是否可以使用245
9.5.5 查询伺服器记忆体总体分布情况245
第10章 管理其他实例250
10.1 检测和使用XP_CMDSHELL250
10.1.1 检测XP_CMDSHELL是否启用250
10.1.2 用XP_CMDSHELL执行命令253
10.2 错误日誌253
10.2.1 产生并使用新的错误日誌档案253
10.2.2 获得错误日誌档案的信息254
10.3 代理服务254
10.3.1 判断代理服务是否启动254
10.3.2 查询代理服务上产生的警报254
10.3.3 配置代理服务自启动255
10.3.4 判断代理服务是否允许访问255
10.3.5 获得代理服务启动信息256
10.3.6 记录代理服务启动时间256
10.3.7 获得代理服务子系统的信息256
10.3.8 获得代理服务详细配置信息256
10.3.9 运行代理服务监视器258
10.3.10 刷新代理服务作业258
10.3.11 查询代理服务活动作业259
10.4 设定登录环境259
10.5 资料库260
10.5.1 产生资料库检查点260
10.5.2 设定资料库单用户模式260
10.5.3 分离资料库260
10.5.4 附加资料库260
10.5.5 判断指定路径的日誌档案是否存在261
10.5.6 获取主要数据档案中的档案信息261
10.5.7 获取主要数据档案中的资料库信息262
10.5.8 获取资料库的用户表信息263
10.5.9 脱机资料库264
10.5.10 在线上资料库264
10.5.11 收缩资料库264
10.5.12 判断用户是否可以访问master资料库264
10.6 访问注册表265
10.7 读取硬碟空间信息266
10.8 判断档案是否存在266
10.9 存储空间的碎片266
10.9.1 数据的存储类型267
10.9.2 数据的存储结构270
10.9.3 存储空间的碎片类型270
10.9.4 碎片对数据操作性能的影响271
10.9.5 dbcc showcontig检测碎片272
10.9.6 dm_db_index_physical_stats检测碎片274
10.9.7 消除碎片的方法277
10.9.8 自动检测当前资料库的碎片278
10.9.9 自动消除资料库的碎片283
第11章 数据查询288
11.1 语法结构288
11.2 选择列表289
11.2.1 选择所有列289
11.2.2 选择特定列293
11.2.3 包含运算符的查询295
11.2.4 包含函式的查询296
11.2.5 消除重複项297
11.3 FROM子句298
11.3.1 使用表别名298
11.3.2 使用表提示301
11.4 WHERE子句305
11.4.1 WHERE子句中的运算符306
11.4.2 比较查询307
11.4.3 範围查询308
11.4.4 列表查询309
11.4.5 模式匹配查询310
11.5 GROUP BY子句312
11.5.1 语法结构312
11.5.2 实例分析313
11.6 ORDER BY子句314
11.6.1 语法结构314
11.6.2 实例分析315
11.7 HAVING筛选查询316
11.7.1 HAVING筛选查询的语法结构316
11.7.2 HAVING筛选查询实例316
11.8 INTO查询316
11.8.1 INTO查询的语法结构316
11.8.2 INTO查询实例317
11.9 SELECT联结查询317
11.9.1 SELECT联结查询的语法结构317
11.9.2 SELECT联结查询的分类317
11.9.3 笛卡儿积查询318
11.9.4 等值联结查询318
11.9.5 自然联结查询318
11.9.6 自身联结查询318
11.9.7 内联结查询319
11.9.8 左外联结查询319
11.9.9 右外联结查询320
11.9.10 全外联结查询320
11.10 SELECT嵌套查询320
11.10.1 什幺是SELECT嵌套查询320
11.10.2 什幺是SELECT嵌套子查询321
11.10.3 简单嵌套查询321
11.10.4 in嵌套查询322
11.10.5 some嵌套查询322
11.10.6 all嵌套查询323
11.10.7 exists嵌套查询324
11.11 操作结果集324
11.11.1 Union形成并集324
11.11.2 Except形成差集325
11.11.3 InterSect形成交集326
11.11.4 用公用表表达式临时存储结果集326
第12章 数据操作328
12.1 INSERT语句研究328
12.1.1 表结构和索引结构328
12.1.2 执行前的日誌情况分析329
12.1.3 执行情况分析329
12.1.4 执行后的日誌情况分析331
12.1.5 研究数据的变化情况332
12.1.6 研究结论333
12.2 UPDATE语句研究334
12.2.1 执行前的日誌情况分析334
12.2.2 执行情况分析334
12.2.3 执行后的日誌情况335
12.2.4 研究结论338
12.3 DELETE语句研究338
12.3.1 执行前的日誌情况分析338
12.3.2 执行情况分析339
12.3.3 执行后的日誌情况339
12.3.4 研究结论341
12.4 深入探讨语句内部机制341
12.4.1 谁先插入数据342
12.4.2 谁先更新数据342
12.4.3 谁先删除数据342
第13章 T-SQL游标343
13.1 游标概述343
13.1.1 什幺是游标343
13.1.2 游标的类型344
13.1.3 默认结果集是如何使用的344
13.1.4 什幺是MARS345
13.1.5 使用游标还是默认结果集345
13.1.6 使用伺服器游标还是客户机游标346
13.2 T-SQL游标定义及使用346
13.2.1 T-SQL游标的生命周期346
13.2.2 T-SQL游标的声明347
13.2.3 T-SQL游标的打开347
13.2.4 T-SQL游标的读取348
13.2.5 T-SQL游标的关闭348
13.2.6 T-SQL游标的释放349
13.2.7 T-SQL游标的综合实例349
第14章 事务和锁351
14.1 多用户资料库的并发问题351
14.1.1 并发访问的实例351
14.1.2 并发问题352
14.2 事务353
14.2.1 事务的特性353
14.2.2 事务的状态354
14.3 SQL SERVER中的事务机制355
14.3.1 事务模式355
14.3.2 更改事务模式356
14.3.3 事务的启动357
14.3.4 事务日誌记录357
14.3.5 事务编程语句357
14.3.6 事务的调度358
14.3.7 事务的隔离性级别358
14.3.8 批(GO)359
14.4 锁360
14.4.1 锁的粒度360
14.4.2 锁的类型(模式)361
14.4.3 锁持有度361
14.4.4 动态锁机制362
14.4.5 查看锁362
14.5 死锁363
14.5.1 死锁的发生364
14.5.2 消除死锁的方法364
14.5.3 SQL Server 死锁检测和结束机制365
14.5.4 跟蹤和检测死锁365
第15章 存储过程367
第16章 自定义函式和触发器402
第17章 某项目资料库T-SQL开发实例416

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com