天天看點

【SQL Server DBA】SQL Server DBA工作内容、工作清單

一、資料庫管理者的工作内容

1、規劃與建設:

   1、資料庫伺服器環境的架構評估與規劃。

           伺服器環境的架構規劃與資料庫以後的運作相關,當伺服器環境的架構設計不良,

           将會增加以後資料庫性能的限制與維護的困難。

           是以,DBA在整套系統規劃初期,就必須針對資料庫未來的成長需求、性能需求、商業考慮等方面,

           來決定資料庫運作上所需要的記憶體、硬碟、CPU、其他資源。

   2、安裝及更新資料庫軟體。

           這是最基本的工作之一,在安裝SQL Server軟體時,務必了解不同選項所代表的意義,

           在更新SQL Server軟體前,要确認是否會影響到作業系統及應用程式。

   3、資料庫的建立與設定。

            當安裝完SQL Server軟體後,就要建立資料庫,此時要考慮資料庫存儲方式。

            例如:索引、資料、表的存儲位置,是否需要建立分區表。

            也就是必須确認SQL Server的實體結構和邏輯結構,如何以最佳方式展現。

   4、建立完善的備份計劃。

            資料庫備份與恢複是DBA最重要的職責之一,當資料庫損壞時,整個企業的運作會完全停止,

            各方壓力和關愛的電話會接踵而來,等着DBA将資料庫在第一時間恢複,

            而完善的備份計劃是關鍵,是以,規劃備份時必須考慮到系統的重要性、企業可承擔的風險。

   5、建立資料庫安全管理規範。

            需要将資料分門别類,将适當的資料提供給擁有适當權限的人。

 2、營運與維護:

       1、建立和維護資料庫使用者、所有對象。

              一旦新使用者必須存取資料庫,或者原有使用者有權限變更需求時,DBA就必須按照安全管理規範,

              給予适當的權限。當使用者有新增、修改、删除SQL Server對象時,DBA除了按照使用者的需求,做改動,

              還需要給予适當的權限與存儲擺放方式。

      2、控制和監控:使用者對資料庫的存取,以及資料庫資源的使用狀況。

               通過SQL Server對象資源排程器,将使用者分成不同等級,依照等級的高低,提供不同的資料庫資源。

               所謂資料庫資源包括:CPU使用量、記憶體使用率、聯機時間等,通過觸發器或存儲過程,

               來監控對資料庫的存取,這樣當不正常存取時,可以實時發出警報。      

        3、監控資料庫的性能、存儲狀态、可用性。

                一般資料庫在運作中斷前都會有一些細微的征兆,是以當征兆出現時,

                如果能及時分析處理,就能避免不必要的中斷損失。   

       4、檢查資料庫備份是否成功、是否有效。

                 當有了完善的備份計劃後,就必須監控備份是否按照計劃且成功的執行,

                 另外,還需要定期将備份進行恢複測試,以確定備份的可用性。

         5、監控資料庫安全。

                善用SQL Server提供的Logon Trigger,确認或記錄使用者的身份,避免資料的竊取,保護企業的安全。

3、故障排除與災後恢複:

  1、調整資料庫性能。

           資料庫的性能可用與否,最終都是由資料庫的執行效率、穩定性來判斷的,

           而性能問題在一開始設定時,往往不會顯現出來,當運作一段時間後,可能由于外在環境、使用者增加、資料            快速積累、程式修改,甚至硬體裝置老舊等因素,都會讓資料庫呈現疲态,

           此時,性能調校對DBA就非常重要了。

   2、災後恢複。

            資料庫災後恢複的定義很廣泛,小到使用者的誤操作,大到硬體損壞、天然災害、其他不可預期的災難,

            造成資料庫無法正常運作,DBA有責任在最短時間内将資料庫恢複,

            這也就是為什麼規劃備份、監控備份、定期測試備份非常重要的原因了。 

二、資料庫管理者的工作清單

   1、每日例行工作:

           每日資料庫例行工作,以監控資料庫正常運作為主要目的,基本例行工作應該包含以下項目:

        1、确認所有SQL Server資料庫狀态正常。

                  A:從作業系統上檢測SQL Server程式是否正常存在。

                  B:以正常方式登入所有資料庫。

        2、确認所有SQL Server是否能連接配接上,也就是是否正常監聽。

        3、檢查作業系統空間使用狀态、檔案組(檔案)的使用情況。  

                    可利用SQL指令查詢檢查使用狀況。

        4、檢查錯誤日志ErrorLog中的錯誤資訊,并尋求解決方案。

        5、檢查資料庫當日所有備份是否成功。

        6、監控資料庫運作狀況。

                   此部分可利用系統螢幕等工具,監控資料庫運作狀況。 

   2、每周例行工作:

               每周的主要例行工作,除了依照資料庫每日工作清單,尋求時機進行修正外,還有檢查以下工作事項:

       1、根據每日檢查的表空間使用情況,找到資料增長很快的表,協調程式開發員,               并發現如下錯誤。

                  A:是否需要删除無用的曆史資料。

                  B:是否需要擴充資料檔案、日志檔案。

                  C:是否需要收縮資料檔案、日志檔案。

        2、是否有新增的失效對象、無效的索引。如果有,那麼選擇适當時機重建。

        3、是否有資料碎片。

                   所謂資料碎片,可以了解為資料直接的空隙,可能是資料頁内部的,也可能是資料頁和資料頁之間的,

                   這個碎片會導緻通路同一個表時,掃描更多的資料頁,占用更多的記憶體,會顯著的降低資料庫性能。

        4、延續每日監控的資料庫運作狀況,按照需求修改資料庫參數,針對沒有效率的                 SQL語句進行調優。

   3、每月例行工作:

             每月的主要例行工作,除了依照資料庫每日檢查工作清單以及每周檢查工作,

             需要尋求适當時機進行修改外,還要檢查下列事項:

         1、産生每月資料檔案的增長報告。

                    可利用SQL語句來産生每月資料庫增長報告,以及每月資料檔案增長報告。

         2、根據每日、每周的監控統計,進行空間管理改進方案。

                    所謂的空間管理改進方案,就是依照每日、每周的監控結果,針對性能較繁重的對象(表、索引),

                    進行特殊的空間改善,以提高性能(比如分區表)。   

         3、修正碎片。

                    根據本月每周的檢查分析碎片情況,找到相應的解決方法。

         4、每月至少檢查一次是否有Chained Rows連結行。

                    分為兩種類型:

                                             A:行連結,主要造成的原因是每條資料太長,無法容納在一個資料塊裡。

                                             B:行遷移,主要是當資料更新時,造成每條資料過長,必須前移到另一個較大的資料塊。

         5、針對表及索引進行更新統計資訊。

                      資料庫執行SQL語句時,會依照統計資訊分析結果來産生執行計劃,

                      是以,統計資訊的結果對資料庫的性能影響占有相當大的分量。

                      每個月至少一次針對所有表、索引,進行更新統計資訊。

         6、尋找資料庫性能調整的機會。

                      對比每天資料庫性能的監控報告,确定是否有必要對資料庫性能進行調整。

         7、檢查備份計劃,測試備份的可用性。

                    檢查備份計劃的目的是,确認目前的備份計劃是否符合實際需求。

                    比如,每月資料庫的增長量是否會延長備份時間,而通常備份的時間是選擇在系統不太繁忙時運作,

                    如果由于備份時間延長,而導緻資料庫系統的正常作業,這就必須針對備份計劃進行調整。

                    是以,主要在于檢查平時的備份計劃是否可正常使用,當資料庫損壞時,熟練執行資料庫恢複的操作。

轉載于:https://www.cnblogs.com/momogua/p/8304512.html