这里一如既往的先感谢帮助过我的人(排名不分先后):
感谢微软公司、我的家人、博客园、宋沄剑、高文佳、听风吹雨、黄总、论坛里的怡红公子 、rmiao、KevinLiu328
我的同事、园子里的哥本哈士奇、stsWordman、邀月等等等 ,还有很多很多人我需要感谢的
我在他们的帮助下不断成长~
关于SQLSERVER的开发
我一直很好奇,SQLSERVER这个软件到底有多少人在开发
后来我看了一篇文章:SQL Server Build系统
SQLSERVER要学习的内容
其实学习数据库有很多东西需要你掌握,不是说你学习了一两年的SQLSERVER,就能够说对于SQLSRVER非常精通
其实要学的东西还多着呢,没有多年的开发经验是很难精通SQLSERVER的,加上SQLSERVER的技术一直在更新
我觉得自己所掌握的SQLSERVER的东西还只是冰山一角
例如下面几项技术:
1、SQL Azure
2、SQLSERVER复制
3、SQLSERVER集群
4、SQLSERVER负载均衡
5、SQLSERVER插件开发
6、SQLSERVER BI开发
7、存储系统
现在技术日新月异,今天你学会了这个,微软明天在SQLSERVER出个新功能,你也要学习
在DBA的日常工作中,某些工作或者很多工作一般都会超出SQLSERVER联机丛书BOL(Books Online)的范畴
有些SQLSERVER的功能甚至在BOL里都没有提到,只能自己测试
所以学习是永无止境的,不单只对SQLSERVER的学习
为什么我选择写SQLSERVER方面的文章
博客园中的技术类文章非常多,编程,软件工程,运维,面试,算法等等
其中写数据库方面的文章也是获得最多人关注的一种技术文章之一
因为现在的程序大部分都离不开数据库,大部分都要用到数据库
写数据库方面的文章不仅C#技术人员可以看,php技术人员可以看,java技术人员也可以看
而如果你写的是C#方面的文章,那么PHP技术人员并不想看,那么你的文章的关注率就会降低
而目前市面上主流数据库就那么几个,找工作的时候也比较好,如果公司用的C#技术,只会PHP的程序员不会去面试
编程语言这麽多,就算是主流的编程语言也有很多,有时候选择工作的范围也是比较窄的
大家可以看一下博客园里推荐博客排行榜里,排前10的就有两个是数据库专家!
计算机之路
从2007年开始说起吧
2007年:高考时候数学不合格,最喜欢的科目是英语,糊里糊涂就考入了广州某个大专院校,糊里糊涂就选择了“软件开发”专业
2008年:学习数据结构的时候特别对算法不感冒,无论怎麽听都不明白,想不到以后会做跟计算机相关的工作,虽然现在不是程序员
2009年:考试各科都合格,顺利拿到毕业证,但是对于前面的路很迷茫
2010年:在家乡的某个论坛认识了前一个公司的老板,老板在帖子里说亲自教授嵌入式编程,当时自己对计算机方面工作还是比较感兴趣
跟老板一起出差,到客户那里进行系统培训,出差回来就进入了公司,公司做的是油站管理系统,用的数据库是SQLSERVER,
慢慢开始研究SQLSERVER,但是真的算深入研究是从买了徐老师的《SQLSERVER企业级平台管理实践》这本书开始的~
跟大家一样,平时自己学习会买很多技术图书,其中有很多都当废纸卖给收废品的
如果你想要的话我可以免费给你,前提是邮费您们来付(到付),反正摆在家里也是当摆设
先到者先得,我会在文章结尾公布谁获得了我的书本
可以提供的书籍有:
Flash CS4标准教程 linux系统管理员职业技能鉴定教程面向对象程序设计与VC++6.0教程Windows server2003从入门到精通AUTO CAD实用教程VS2008高级编程等级考试-二级JAVA语言JAVA程序员上班那点事儿从零开始学Excel VBAC#应用程序设计教程网店赢家淘宝新手开店7步通asp.net案例教程批处理命令在Windows操作中的典型应用汇编语言程序设计教程第二版Illustrator CS3 中文版TCP/ip详解 卷1:协议Microsoft .NET 企业级应用架构设计程序员考试辅导C++程序设计教程--基于VS2008矛与盾 黑客就这几招矛与盾 黑客攻防与脚本编程WCF技术剖析深入浅出WPF
留下您的联系方式:姓名,收货地址,手机,默认圆通快递
每人只能够取一本
某数据库大牛的话
数据库的变化,某一天我看到某位数据库大牛朱XX在新浪微博发了一条:
关键之关键在于数据库的内核:存储机理,索引机制,SQL编译器,优化机制,等等,
一般来说,数据库的小版本会改进优化机制,提供新函数,大版本可能就会提供新索引,改写SQL编译器等等,
但是如果真正改变存储机理,那一定是革命性变化。
我觉得这个也适用于SQLSERVER,SQLSERVER在SQLSERVER2005的时候,存储机理发生了比较大的变化,
然后到SQL2008、 SQL2008 R2、 SQL2012都没有多大变化存储机理,你掌握的个中原理也不会过时
我在这一年里大概做了哪些事
清华出版社某个机构博图轩找我出书,sql中国区产品经理叫我加入sql pass(可惜在北京),也有猎头找到我问我有没有兴趣跳槽
不过这些猎头很多都不靠谱,我写的是数据库方面的文章,他推荐一个在武汉的系统架构师的职位给我
因为他看到我在博客园里资料,当时我感兴趣的技术写了“架构设计”,不过现在我改了
博客园里的某位大侠叫我去上海微软去面试SQLERVER技术支持(最后因为比较穷,心里没有底怕掌握的姿势不够,怕面试不通过亏了就没有去了)
对于前一份工作中所犯的错误
经常在论坛或者QQ群里经常说到:DBA是随时都要准备简历的,万一做错了,你有可能承担不起
本人曾经就试过,就算是初学者都知道的问题你也可能会犯了,因为工作太累等等原因
虽然没有丢数据,但是因为我的出错,造成客户的数据错乱,让公司造成了损失
被领导训了一顿,并要写检讨书,这件事虽然没有扣工资,但是印象特别深刻
所以做任何重要操作前都需要备份,不然的话神仙也很难拯救您!
这个教训会伴随着我~
感谢博客园
博客园真的很好:1 人多 2 自定义js让不懂前端的人用简单的js能够装饰博客, 3上传图片方便,很多图片也不怕
关于数据库的优化
我客观的以我自己个人的观点讨论一下吧
在这里再说一下性能,性能这个东西真的不能一概而论,比如某篇文章《性能极高的分页存储过程》,
很多情况下,你的表有没有加索引,加的索引是不是对的
数据量是不是很大,有没有用其他技术,性能都跟这些有关系
网上有很多数据库调优的教条、文章,真的非常非常多,每次我都要去收藏这些文章,记住每一个教条
在哪种情况下用哪个教条去优化数据库,记不住了就在收藏的文章里找,现在我这种情况,好像用A文章的优化会比较好
但是B文章里的情况跟我现在的情况又匹配,究竟用哪个好呢???
当然啦,有部分文章还会误导人,有些文章中的环境跟你的环境又不一样,虽然情况一样,但是有可能因为数据库版本、操作系统版本不同会产生不一样的结果,
最后用了也白搭
如果你还停留在我上面所描述的阶段,那么你应该要系统地学习一下数据库
结合实战经验,多动手做实验才是硬道理
说到这里让我想起了之前某件事情:
我曾经在博问里问过一个问题
“请问什么叫索引对齐?什么叫稠密索引 什么叫稀疏索引?”
当时网上没有一篇文章能够说得很清楚,很明白,都是你抄我的文章,我抄你的文章
无奈之后只有在博问里问高手了,我是一个非常喜欢寻根问底的人,不懂的东西一定要找遍互联网
除非真的找不到答案,不然的话我不会罢休的
当时有一个小虾三级给了我这样一个回复
我当时无语了,一直到现在我还是没有明白“什么叫稠密索引 什么叫稀疏索引?”
这个博问帖子我到现在还没有结贴o(∩_∩)o
其实要做大牛真的要经常看下面的网站里的博客文章,从中去吸收,我发觉基本上都是英文资料,学习起来非常吃力
我希望有更多人去写书,去写像《SQLSERVER企业级管理平台实践》这样的有深度的书,或者翻译下面网站的
一些博客,然后刊登在书本里就好了
关于技术屏蔽
这里说的技术指的是不泄露公司机密信息的情况下
比如下面这个场景
比如:两个MVP在同一个部门,某天MVP大侠A遇到数据库问题,MVP大侠A说索引太宽了
MVP大侠B不知道宽索引、窄索引,想请教MVP大侠A,但是MVP大侠A一副高高在上的样子
最后,MVP大侠B走了
我想如果MVP大侠A能够使用一些方式例如写博客、讨论、白板等工具来跟MVP大侠B沟通,结果肯定不一样
(至于什么是宽索引,什么是窄索引我也不是很清楚)
可惜大部分公司都不是这样
没有大家互相切磋的平台,MVP大侠B不会进步,当然不是说谁的水平高的问题,大家交流一起进步
才是最重要的,不是的话,辞职是迟早的事情,或者会进入一个恶性循环
内部培训
员工可以选择自己感兴趣的技术讲座
有时候小公司(这里针对某些小公司不是全部)真的不适合新手,虽然做了很多项目但是充其量只能是熟手不能是大侠,
小公司没有培训,很多制度不完善,打杂的活特别多最重要缺少的是交流和分享,交流和分享从何而来?网上、公司内部培训、外面的技术沙龙(技术沙龙的内容讲的内容不一定是你们在使用的)所以关键还是公司内部培训网上的交流毕竟是有限的,面对面的交流才是最重要的!提高大家研究公司所使用的技术的兴趣对于博客园里面的每个读者和博主
我这里有一个愿望:
对于博主:希望读者反对的时候留下您们反对的声音、意见,不要按一下“反对”按钮,拍拍屁股就走了,
每个博主都希望听取反对者的真实的反对声音,进一步改进自己的文章
对于读者:一篇好文章基本上都会有反对,不是一味地推荐,有反对的文章证明博文的题材比较有争议性
既然有反对,证明这篇文章值得去看,有读者对此有不同的观点,如果只有推荐,那么大家都一味崇拜博主
认为博主很牛,不动手验证一下,那么对读者是没有好处的
我这里的愿望不单只针对我自己写的博文,园子里的所有博主和读者应该都是这样希望吧o(∩_∩)o
在出差的时候看到吉日大师的书
在2013年11月份去了南宁出差,由于酒店离南宁书城(朝阳广场附近)很近
夜晚刚食完饭,就到处瞎逛,刚好路过南宁书城,进去肯定光顾一下计算机板块
刚好看到吉日大师的书,我翻了几页没有买,里面写了吉日大师如何从低级程序员干到高级程序员,书里面他说了如何学习NEC公司的系统架构
他的经历真的值得我们学习,我也希望有一天能把自己的经历整理成书
不过最后我还是买了这本书,作为技术人员不能总是看技术书籍的,有时候也需要放松一下的o(∩_∩)o
井底之蛙
其实有时候我也觉得自己是井底之蛙,为什麽这样说?
大家可以看一下这篇文章:Buffer Latch Timeout的解析
下面是文章中的内容:
下面是一个案例分析。我们在数据库的错误日志里,发现有下面的错误,并且产生了一个内存转储。
A time-out occurred while waiting for buffer latch -- type 2, bp 0000000088FBFA40, page 1:153568, stat 0xc0010b, database id: 10, allocation unit Id: 72057594047758336, task 0x000000000C8E2988 : 0, waittime 300, flags 0x1a, owning task 0x0000000005A2F048. Not continuing to wait.
下面是对内存转储的的分析,为了简单起见,不相关的调用堆栈被省略。
我们可以看到,下面的这个进程在获取Buffer Latch的时候,由于无法及时得到Latch锁,产生了上述错误信息,并生成一个内存转储。
0a 00000026`ebe09350 00000000`0215d1b8 sqlservr!CDmpDump::Dump+0x7c
0b 00000026`ebe093a0 00000000`0215dd0c sqlservr!SQLDumperLibraryInvoke+0x1a0
0c 00000026`ebe093d0 00000000`021503f7 sqlservr!CImageHelper::DoMiniDump+0x3d4
0d 00000026`ebe095d0 00000000`0206af82 sqlservr!stackTrace+0x82b
0e 00000026`ebe0ab20 00000000`02069f69 sqlservr!LatchBase::DumpOnTimeoutIfNeeded+0x19a
0f 00000026`ebe0abf0 00000000`008e7bcc sqlservr!LatchBase::PRintWarning+0x205
10 00000026`ebe0ace0 00000000`000e7a29 sqlservr!LatchBase::Suspend+0xd12
11 00000026`ebe0b950 00000000`000a0689 sqlservr!LatchBase::AcquireInternal+0x1ff
12 00000026`ebe0b9f0 00000000`000a1792 sqlservr!BUF::AcquireLatch+0x8d
13 00000026`ebe0bd10 00000000`000a166c sqlservr!BPool::Get+0xc7
14 00000026`ebe0bd70 00000000`000a35a0 sqlservr!PageRef::Fix+0xbc
15 00000026`ebe0bdd0 00000000`000a320a sqlservr!BTreeMgr::Seek+0x44d
16 00000026`ebe0bff0 00000000`000a2e5d sqlservr!BTreeMgr::GetHPageIdWithKey+0x20a
17 00000026
新闻热点
疑难解答