萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> SQL Server DBA工作內容詳解

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是一個數據庫系統的專業醫生.

copyright © 萬盛學電腦網 all rights reserved