分享一下我研究SQLSERVER以来收集的笔记
前言
为什麽分享??因为像现在网上很多人攻城师那样,转行去卖水果,卖早餐,总有一日我也会离开这个行业的
由于本人不是在大公司上班工资很低,我希望有一天存到足够的钱离开这个行业,然后开一个面包店(现时的想法/梦想)
因为我知道开面包店还是可以实现的,相比起其他的梦想和想法来说,难度不是太大
做一个面包师傅,能看到每个食到自己做的面包的人的微笑,你说幸福不是从这里来的吗?
把自己所学到的东西分享出来,最起码自己曾经对SQLSERVER圈子作出过小小贡献,我的目的就是这样
如果我不分享出来,这些笔记就会永远埋葬在我的"印象笔记"软件里
现时我收集到的笔记包括SQLSERVER企业级平台管理实践的读书笔记有337+71=408
很多攻城师到了一定的年龄之后就再也没有研究技术的那股热情了,我也怕自己有一天没有精力研究SQLSERVER了
这些笔记是我在泡MSDN论坛,工作中,QQ群,博客园,微博,个人研究,书本中记录下来的
---------------------------------------------------华丽的分割线----------------------------------------------
故事
跟大家说一个故事,这个故事我在网上看到的,真假不清楚,但是我觉得应该是真的
百度的一位大牛,从事IT行业很久了,大家都很敬佩他,他总是随身携带一个移动硬盘,上头交给他的任务总是很快完成
一天食饭的时候,一个刚毕业新入职员工问他,为什麽你写代码这麽快,而且很好的完成任务?牛人就跟他说:“秘密都在我的移动硬盘里”
因为我把我这麽多年的代码都放在移动硬盘里了,我做过大大小小的项目非常多,我把这些项目的关键代码都存储起来并整理好
以后用到的时候只需要在移动硬盘里找,不用在网上找,而且自己写过的代码都知道怎样运用不用花时间理解代码的意图
你刚刚毕业入职,对于代码的积累量还不够,你需要多积累代码,以后你解决问题就游刃有余了
某一天,大牛的移动硬盘不见了,然后他跟他妻子说:我们回老家耕田吧,然后他就辞职跟老婆一起回老家了
回老家的日子当然没有在百度的日子好,赚的人民币也没有那么多而且很辛苦,某一天大牛又找回移动硬盘了,
因为他的名气,他重回百度的时候百度又很快重新聘用他了,然后他继续他的攻城师生涯
从上面的故事可以看出,平时的笔记和积累的代码库就是程序员的命根子
-------------------------------------------华丽的分割线------------------------------------------------
分类
由于evernote(印象笔记)强大的搜索功能,我的笔记都没有进行仔细分类,例如像某些大侠那样:分类为“数据库调优”,“数据库安全”,“数据库索引”
“数据库复制”,就算没有对这些笔记再进行子分类也没有多大问题,因为我在印象笔记里只需要输入关键字很快就能找到我需要的笔记
因为evernote也不支持子分类,所以我索性就继续不分类了
下面是博客园里宋大侠的分类,个人觉得挺好的,向宋大侠致敬
至于我是怎样搜索一篇笔记的,大家可以看一下我这篇文章:谈谈我是如何学习SQLSERVER的
--------------------------------------------华丽的分割线---------------------------------------------------
索引
因为笔记非常多,所以我不会发布在随笔里,以免刷随笔,我会发布在文章里,而且每篇文章标题前面都加笔记两个字
我打算标题这样写,如果是《SQLSERVER企业级平台管理实践》读书笔记就写:
笔记1-徐
笔记2-徐
徐的意思是:徐海蔚老师
如果是普通笔记就写:
笔记1
笔记2
因为是自己收集的笔记,而且个人工作中有可能有些情况没有遇到,例如,配置SQLSERVER群集,我的笔记中是没有的希望大家见谅
还有有些笔记是没有配图的,有些笔记没有去掉注释或者整理的,由于工作量的问题本人觉得没有什么妨碍阅读的就没有特别处理了
为方便大家整篇复制我的笔记,我都会以SQL代码的方式贴出来,大家在复制了之后可以放到印象笔记(evernote)里,下图演示了我是怎麽做的
由于博客园的代码复制功能跟代码的行数有关系,本人已经跟博客园反馈了,希望博客园无论多少行代码都给出一个代码复制按钮
所以有些笔记因为代码行数不够会没有代码复制按钮,希望大家见谅
---------------------------------------------华丽的分割线--------------------------------------------
-------------------------------------读书笔记-------------------------------
笔记4-徐 模仿灾难发生时还原adventurework数据库 示例 stopat
笔记6-徐 检测孤立用户并恢复孤立用户到新的服务器 解决数据库镜像孤立用户问题
笔记8-徐 delete和truecate之间的区别 测试结果
笔记10-徐 使用continue_after_error restore还原选项恢复备份有损坏的数据库
笔记14-徐 分布式事务比较常见的例子以及启动日志里分布式事务的启动信息
笔记16-徐 解决resource数据库和model数据库和tempdb数据库和msdb数据库和master数据库错误问题步骤
笔记19-徐 如何在超大型数据库上运行DBCC CHECKDB
笔记29-徐 Windows与SQLSERVER系统使用内存情况和合理配置SQLSERVER内存 --P166
笔记31-徐 一些SQL内存使用的错误理解以及内存使用状况分析
笔记37-徐 根据页面错误,找到改页面所属的对象是表 索引 还是其他
笔记45-徐 如何监视锁的申请,持有和释放 锁的数量和数据库调优的关系
笔记46-徐 一个常见的select ,update ,insert ,delete动作要申请的锁
笔记51-徐 参数嗅探 Parameter Sniffing
笔记56-徐 常用SQL系统信息与搜集方法 P455 第14章 Windows事件日志,SQL ErrorLog,性能监视器
笔记69-徐 程序端意外情况下SQLSERVER端可能导致的问题
笔记70-徐 案例分析:连接池(connection pooling)与阻塞 连接池与SQLSERVER
--------------------------------普通笔记--------------------------------------------
笔记1 ALTER添加列后,立即UPDATE该列会报错,通过EXEC ,把UPDATE的执行计划生成放到执行时进行
笔记2 C#里的ODBC SQLCLIENT ORACLE CLIENT关系
笔记4 如果你连接到的SQLSERVER实例的机器有那台机器的local admin权限,就会显示绿色三角
否则会显示白色圆点
笔记5 T-SQL技巧case when then end的update语句
笔记8 COMPUTE BY的使用 根据卡类型 统计每种卡类型的总交易金额的平均值
笔记10 CROSS APPLY的应用:根据组名取出sales最大值的那个name
笔记14 DBCC CHECKIDENT 的用法,主键自增列重新设置种子值
笔记15 DBCC database console command 主要维护数据库使用
笔记16 DBCC DROPCLEANBUFFERS与DBCC freeproccache的区别
笔记17 DBCC IND()非常详细解释加dbcc page([GPOSDB],1,119,3)非常详细解释 2013-1-20
笔记19 Full 模式下数据库事务日志无故自动截断的查找原因方法
笔记25 SQLCMD 命令提示工具(以前为 OLESQL)
笔记29 MDX查询语句示例(Northwind数据库 数据仓库名叫Northwind)
笔记33 sp_spaceused的使用查询表跟数据库已使用空间
笔记35 SQL Server 2008 R2 跟踪标志汇总
笔记36 sql server 表的权限控制问题不同的角色不同建立不同的用户名
笔记37 SQL Server05 水平分库跟垂直分库的区别
笔记38 Sql Server参数化查询之where in和like实现详解
笔记40 SQL Server中的代码安全:DDL触发器与登录触发器 数据库级事件 和服务器级事件
笔记41 SQL 数据库快照与实验步骤 sql2005 2013-1-31
笔记42 SQL2005 自动生成脚本 编写SQL脚本 EXECUTE到
笔记43 SQL2005 自动生成脚本 右键-》执行存储过程
笔记46 SQL2005数据库置疑或者丢失日志文件的解决方法
笔记50 SQLSERVER如何添加约束和删除约束add constraint
笔记51 SQLSERVER 9003错误解决方法 只适用于SQL2000
笔记52 SQLSERVER2005中列出实例上所有数据库用户的所有权限
笔记54 SQLServer和Access、Excel数据传输简单总结
笔记58 SQLSERVER数据库表各种同步技术 减少SQLServer中每次的同步数据量
笔记60 SQLSERVER中的 CEILING函数和 FLOOR函数
笔记66 SQL中的资源类型RID KEY PAG EXT TAB DB FIL
笔记68 SSIS包调用SQL Job 你可以直接查询 Job 的执行历史记录来确定包的运行时间
笔记71 T-SQL查询高级—SQL Server索引中的碎片和填充因子 重建索引 重新组织索引 设置填充因子
笔记72 TSQL解答set @T = '' 与select @T = ''的区别
笔记76 插入测试表数据,不能用rand随机数[Monitoring] 纯监控2012-11-20
笔记78 查看CPU数和user scheduler数和最大工作线程数,检查worker是否用完
笔记79 查看SQL Buffer Pool的信息 DBCC memorystatus
笔记82 查看SQL中当前已经配置好的分发服务器和发布服务器
笔记83 查看SQL中的当前登录用户,和每个数据库的用户sysusers syslogins
笔记87 查看系统当前的登录用户 数据库角色和 登录用户的hash加密的密码
笔记89 查看系统中页面的占用空间和页面索引的ID号判断是聚集 非聚集 堆还是LOB
笔记90 查询mssql里锁的情况的信息,使用视图 函数 存储过程等等
笔记91 查询name相同int3最小的记录,处理重复值中的方法
笔记92 查询SQLServer2005中某个数据库中的所有对象 包括 触发器 视图 表 存储过程 约束
笔记99 查询某张表的objectid objectname OBJECT_NAME(objectid) OBJECT_ID('表名') 判断表是否存在
笔记100 查询系统的会话从sql2005开始 spid小于50不都是系统会话
笔记105 创建临时存储过程、临时视图、临时函数、临时触发器
笔记106 创建数据库并生成数据库说明和各个表的表说明和字段说明 扩展属性方法sp_addextendedproperty 2012-11-29
笔记108 从A表导数据到B表 导入后A表里会没有数据 SWITCH TO
笔记109 从文本文档或editplus拷贝代码到SSMS里要注意的事项
笔记113 当很多连接到你的数据库时,报这种错误“已超过了锁请求超时时段” 直接把下在面的存储过程 放到你的Master数据库执行一下就可以了
笔记114 得到SQLSERVER 2005 数据库的当前数据库中的数据文件所在磁盘的剩余空间(2)
笔记115 得到SQLSERVER 2005 数据库的当前数据库中的数据文件所在磁盘的剩余空间insert into #FreeSpace(1)
笔记116 动态管理视图和函数全部在sys框架中,并且以dm为前缀
笔记117 根据message_id查询消息的具体内容sys.messages
笔记118 根据传入不同的@Uname查询不同的表的存储过程
笔记123 公用表表达式CTE递归调用 辽宁省2012-11-15
笔记125 关闭数据库的数据页IO保护机制,即设置page_verify数据库选项为none SQL Server 简单模式下,误删除堆表记录如何恢复
笔记132 将数据库设置为 SINGLE_USER 模式,以获得独占访问权
笔记133 将数据库系统在一台新服务器上恢复,包括系统数据库,命令行下恢复 企业级平台管理实践P66页
笔记135 聚集键的选择/测试,关于查询效率和碎片容忍度的选择
笔记136 聚集索引 非聚集索引 堆表的3种表之间的空间使用的比较
笔记143 利用SQL SERVER 编写数据库脚本为 编写 DROP CREATE EXECUTE
笔记145 临时表与表变量的比较 表变量要预先定义好字段,临时表不用,就算从其他不知道字段类型的跟数量的表导入到临时表里非常方便
笔记149 判断 SqlServer数据库、表、存储过程、函数是否存在和SQL SERVER版本
笔记152 判断计算机上是否存在 SQL Server Express 实例 enterprise实例 developer实例不需要在服务列表里查找已经安装的sqlserver实例
笔记153 判断数据的int varchar decimal 等数据类型
笔记156 全文索引示例SQL(pratice数据库 test表)
笔记158 如果只有数据文件,而没有事务日志文件,那么附加数据库的时候可以使用ATTACH_REBUILD_LOG 2012-2-19
笔记162 设置隐式事务与显式事务IMPLICIT_TRANSACTIONS
笔记164 生成随机数rand()还有newid()发布订阅里面的msrepl_tran_version checksum
笔记169 使用@updateusage参数更新sp_spaceused的统计信息
笔记170 使用DBCC IND([GPOSDB],systempara,-1) 找到数据表所使用的数据页编号和信息
笔记171 使用系统视图sys.messages查看系统中定义的错误
笔记172 使用函数查出某个数据库的数据库id和数据库名DB_ID() DB_NAME()
笔记177 数据库镜像和事务日志传送的都是通过事务日志复制技术来达到这个生产服务器与备份服务器之间的数据同步
笔记178 数据库迁移 sql2008安装后服务器改名造成名称不一致的解决方法
笔记180 添加锁提示 索引提示 rowlock updlock index(ix_username)
笔记182 同一个库内的不同表间的数据迁移 switch to
笔记183 未能找到存储过程'master..xpcmdshell'.或无法装载引用DLLxpsql70解决方法.dll
笔记184 写的动态存储过程 sql论坛里的in() 怎麽传入参数问题
笔记185 系统存储过程sp_MSforeachtable和sp_MSforeachdb,用于遍历某个数据库的每个表和遍历DBMS管理下的每个数据库(查询数据库所有表的记录总数)
笔记188 应用数据库修复举例 修复数据库DBCC CHECKDB
笔记190 sqlserver 临时表 Vs 表变量 详细介绍 循环插入100条记录 SELECT TOP ( 100 )
笔记195 在CMD下运行sqlmonitor使用复制监视器去看同步的错误信息
笔记202 注意如果在事务完成后继续执行后续命令需要在事务结束语句(commit transaction或rollback transaction)后面添加GO语句
笔记206 查询销量、库存的查询汇总语句不用group by
笔记208 使用链接服务器连接远程mssql服务器,功能只有表跟视图,比直接连接数据库引擎功能要少很多
笔记209 测试tempdb 分别查询跟插入临时表数据的测试脚本
笔记214 sqlserver中想用in判断范围,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢
笔记216 不用建立测试表就可以导入数据,表会自动帮你在所在数据库建立好2012-12-18
笔记217 递归 每个员工的总销售额=自己的销售额+其下级员工的总销售额
笔记218 给定每页记录数计算一张表的总页数 @PageSize @PageIndex @TotalRecords @TableTotalPage 2012-11-22
笔记219 行转列 不用pivot,只能有一行记录 转换后再进行处理2012-11-15
笔记220 利用select top做分页 page_id =0是第一页
笔记223 转换nvarchar字段11.11 有小数点的为int再插入另外一个表
笔记225 以下示例更新 AdventureWorks数据库中各表的统计信息
笔记227 全文搜索 增加一个字段这个字段存储其他所有字段的和 2013-3-15
笔记228 SQLSERVER 中的排序规则 服务器》数据库》表列
笔记229 @@IDENTITY 全局变量解释2013-3-20
笔记230 比较 CHARINDEX 和 PATINDEX 存储过程传入多个参数的时候中间用逗号隔开用PATINDEX 2013-3-20
笔记231 表中有XML数据类型的字段 然后做修改 2013-4-4
笔记232 附加数据库对于服务器XXX失败 操作系统错误问题2013-4-8
笔记234 不重启SQL服务,断开对整个SQLSERVER的连接访问 2013-4-9
笔记235 单用户模式启动SQLSERVER 2013-4-9
笔记236 SQL Server为啥使用了这么多内存 2013-4-13
笔记237 SqlServer 中 Group by、having、order by、Distinct 使用注意事项 2013-4-14
笔记238 将别名列作为select字段 2013-4-15
笔记240 配置“对即时负载的优化” 对于ad-hoc 类型语句的缓存优化适用于 SQL2008 或以上
笔记241 系统函数和系统定义函数的区别 2013-4-18
笔记242 SQLSERVER表中的自增列的查看 2013-4-18
笔记243 SQLSERVER 中的EXCEPT 与 INTERSECT运算符 2013-4-18
笔记244 设置SQLSERVER的max degree of parallelism参数 2013-4-18
笔记245 配置SQLSERVER 发布订阅策略 2013-4-18
笔记246 在SQLServer中,支持多种自动产生序号的机制 master黄2013-4-18
笔记247 查看MSSQL 数据库 用户每个表 占用的空间大小 sp_MSForEachTable 2013-4-18
笔记248 Excel与SQL Server的数据互导 2013-4-18
笔记249 SQLSERVER自定义函数实现split功能 2013-4-25
笔记253 行列转换 使用sum函数统计好然后根据服务人员姓名来排序 2013-4-29
笔记254 递归查询区域 除了使用CTE之外可以使用游标 改变表结构设计 2013-4-29
笔记255 SQLSERVER使用SELECT * INTO 复制数据或者只复制结构 2013-4-29
笔记257 试过,复合主键也是不可以重复的,消息 2627,级别14 ,状态1,第 1 行
笔记258 两个wait 状态DMV视图 2013-4-29
笔记260 SQLSERVER 改变已有数据表中的列添加列改列名改数据类型改长度增加标识列改主键删除列 2013-4-30
笔记261 Windows各个操作系统版本在X86 X64位下的最大内存数 2013-5-3
笔记262 SQLSERVER 发布订阅问题,表结构变动了,会自动同步过去.但是假如新建表了,不会自动添加到发布集中 2013-5-4
笔记264 SQLSERVER中服务器角色不可以自定义创建 2013-5-5
笔记266 SQLSERVER2005中的应用程序角色 2013-5-5
笔记267 恢复数据库置疑状态sp_resetstatus 2013-5-9
笔记268 如何查看SQL 表里的幽灵记录 ghostrecord 2013-5-9
笔记269 SQLSERVER中权限的继承 2013-5-11
笔记270 SQLSERVER中的简单恢复模式、大容量日志恢复模式的比较 和修改恢复模式的sql语句 2013-5-13
笔记271 查看逻辑设备名称以及备份还原时使用已创建的逻辑设备的好处与语句 BACKUP DATABASE [GPOSDB] TO Sales_Fullbak
笔记272 无法创建 SSIS 运行时对象。请验证 DTS.dll 是否可用及是否已注册 2013-5-15
笔记273 SQLSERVER中执行差异备份 2013-5-16
笔记274 SQLSERVER备份事务日志的作用 2013-5-16
笔记275 启动sqlserver需要多少内存 2013-5-21
笔记276 查看缺失索引需要查看哪些视图 2013-5-21
笔记277 查看当前数据库的隔离级别和当前会话set选项 2013-5-23
笔记278 sqlserver_未公开的扩展存储过程(dba常用语句) 2013-5-23
笔记279 查看交易记录窜班的SQL语句 2013-5-24
笔记284 设置SQL2005事务日志传送 不用看那个word文档,看截图跟这个sql脚本就可以了 2013-4-30
笔记285 SQLSERVER CXPACKET 等待 2013-6-11
笔记286 数据库的恢复权限 加密备份文件MEDIAPASSWORD和PASSWORD 2013-6-11
笔记287 数据库系统异常排查之 DMV 2013-5-23
笔记289 查看还未提交的事务的SQL语句 2013-6-13
笔记292 DBCC TRACESTATUS 显示跟踪标志的状态 2013-6-13
笔记293 查看某一张表是否存在ghost记录 2013-6-14
笔记294 查看当前SQLSERVER的跟踪会话 2013-6-14
笔记295 SQL Server 2008 R2 跟踪标志 2011-08-27
笔记299 获取传入存储过程里的参数包括参数值 --2013-6-18
笔记300 宋沄剑 SQLSERVER等待的分析 2013-6-18
笔记301 触发器记录表某一个字段数据变化的日志 包括插入insert 修改update 删除delete 操作 2013-6-18
笔记302 查看系统里面,所有由SQL 代理执行的作业的执行结果历史和步骤的创建情况[sysjobhistory] [sysjobstepslogs] 2013-6-18
笔记303 修改表结构后,如何只刷新相关联的视图 2013-6-19
笔记304 使用数据导入导出向导,导入excel表格到sqlserver里 2013-6-22
笔记306 同一个数据库实例里从GPOS1.0升级到GPOS1.1 2013-6-22
笔记307 使用BCP命令将数据库里的数据生成dat文件,dat文件只有一张表的数据 2013-6-22
笔记308 升级GPOS1.0到GPOS1.1数据库的升级脚本 2013-7-4
笔记309 Windows2003 SQL2005解决Administrator密码不知道的问题 2013-7-4
笔记310 SQLSERVER数据库大型应用解决方案总结负载均衡技术 2013-7-5
笔记311 与内存错误有关的,错误号码:17803,701,802,8645,8651,8657,8902
笔记312 RESTORE DATABASE的standby选项 2013-7-7
笔记313 远程同步数据库,用事务复制方式,是不是两台机器一定要在同一个域中?
笔记316 查看系统的一些关键计数器 包括内存 缓存 2013-7-11
笔记319 使用存储过程调用webservice 2013-7-12
笔记320 SQLSERVER中的加密函数 2013-7-11
笔记321 利用Ring Buffer在SQL Server 2008中进行连接故障排除 2013-7-13
笔记322 部分具有统计功能的TSQL语句(例如DBCC语句,全局函数,系统存储过程)也能帮助用户了解和监控SQLSERVER的运行情况 2013-7-14
笔记324 查看数据页头部中的DIFF 位,显示的是当前数据库系统页的状态不是本数据页的状态 2013-7-17
笔记325 读取备份的事务日志里的记录 fn_dump_dblog 2013-7-17
笔记327 触发器更新当A表某字段更新触发B表的某字段同步更新 2013-7-20
笔记328 导出表数据到EXCEL2003 邹建 需要在数据库建立一个存储过程 2013-7-20
笔记330 利用尾日志备份还原数据库数据到某个时间点 2013-7-23
笔记331 SQLSERVER新建默认跟踪,使用系统存储过程的方法 2013-7-24
笔记332 关闭SQLSERVER的默认跟踪 不能使用sp_trace_setstatus 2013-7-24
笔记333 开启或关闭 C2审核跟踪需要重启 SQLSERVER 服务
笔记334 SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128) 设置CTE递归循环的次数防止死循环 2013-7-25
笔记335 SQLSERVER 维护计划是保存在哪里?注册表中或是安装目录文件夹中某一文件中或系统数据库中? 2013-7-27
笔记336 update如何判断某列是否重复,然后再执行相应动作 2013-7-27
笔记339 SQL Server 2008如何压缩日志(log)文件? 2013-8-10
-------------------------------------------华丽的分割线------------------------------------------
如果大家有发现链接不对的链接到的文章跟标题不一样的,一定要跟我说哦o(∩_∩)o
最后补充一句:这些笔记仅供参考o(∩_∩)o
--------------------------------------------
现在我把evernote笔记全部导出来,大家只要导入这个笔记文件就可以了
Evernote.enex
下载地址:
普通笔记
http://files.cnblogs.com/lyhabc/Evernote.rar
SQLSERVER企业级平台管理实践笔记
http://files.cnblogs.com/lyhabc/Evernote%E5%BE%90.rar
-----------------------------------------------------------------------------------------------------------------
2013-9-10 补充
现在的笔记增加到365个
大家可以下载最新的笔记文件然后导入到Evernote里
http://files.cnblogs.com/lyhabc/Evernote2013-9-10.rar
--------------------------------------------------------------------------------------------------------------------------
2013-10-18 补充
现在的笔记增加到410个
大家可以下载最新的笔记文件然后导入到Evernote里
http://files.cnblogs.com/lyhabc/Evernote2013-10-18.rar
------------------------------------------------------------------------------------------------------------------
2013-12-2 补充
现在的笔记增加到616个
大家可以下载最新的笔记文件然后导入到Evernote里
http://www.kuaipan.cn/file/id_4401224786926327.htm
----------------------------------------------------------------------------------------------------------------
2014-1-8 补充
现在的笔记增加到702个
大家可以下载最新的笔记文件然后导入到Evernote里
http://www.kuaipan.cn/file/id_4401224786926400.htm
-------------------------------------------------------------------------------------------------
本文版权归作者所有,未经作者同意不得转载。