本書的由來我在51CTO的博客文章已經積累到一定數量,針對SQL Server管理的監控方向的研究也比較全面和詳盡。所以本著知識共享的初衷,想將該專題整理成書,與廣大讀者分享。
本書的內容結構《SQL Server監控和診斷》共7章,第1章為概述部分,闡述SQL Server監控的體系結構及相關概念。通過這一章的介紹,讀者可以對SQL Server監控有一個更高層次的認識。第2章講解SQL Server監控事件所包含的各項技術及相關應用。第3章為高級診斷,深入剖析擴展事件和環形緩沖,對底層問題的診斷、分析和調優有重大幫助。第4章為跟蹤數據更改,學習跟蹤DML和DDL操作。第5章為SQL Server審核,能滿足企業級安全需求。第6章為數據收集,講解集中化收集各種監控指標數據的方法和實踐。第7章為監控自動化,講解各種告警類型和告警的自動化實現。
適合的讀者《SQL Server監控和診斷》是針對希望深入了解如何管理SQL Server環境的數據庫管理員編寫的。
適合那些已經掌握了SQL Server基礎知識,但缺少實踐經驗的讀者使用,對初學者來說更是一本進階的必備指導用書。由于《SQL Server監控和診斷》內容繁多,讀者不可能全部記牢,因此可在需要時回顧并參考相關內容,所以《SQL Server監控和診斷》對于中高級讀者來說也同樣適用。
《SQL Server監控和診斷》也可用于微軟認證的數據庫工程師(MCSE)和微軟認證講師(MCT)準備包含SQL Server管理內容的豐富的培訓課程,并且更具實戰性。
《SQL Server監控和診斷》還面向希望使用SQL Server監控技術來擴展自己的應用程序的開發人員和程序員。
聲明《SQL Server監控和診斷》的知識體系結構的分類整理和相關專業術語源于MSDN的SQL Server部分,難免存在疏漏和值得商榷的地方,望指出和海涵。
致謝感謝我偉大的妻子和健康的兒子,感謝家里老人們的付出,對于你們我感到深深的內疚。
編者
許昌永,高級DBA,微軟SQL Server MVP,51CTO論壇 SQL Server和NoSQL版塊版主,擅長SQL Server、MongoDB等數據庫的開發、管理和調優。擁有十年以上SQL Server使用經驗,先后獲得SQL Server 2008 MCITP、SQL Server 2012 MCSE、Oracle 11g OCP 、MySQL 5.6 OCP等證書。長期致力于SQL Server數據庫領域技術研究、管理和開發,積累了豐富的數據庫管理、架構設計、項目實施經驗。曾在51CTO博客發布了大量SQL Server技術文章,積極回復論壇問題,創建了SQL Server技術交流QQ群。
曾就職于騰訊公司,從事了六年游戲行業SQL Server數據庫開發和管理,負責游戲版本相關數據庫內容發布及變更需求;負責游戲數據庫相關日常緊急故障處理;負責對游戲業務相關支撐及開發人員提供數據庫方面技術咨詢及支持;負責游戲業務數據庫長期運行所需的性能優化及改進;負責游戲數據庫表結構設計的建議和SQL的審核;負責游戲數據庫管理相應的配套系統的建設及新技術的研究推廣;承擔部門內的技術培訓職責,進行相應的新技術研究和應用。
現就職于跨境電商DX.COM,負責公司SQL Server和MongoDB的數據庫架構設計、高可用部署、運維管理和性能優化等工作。
目前,正專注于SQL Server和MongoDB數據庫、以及PowerShell領域的自動化運維、技術研究和推廣工作。
前言
第1章SQL Server監控介紹
1. 1SQL Server監控體系架構
1. 2SQL Server監控方法介紹
1. 2. 1在SQL Server實用工具中監控SQL Server的實例
1. 2. 2日志文件查看器
1. 2. 3監控資源使用情況
1. 2. 4監視事件
1. 2. 5數據收集
1. 2. 6SQL Server擴展事件
第2章SQL Server監控事件系列
2. 1SQL Trace和 SQL ServerProfiler
2. 1. 1SQL跟蹤(SQL Trace)簡介
2. 1. 2SQL Server事件探查器(SQL ServerProfiler)簡介
2. 1. 3服務器端跟蹤
2. 1. 4常用SQL跟蹤事件
2. 1. 5常用SQL Server Profiler跟蹤方法
2. 1. 6重放跟蹤
2. 1. 7注意事項
2. 2SQL Server 默認跟蹤(DefaultTrace)
2. 2. 1SQL Server 默認跟蹤簡介
2. 2. 2捕獲事件詳解
2. 2. 3應用1——刪除對象事件
2. 2. 4應用2——審核備份和恢復事件
2. 2. 5應用3——檢測對表的DDL操作
2. 2. 6應用4——檢測日志文件自動增長
2. 2. 7SQL Server 默認跟蹤報表
2. 3SQL Server 黑盒跟蹤(BlackboxTrace)
2. 3. 1SQL Server 黑盒跟蹤介紹
2. 3. 2如何啟用黑盒跟蹤
2. 3. 3如何在生產環境配置
2. 3. 4進一步了解sqldiag
2. 3. 5深入進階
2. 4SQL Server 事件通知(EventNotification)
2. 4. 1事件通知簡介
2. 4. 2事件通知(Event Notification)實踐
第3章SQL Server高級診斷系列
3. 1SQL Server擴展事件
3. 1. 1SQL Server 擴展事件體系結構
3. 1. 2SQL Server擴展事件概念解析
3. 1. 3參數選擇和性能問題
3. 1. 4事件的生命周期
3. 1. 5默認擴展事件會話system_health簡介
3. 1. 6使用system_health默認跟蹤會話監控死鎖
3. 1. 7SQL Server 中如何監控死鎖
(Deadlock)
3. 1. 8使用擴展事件跟蹤監控死鎖
3. 1. 9使用擴展事件跟蹤監控死鎖腳本實現
3. 1. 10使用擴展事件跟蹤查詢語句
3. 1. 11使用擴展事件的不同目標示例
3. 2SQL Server 環形緩沖區(Ring Buffer)
3. 2. 1SQL Server 環形緩沖區簡介
3. 2. 2SQL Server的Ring Buffer類型
3. 2. 3RING BUFFER CONNECTIVITY 的深入理解
3. 2. 4RING_BUFFER_RESOURCE_MONITOR診斷SQL Server內存壓力
3. 2. 5RING_BUFFER_SCHEDULER_MONITOR 獲取SQL進程的CPU利用率
3. 2. 6RING_BUFFER_EXCEPTION跟蹤異常
3. 2. 7RING_BUFFER_SECURITY_ERROR診斷安全相關錯誤
3. 2. 8RING_BUFFER_RESOURCE_MONITOR 的應用
3. 2. 9RING_BUFFER_MEMORY_BROKER診斷內部內存壓力
第4章SQL Server跟蹤數據更改
4. 1SQL Server變更數據捕獲
4. 1. 1變更數據捕獲概述
4. 1. 2配置變更數據捕獲
4. 1. 3訪問跟蹤更改信息
4. 1. 4變更數據捕獲實踐
4. 2SQL Server更改跟蹤
4. 2. 1關于更改跟蹤
4. 2. 2啟用和禁用更改跟蹤
4. 2. 3通過使用更改跟蹤函數獲取更改
4. 2. 4更改跟蹤實踐
4. 2. 5比較更改跟蹤和變更數據捕獲
4. 3SQL Server DDL 觸發器(DDLTrigger)
4. 3. 1SQL Server DDL 觸發器簡介
4. 3. 2創建數據庫級別的DDL觸發器
4. 3. 3創建服務器級別的DDL觸發器
4. 3. 4觸發器的安全性
第5章SQL Server審核系列
5. 1SQL Server C2審核模式和通用準則(Common Criteria)
5. 1. 1C2和通用準則審核簡介
5. 1. 2C2審核模式(C2 audit mode)
5. 1. 3符合通用準則(common criteriacompliance)
5. 2SQL Server 審核
5. 2. 1SQL Server 審核簡介
5. 2. 2SQL Server審核組件
5. 2. 3如何創建審核
5. 2. 4SQL Server審核與應用程序架構
5. 2. 5使用審核的注意事項
5. 2. 6創建服務器級別的審核
5. 2. 7創建數據庫級別的審核
5. 2. 8審核對數據庫對象的訪問
5. 2. 9使用Transact-SQL創建審核
第6章SQL Server數據收集系列
6. 1SQL Server性能計數器采集
6. 1. 1通過DMV采集并存儲SQL Server性能計數器數據
6. 1. 2采集SQL Server 性能計數器并用
SSRS創建報表
6. 2集中化監控數據庫
6. 2. 1使用數據收集器和中央管理服務器集中化監控數據庫
6. 2. 2深入見解
第7章SQL Server監控自動化
7. 1SQL Server 告警全解析
7. 1. 1SQL Server告警相關專業術語
7. 1. 2SQL Server告警架構
7. 1. 3SQL Server事件告警
7. 1. 4SQL Server性能告警
7. 1. 5WMI告警
7. 1. 6相關日志
7. 1. 7可能遇到的問題
7. 2監控自動化實戰
7. 2. 1示例1:創建嚴重級別大于等于13的事件告警
7. 2. 2示例2:監控鏡像的同步情況