SQL Server資料庫DBA工作內容詳解

來源:互聯網
上載者:User

在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.8  本 章 小 結
本章首先分析了為什麼要使用資料庫來管理業務資料,然後給出了資料庫的基本概念。接下來,回顧了SQL Server的發展過程。之後,研究了Microsoft SQL Server 2008的體系架構的組成和特點。接著,對資料庫和資料庫物件的特點進行了分析和研究。其後,對系統提供的主要工具進行了分析。最後,討論了資料庫管理員的工作特點。

【思考和練習】

1. 使用試算表管理資料的主要缺點是什嗎?

2. 什麼是資料庫?什麼是DBMS?什麼是資料庫系統?

3. 當前資料庫市場上有哪些主要的資料庫產品?

4. 根據SQL Server的發展過程,你認為其發展速度如何?

5. 收集微軟公司發布Microsoft SQL Server 7.0/2000/2005/2008系統時的技術白皮書,研究和討論Microsoft SQL Server系統功能演變規律。

6. Microsoft SQL Server的系統資料庫是什嗎?

7. 預存程序、觸發器、視圖對象的特點是什嗎?

8. Microsoft SQL Server Management Studio的功能特點是什嗎?

9. SQL Server Profiler工具的主要目的是什嗎?

10. 分析DBA的12項任務的特點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.