程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 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是一個數據庫系統的專業醫生。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved