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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM