首页 > 开发 > 综合 > 正文

SQLSERVER MVP 我的心路历程和想说的话

2024-07-21 02:51:13
字体:
来源:转载
供稿:网友
SQLSERVER MVP 我的心路历程和想说的话SQLSERVER MVP 我的心路历程和想说的话

这里一如既往的先感谢帮助过我的人(排名不分先后):

感谢微软公司、我的家人、博客园、宋沄剑、高文佳、听风吹雨、黄总、论坛里的怡红公子 、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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表