qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          SQL Server DBA工作內容詳解

           在Microsoft SQL Server 2008系統中,數據庫管理員(Database Administration,簡稱為DBA)是最重要的角色。DBA的工作目標就是確保Microsoft SQL Server 2008系統正常高效地運行。DBA的工作也是最繁忙的工作,無論是性能調整,還是災難恢復,都離不開DBA的支持。

            一般地,作為一個DBA,至少應該做好以下12項任務:

            ● 任務一:安裝和配置;

            ● 任務二:容量規劃;

            ● 任務三:應用架構設計;

            ● 任務四:管理數據庫對象;

            ● 任務五:存儲空間管理;

            ● 任務六:安全管理;

            ● 任務七:備份和恢復;

            ● 任務八:性能監視和調優;

            ● 任務九:調度作業;

            ● 任務十:網絡管理;

            ● 任務十一:高可用性和高可伸縮性管理;

            ● 任務十二:故障解決;

            下面簡單描述這些DBA的任務

            任務一:安裝和配置。

             DBA的第一項任務是安裝和配置Microsoft SQL Server 2008軟件系統,為順利使用Microsoft SQL Server 2008軟件創建良好的環境。無論是安裝還是配置,都應該根據實際需要來進行,使得系統滿足用戶的實際需求。需要注意的是,系統配置不是一勞永逸的,應該 隨時根據需求的變化和環境的需要,進行監視和適當地調整。

            任務二:容量規劃。

            容量規劃是對整個Microsoft SQL Server 2008系統進行一個總體的規劃。規劃的重點應該放在解決瓶頸問題上。可以從內容和期限兩個方面考慮系統的容量規劃。

            從內容上來看,應該考慮的主要內容包括:硬件容量規劃、軟件規劃、網絡規劃。硬件容量規劃包括磁盤空間、CPU、I/O等規劃。軟件規劃包括操作系統的安裝和配置規劃、數據庫規劃、數據庫對象內容和數量規劃等。網絡規劃包括網絡硬件、網絡軟件和協議、網絡客戶數量流量和分布、網絡拓撲結構等規劃。

             從期限上來看,應該考慮短期、中期和長期規劃。短期規劃的目的是滿足當前日常業務的需要。中期規劃主要是滿足業務發展和擴大的需要。長期規劃主要是滿足 業務極限需要等。例如,如果預測某個系統的當前并發用戶數量是1000,3年后的用戶可能達到1000萬,那么這時既不能按照1000用戶的需求來設計, 也不能一下子按照1000萬用戶的需求來設計,一定要采取一個折中的形式。

            任務三:應用架構設計。

            應用架構設計包括數據庫設計、應用程序設計和相應的技術架構設計。

            數據庫設計應該考慮數據庫的邏輯需求、數據庫的創建方式和數量、數據庫數據文件和日志文件的物理位置等。一般情況下,可以在Microsoft SQL Server 2008系統成功安裝之后,根據規劃的目標,手工創建數據庫。

            應用設計應該考慮開發工具的選擇、API技術、內部資源和外部資源的結合、應用架構的分布等。需要強調是在應用設計時,DBA應該與開發人員共同工作,確保他們編寫出優化的代碼,盡可能地使用服務器的資源。

            技術架構設計主要包括表示層、邏輯層和數據層的分布。這些分布不應該考慮到硬件資源和用戶需求。既不能片面地追求過高的硬件資源,也不能僅僅局限于當前的環境,一定要按照可擴展的觀點來綜合考慮。

          任務四:管理數據庫對象。

            管理數據庫對象是使用數據庫的最基本、最重要的工作。這些對象包括表、索引、視圖、存儲過程、函數、觸發器、同義詞等。為了完成管理數據庫對象的工作,DBA應該能夠很好地回答諸如下面的這些問題。

            ● 系統應該包括哪些數據?

            ● 應該怎樣存儲這些數據?

            ● 應該在系統中創建哪些表?

            ● 應該在這些表中創建哪些索引,以便加速檢索?

            ● 是否應該創建視圖?為什么要創建這些視圖?

            ● 應該創建哪些存儲過程、函數、CLR對象?

            ● 應該在哪些表上創建觸發器?應該針對哪些操作創建觸發器?

            ● 是否應該創建同義詞?

            任務五:存儲空間管理。

            存儲空間管理任務就是怎樣為數據分配空間、怎樣保持空間可以滿足數據的不斷增長。隨著業務量的繼續和擴大,數據庫中的數據也會逐漸地增加,事務日志也不斷地增加。存儲空間管理任務主要圍繞下面幾個問題。

            ● 當前的數據庫由那些數據文件組成?

            ● 事務日志的大小應該如何設置?

            ● 數據的增長速度是多大?

            ● 如何配置數據文件和日志文件的增長方式?

            ● 數據庫中的數據何時可以清除或轉移到其他地方?

            任務六:安全管理。

            安全性是DBA重要的日常工作之一。安全管理的主要內容包括賬戶管理和權限管理。賬戶管理就是在數據庫中應該增加哪些賬戶、這些賬戶應該組合成哪些角色等等。權限管理是對象權限和語句權限的管理,應該回答下面這些問題:

            ● 這些賬戶或角色應該使用哪些對象?

            ● 這些賬戶或角色應該對這些對象執行哪些操作?

            ● 這些賬戶或角色應該在數據庫中執行哪些操作?

            ● 如何設置架構?如何建立架構和對象、架構和用戶的關系?

            任務七:備份和恢復。

            無論系統運行如何,系統的災難性管理是不可缺少的。天災、人禍、系統缺陷都有可能造成系統的癱瘓、失敗。怎樣解決這些災難性問題呢?辦法就是制 訂和實行備份和恢復策略。備份就是制作數據的副本,恢復就是將數據的副本復原到系統中。備份和恢復工作是DBA的一項持續性的重要工作,其執行頻率根據數 據的重要程度和系統的穩定程度來確定。

           任務八:性能監視和調優。

            根據企業的經營效益評價企業的管理水平,根據學生的考試成績評價學生的學習好壞。作為一個大型軟件系統,Microsoft SQL Server 2008系統的運行好壞必須得到正確地監視、評價和相應的調整。這是DBA的一項高級工作。借助一些工具和運行性能指標,DBA應該能夠監視系統的運行。 如果某些運行指標出現了問題,DBA應該及時地采取補救措施,使得系統始終保持高效運行狀態。

            任務九:調度作業。

            DBA不可能一天24小時不停地盯住系統的運行,及時地執行某些指定的操作。Microsoft SQL Server 2008系統提供了許多工具,DBA應該充分利用這些工具和機制,解決下面一些問題。

            ● 調度哪些作業應該由系統執行?

            ● 這些作業應該在何時執行?

            ● 如何確保這些作業可以正確地執行?

            ● 如果自動執行的作業執行失敗時,應該如何處理?

            ● 如何使得系統可以均衡地執行相應的操作?

            任務十:網絡管理。

            作為一種分布式的網絡數據庫,網絡管理的任務更加的重要。Microsoft SQL Server 2008系統提供了網絡管理工具和服務,DBA應該借助這些工具進行服務規劃和管理網絡操作。

            任務十一:高可用性和高可伸縮性管理。

            作為一個DBA,必須保持系統具有高可用性和高可伸縮性。可用性是一項度量計算機系統正常運行時間的指標。可伸縮性描述應用程序可以接受的并發 用戶訪問的數量問題。影響系統可用性的主要因素包括:網絡可靠性、硬件故障、應用程序失敗、操作系統崩潰、自然災害等。無論是數據庫系統管理員,還是應用 程序設計人員,都應該最小化系統破壞的幾率,最大化系統的可用性。在設計系統的可用性時,應該確定采取什么樣的可用性策略來滿足可用性的需求。

            可用性的需求可以通過3個方面描述,即運行的時間、連接性需求和數據的緊密和松散要求。在確定可用性的需求時,首先考慮系統的運行時間。一般 地,數據庫應用程序有兩種運行時間,即在工作時間是可用的和在任何時間都是可用的。如果只是要求在工作時間是可用的,那么可以把系統的維護等工作安排在周 末進行。但是,有許多應用程序要求每天運行24小時、每周運行7天,例如,在線超市等,這時必須采取措施保證系統總是運行的。不同的應用程序有不同的連接 性要求。大多數的應用程序和電子商務解決方案要求采用可靠的網絡連接。這時,要求永久性的在線連接,必須最小化各種異常現象的發生。有些應用程序允許用戶 離線使用。這時,系統的可用性要求降低了。大多數應用程序要求數據是同步使用的。用戶對數據的請求,系統必須立即做出回應。這是緊密型的數據要求,這種情 況必須保證系統的高可用性。有些應用程序不需要數據是同步的,對用戶的請求可以延遲回應。這種要求是數據松散型的要求,這時系統的可用性需求比較低。

            任務十二:故障解決。

            雖然不希望Microsoft SQL Server 2008系統出現故障,但是故障可能是無法避免的。這些故障可能每天都會發生。有些故障是人為不小心造成的,有些故障可能是系統中的缺陷形成的,有些故障 可能是莫名其妙的。作為一個DBA,在系統中的其他用戶心目中是Microsoft SQL Server系統的權威。無論是大事還是小事,DBA都應該做到迅速診斷、準確判斷、快速修復。從這個意義上來說,DBA是一個數據庫系統的專業醫生。

          posted on 2012-04-24 16:47 順其自然EVO 閱讀(166) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2012年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黑水县| 滨州市| 孝义市| 安阳县| 上虞市| 弥渡县| 东乡族自治县| 玉林市| 新建县| 张家界市| 卓资县| 丹凤县| 磐石市| 开化县| 望江县| 安乡县| 喀喇沁旗| 成武县| 天全县| 墨脱县| 高唐县| 儋州市| 彭阳县| 玛多县| 铜梁县| 息烽县| 乐都县| 亚东县| 同德县| 那坡县| 汕尾市| 云安县| 东乡县| 鄂托克前旗| 醴陵市| 咸丰县| 大庆市| 黎平县| 大港区| 德昌县| 娱乐|