SQL SERVER 管理實務期末報告 N1036712 黃教哲 N1036744 蔡維庭 Chapter 12 自動化管理 Database Mail SQL Server Agent 操作員 利用 作業 做自動化管理 事件與警示 善用指令碼 資料庫維護計畫 N1036712 黃教哲 N1036744 蔡維庭
12-1 DatbaseMail 自動化管理是SQLSEVER 為了減輕DBA的負擔所以提供的功能 _DatabaseMail 是其中之一 DatabaseMail- 直接讓SQLSEVER把郵件寄出去 給DBA 讓 DBA知道 伺服器的狀況 做更進一步的處理 不過只能寄送不能接收 如何設定DatabaseMail: 透過內建的精靈 使用預存程序
預存程序的語法: 寄出郵件: @profile_name='test', --設定檔 @recipients='rick@ms.com', --收件者 @subject='mail測試', --主旨 @body='測試', --內文 @query='select getdate()', --還可以下查詢式哦 @file_attachments='C:\test.txt', --夾檔 @attach_query_result_as_file=1, --把查詢的結果設為附件夾檔,不設的話就是在mail內容中看到囉 @body_format=TEXT --使用text格式 --@body_format=HTML' --也可以使用HTML格式
練習1:利用精靈 做好設定並且 使用SQLSEVER 寄出MAIL 12-1 練習 STEP BY STEP 練習1:利用精靈 做好設定並且 使用SQLSEVER 寄出MAIL 練習2:使用預存程序來設定必寄出MAIL
12-2 SQL SERVER AGENT 是個在背景裡面運作的服務 工具 執行作業(Job) (作業就是一組要SQL SERVER ANGENT 替我們做的T_SQL指令) 發出警示(Alert) 在指定的事件發生時後通知DBA 我們可以透過這些功能把日常管理作業交給SQL SERVER ANGENT 大量減輕工作人員的負擔 這就是自動化管理
練習1: 設定SQL SERVER Agent 服務 練習2: SQL SERVER Agent屬性設定 12-2 練習 STEP BY STEP 練習1: 設定SQL SERVER Agent 服務 練習2: SQL SERVER Agent屬性設定
12-3 操作員 操作員就是設定一組人名跟聯絡方式 之所以需要是因為 DBA不可能24小時待命 當資料庫發生問題時後 而管理人員不在 就用這組資料來通知DBA
12-3 練習 STEP BY STEP 練習1: 利用精靈建立操作員的資料
12-4 利用作業做自動化管理 作業: 其實就是一組T_SQL指令 一般人也可以 透過精靈來建立 自動化作業 讓資料庫自己自動地去執行日常的維護工作 EX 建立備份 ,複寫資料 等等….. 大量減輕工作負擔 利用精靈建立作業時候必須定義: 作業名稱 最長128個字 作業的總類: 複寫 備份 資料庫維護… 排程, 作業失敗時候要通知的對象等等
練習3:手動執行作業 檢視作業執行歷程 停止作業 12-4 練習 STEP BY STEP 練習1: 利用 精靈來建立新的作業 練習2: 建立作業排程與通知 練習3:手動執行作業 檢視作業執行歷程 停止作業
12-5 事件與警示 警示(Alert) 就是指針對特殊的事件,要發信給操作員的設定。可設定的事件可分為兩大類: 12-5 事件與警示 警示(Alert) 就是指針對特殊的事件,要發信給操作員的設定。可設定的事件可分為兩大類: SQL Server的執行狀態 例如: SQL Server執行某項查詢發生問題,某資料庫的交易紀錄檔已滿等等。 作業的執行狀態: 像前面介紹的作業屬性交談窗中,當我們在通知頁面次中指定了要將作業執行狀態通知操作員時,其實就是建立警示,這個警示會在作業執行成功或失敗時,通知指定的操作員。
12-5 事件與警示 SQL Server Agent 的警示設定: 1.啟用郵件設定檔 如果想要以郵件通知操作員,就一定要勾選此選項 12-5 事件與警示 SQL Server Agent 的警示設定: 1.啟用郵件設定檔 如果想要以郵件通知操作員,就一定要勾選此選項 2.保全操作員 當警示通知發生問題 時,應將狀況通知哪 一位操作員。 3.Token使用 在T-SQL敘述中使用, 例如: $(DATE) 可取得 當天日期的資訊。
12-6 善用指令碼 善用指令碼產生功能: 1.管理人員可利用此 功能,簡化一些作業 的複雜度。 2.也可將操作員、作業和警示等物件存成 12-6 善用指令碼 善用指令碼產生功能: 1.管理人員可利用此 功能,簡化一些作業 的複雜度。 2.也可將操作員、作業和警示等物件存成 Script檔,再拿到別 的伺服器加以利用。 3.Token使用 在T-SQL敘述中使用, 例如: $(DATE) 可取得 當天日期的資訊。
12-6 善用指令碼(指令碼精靈) 指令碼精靈功能: 若要建立指令的物 件很多,此時用指令碼精靈來建立比較方 便。
12-6 善用指令碼(指令碼精靈) 指令碼精靈步驟: 1.選取資料庫物件 2.指定指令碼或發行 選項 3.檢閱選取項目 4.產生指令碼,然後 12-6 善用指令碼(指令碼精靈) 指令碼精靈步驟: 1.選取資料庫物件 2.指定指令碼或發行 選項 3.檢閱選取項目 4.產生指令碼,然後 儲存或發行這些指 令碼
12-6 善用指令碼(指令碼精靈) 1.選取要產生指令碼的資料庫物件
12-6 善用指令碼(指令碼精靈) 2.選擇指令碼輸出的方式 執行進階的功能選項, 可以設定輸出指令碼 的選項,可選擇建立 12-6 善用指令碼(指令碼精靈) 2.選擇指令碼輸出的方式 執行進階的功能選項, 可以設定輸出指令碼 的選項,可選擇建立 Create、Drop 等等...
12-6 善用指令碼(指令碼精靈) 3.檢視先前各步驟的 設定摘要
12-6 善用指令碼(指令碼精靈) 4.完成指令碼產生 如果只想複製部分的 資料庫物件、或是想 修改預存程序或檢視, 12-6 善用指令碼(指令碼精靈) 4.完成指令碼產生 如果只想複製部分的 資料庫物件、或是想 修改預存程序或檢視, 則先利用精靈產生主要的程式後,再加以修改、使用就很方便。
12-7 資料庫維護計畫 資料庫維護計畫 將整個資料庫的維護工作,包括資料庫的備份、資料一致性檢查、及資料最佳化資訊的更新等,設定成一套完整的計畫。 而SQL Server會替我們打理相關的作業設定,以進行指定的維護工作,所以我們就不需自己去設定資料庫的備份設定等各項作業了。 兩種設定資料庫維護計畫的方式: 1.維護計畫精靈 2.專屬圖形設計介面
12-7 資料庫維護計畫(維護計畫精靈) 執行維護計畫精靈 ●檢查資料庫完整性 ●執行索引維護 ●更新資料庫統計資料 ●執行資料庫備份
12-7 資料庫維護計畫 1.設定維護計畫名稱和排程
12-7 資料庫維護計畫 2.選取計畫需執行的維護工作
12-7 資料庫維護計畫 3.選取計畫工作順序
12-7 資料庫維護計畫 3.選取要維護的資料庫
12-7 資料庫維護計畫 4.因為在精靈第一步中選擇對整個計畫單一排程,所以無法再設定排程
12-7 資料庫維護計畫 5.選擇要執行壓縮資料的資料庫
12-7 資料庫維護計畫 6.設定執行後報表檔存放位置,以及以電子郵件通知操作員
12-7 資料庫維護計畫 7.完成維護計畫精靈
12-5 實作定義警示 1.在SQL Server Agent 下面的警示,新增 警示。 1.執行新增警示
12-5 實作定義警示(一般) 2.輸入警示名稱: 交易紀錄已滿 3.選擇事件類型: SQL Server事件 警示 4.選擇條件: 12-5 實作定義警示(一般) 2.輸入警示名稱 2.輸入警示名稱: 交易紀錄已滿 3.選擇事件類型: SQL Server事件 警示 3.選擇事件類型 4.選擇條件: 錯誤號碼:9002 4.選擇條件
12-5 實作定義警示(回應) 5.選擇執行作業: Backup Log (Database Maintenance) 6.勾選通知操作員: 12-5 實作定義警示(回應) 5.選擇執行作業 5.選擇執行作業: Backup Log (Database Maintenance) 6.勾選通知操作員 6.勾選通知操作員: 選擇要通知的操 作員及通知方式
12-5 實作定義警示(選項) 7.勾選通知操作員: 選擇要通知的操 作員及通知方式 8.訊息文字: 可自訂訊息文字 12-5 實作定義警示(選項) 7.勾選通知操作員: 選擇要通知的操 作員及通知方式 7. 選擇將訊息文字加入電子郵件中 8.訊息文字: 可自訂訊息文字 8. 警示文字的內容
12-5 實作定義警示(歷程紀錄) 9. 可在警示設定中的 歷程紀錄,查看上 次觸發此事件的相 記錄。
12-5 實作定義警示(補充) 1. 開啟系統資料屬性, 查看資料庫紀錄檔, 以及記錄檔路徑 1. 系統資料庫屬性
12-5 實作定義警示(補充) 2. 可修改資料庫 記錄檔大小限制
報告結束 謝謝大家