這里一如既往的先感謝幫助過我的人(排名不分先后):
感謝微軟公司、我的家人、博客園、宋沄劍、高文佳、聽風吹雨、黃總、論壇里的怡紅公子 、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
其實要做大牛真的要經??聪旅娴木W站里的博客文章,從中去吸收,我發覺基本上都是英文資料,學習起來非常吃力
我希望有更多人去寫書,去寫像《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
新聞熱點
疑難解答