熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

SQL Server數據庫管理員(DBA)的工作內容

2022-06-13   來源: SQL Server 

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

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

  &#;任務一安裝和配置;
&#;任務二容量規劃;
&#;任務三應用架構設計;
&#;任務四管理數據庫對象;
&#;任務五存儲空間管理;
&#;任務六安全管理;
&#;任務七備份和恢復;
&#;任務八性能監視和調優;
&#;任務九調度作業;
&#;任務十網絡管理;
&#;任務十一高可用性和高可伸縮性管理;
&#;任務十二故障解決;

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

  任務一安裝和配置

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

  任務二容量規劃

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

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

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

  任務三應用架構設計

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

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

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

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

  任務四管理數據庫對象

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

  &#;系統應該包括哪些數據?
&#;應該怎樣存儲這些數據?
&#;應該在系統中創建哪些表?
&#;應該在這些表中創建哪些索引以便加速檢索?
&#;是否應該創建視圖?為什麼要創建這些視圖?
&#;應該創建哪些存儲過程函數CLR對象?
&#;應該在哪些表上創建觸發器?應該針對哪些操作創建觸發器?
&#;是否應該創建同義詞?

  任務五存儲空間管理

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

  &#;當前的數據庫由那些數據文件組成?
&#;事務日志的大小應該如何設置?
&#;數據的增長速度是多大?
&#;如何配置數據文件和日志文件的增長方式?
&#;數據庫中的數據何時可以清除或轉移到其他地方?

  任務六安全管理

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

  &#;這些賬戶或角色應該使用哪些對象?
&#;這些賬戶或角色應該對這些對象執行哪些操作?
&#;這些賬戶或角色應該在數據庫中執行哪些操作?
&#;如何設置架構?如何建立架構和對象架構和用戶的關系?

  任務七備份和恢復

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

  任務八性能監視和調優

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

  任務九調度作業

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

  &#;調度哪些作業應該由系統執行?
&#;這些作業應該在何時執行?
&#;如何確保這些作業可以正確地執行?
&#;如果自動執行的作業執行失敗時應該如何處理?
&#;如何使得系統可以均衡地執行相應的操作?

  任務十網絡管理

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

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

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

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

  任務十二故障解決

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


From:http://tw.wingwit.com/Article/program/SQLServer/201405/30725.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.