本書是微軟全球技術支持中心數據庫支持部技術主管的瀝血之作,書中案例選自微軟全球客戶遇到的實際問題。本書的特點是面向實戰,主要面向Microsoft SQL Server各個版本的數據庫系統管理和開發人員,介紹SQL Server關系型數據庫引擎在日常使用和開發過程中經常會遇到的問題、其表現形式、背后運行機理、基本理論知識、搜集和分析問題日志的方法,以及解決實際問題的可選手段。
閱讀本書可以幫助數據庫管理與開發人員更深入地理解SQL Server的原理和運行規律,以提高解決問題的能力。
厚積薄發,微軟數據庫支持部經理分享十年工作經驗
鞭辟入里,深入分析全球企業級SQL Server用戶典型案例
徐海蔚,于2000加入微軟亞太區全球技術支持中心企業支持及開發部,數據庫支持組。在過去的10年里,一直從事SQL Server的高端技術支持,曾先后擔任支持工程師、技術主管和部門經理。服務的客戶包括亞太區的大型企業、微軟合作伙伴和開發人員。接觸的企業級客戶遍布大中華地區
第1章 數據庫空間管理
1.1 文件的分配方式及文件空間檢查方法
1.2 數據文件空間使用與管理
1.3 日志文件不停增長
1.4 文件自動增長和自動收縮
1.5 小結
第2章 數據庫備份與恢復
2.1 備份概述
2.2 選擇備份策略和恢復模式
2.3 選擇數據庫還原方案
2.4 應對由于備份損壞導致的還原錯誤
2.5 系統數據庫備份與恢復
2.6 實例:將數據庫系統在一臺新服務器上恢復
第3章 SQL Server服務或數據庫不可訪問
3.1 SQL Server服務啟動順序
3.2 數據庫狀態切換及Recovery
3.3 系統數據庫不能啟動的常見原因和解決方法
3.4 用戶數據庫常見問題和解決方法
3.5 實例:修復Recovery失敗的數據庫
第4章 數據庫損壞修復
4.1 常見錯誤解讀
4.2 DBCC CHECKDB
4.3 數據庫反復損壞問題應對
第5章 連接與認證
5.1 協議的選擇與別名
5.2 連接失敗檢測步驟——命名管道
5.3 連接失敗檢測步驟——TCP/IP
5.4 一般性網絡錯誤(General Network Error)
5.5 認證與問題
第6章 SQL Server內存分配理念和常見內存問題
6.1 從操作系統層面看SQL Server內存分配
6.2 SQL Server內部獨特的內存管理模式
6.3 SQL Server內存使用狀況分析方法
6.4 數據頁緩沖區壓力分析
6.5 Stolen Memory緩存壓力分析
6.6 Multi-page緩存區壓力分析
6.7 常見內存錯誤與解決辦法
6.8 小結
第7章 SQL Server IO問題
7.1 SQL Server的I/O操作
7.2 系統級I/O問題判斷
7.3 數據庫引擎錯誤833
7.4 IO問題的SQL Server內部分析
7.5 硬盤壓力測試
7.6 小結
第8章 任務調度與CPU問題
8.1 SQL Server獨特的任務調度算法(SQLOS)
8.2 SQL CPU %問題
8.3 OLTP和Data Warehouse系統差別及常用性能閥值
8.4 小結
第9章 阻塞與死鎖——知識準備
9.1 鎖產生的背景
9.2 鎖資源模式和兼容性
9.3 事務隔離級別與鎖的申請和釋放
9.4 如何監視鎖的申請、持有和釋放
9.5 鎖的數量和數據庫調優的關系
9.6 結論
9.7 數據庫引擎中基于行版本控制的隔離級別
第10章 阻塞與死鎖——問題定位與解決
10.1 阻塞問題定位方法及實例演示
10.2 常見阻塞原因與解決方法
10.3 案例分析:連接池(Connection Pooling)與阻塞
10.4 死鎖問題定位及解決方法
第11章 從等待狀態判斷系統資源瓶頸
11.1 LCK_xx類型
11.2 PAGEIOLATCH_x 與WRITELOG
11.3 PAGELATCH_x
11.4 Tempdb上的PAGELATCH
11.5 其他資源等待
11.6 一道瓶頸:許多任務處于Runnable狀態
11.7 小結
第12章 語句調優——知識準備
12.1 索引與統計信息
12.2 編譯與重編譯
12.3 讀懂執行計劃
12.4 讀懂語句運行統計信息
第13章 語句調優-問題定位與解決方法
13.1 是否是因為做了物理IO而導致的性能不佳
13.2 是否是因為編譯時間長而導致性能不佳
13.3 判斷執行計劃是否合適
13.4 Parameter Sniffing
13.5 調整數據庫設計來優化語句性能
13.6 調整語句設計提高性能
第14章 常用SQL Server系統信息與搜集方法
14.1 Windows 事件日志(Event Log)
14.2 SQL Server Errorlog文件
14.3 性能監視器(Performance Monitor)
14.4 SQL Trace文件
14.5 系統管理視圖跟蹤
14.6 自動化信息收集:SQLDiag工具
14.7 系統自動監視工具 - Performance Dashboard