第1章 等待和阻塞
1.1 等待類型
1.2 對阻塞問題進行故障排查
1.3 識彆阻塞
1.3.1 通過sys.dm_os_waiting_tasks來識彆阻塞
1.3.2 從統計上識彆阻塞
1.4 確定阻塞的原因
1.4.1 當前的語句和計劃
1.4.2 阻塞模式
1.4.3 阻塞鏈
1.5 資源類型的細節
1.5.1 閂鎖
1.5.2 鎖
1.5.3 外部等待類型
1.5.4 計時器和隊列等待類型
1.5.5 io操作的等待類型
1.5.6 其他等待類型
1.6 死鎖
1.7 監視阻塞
1.7.1 等待的統計信息
1.7.2 當前的等待信息
1.8 小結
1.9 其他資源
第2章 數據損壞及恢復
2.1 基本原理
2.2 sql server 2005存儲內幕
2.2.1 數據庫及文件狀態
2.2.2 資源數據庫
2.2.3 目錄視圖和基本係統錶
2.2.4 分配結構
2.2.5 數據庫校驗和
2.2.6 快速恢復
2.2.7 延期事務
2.2.8 隻讀的壓縮數據庫
2.3 sql server 2005增強
2.3.1 備份增強
2.3.2 還原增強
2.3.3 dbcc checkdb增強
2.4 數據恢復最佳實踐
2.4.1 備份/還原最佳實踐
2.4.2 數據庫及日誌最佳實踐
2.4.3 dbcc checkdb最佳實踐
2.5 數據恢復故障排查場景
2.5.1 係統數據庫恢復
2.5.2 恢復資源數據庫
2.5.3 創建tempdb故障
2.5.4 重裝操作係統
2.6 用戶數據庫不可訪問
2.6.1 數據庫被標記為recovery_pending
2.6.2 處理延遲事務
2.6.3 數據庫被標記為suspect
2.6.4 粘貼數據庫故障
2.7 backup/restore故障
2.7.1 backup故障
2.7.2 restore故障
2.8 數據庫一緻性錯誤
2.8.1 處理數據庫一緻性運行時錯誤
2.8.2 處理dbcc checkdb錯誤
2.8.3 修復與還原
2.8.4 每個錯誤錶示什麼
2.8.5 解釋
2.8.6 用戶動作
2.8.7 repair_allow_data_loss真正的意思是什麼
2.8.8 進行恢復之前的根本原因分析
2.8.9 如果修復沒有用,應該怎麼辦
2.8.10 復製數據與修復
2.8.11 找齣損壞的根本原因:清單
第3章 內存
3.1 windows內存管理入門
3.1.1 內部的虛擬內存——虛擬地址空間
3.1.2 外部虛擬內存
3.1.3 內部物理內存
3.1.4 外部物理內存
3.1.5 內存壓力
3.1.6 numa支持
3.2 sqlos和sql server的內存管理
3.2.1 內存結點
3.2.2 內存clerk
3.2.3 內存對象
3.2.4 內存緩存
3.2.5 緩衝池
3.2.6 故障排查
第4章 過程緩存
4.1 過程緩存的架構
4.1.1 緩存對象的類型
4.1.2 過程緩存的結構
4.1.3 過程緩存和內存
4.1.4 非緩存計劃和零成本計劃
4.1.5 計劃的共享
4.1.6 重編譯
4.1.7 參數化
4.1.8 緩存查找如何工作
4.1.9 緩存計劃復用
4.1.10 刷新過程緩存
4.2 常見緩存相關問題及解決方案
4.2.1 使用過程緩存來確定代價昂貴的查詢
4.2.2 參數截取
4.2.3 較差的計劃復用造成較高的編譯時間
4.2.4 由於過度的緩存查找時間導緻的高cpu問題
4.2.5 由過程緩存所引起的內存壓力
4.3 小結
第5章 查詢處理器
5.1 查詢處理器基礎
5.1.1 編譯—執行序列
5.1.2 執行計劃
5.1.3 查詢編譯和計劃選擇
5.1.4 特殊的優化方法及場景
5.2 常見問題
5.2.1 編譯時間和參數化
5.2.2 索引化
5.2.3 基數和開銷估算
5.3 故障排查
5.3.1 診斷
5.3.2 控製
5.4 最佳實踐
5.4.1 使用麵嚮集閤的編程模型
5.4.2 提供約束和統計的信息
5.4.3 注意復雜的構造
5.4.4 盡可能地避免動態語言特性
5.5 進階閱讀
第6章 服務器崩潰和其他緻命故障
6.1 基礎知識
6.1.1 sql server 2005服務器恢復內幕
6.1.2 sql server 2005的增強特性
6.2 緻命錯誤與服務器恢復故障排查
6.2.1 服務器啓動故障排查
6.2.2 對服務器緻命錯誤進行故障排查
6.2.3 服務器掛起問題的故障排查
第7章 service broker相關問題
7.1 broker總覽
7.1.1 為什麼要使用service broker
7.1.2 service broker的對象和術語
7.1.3 內部架構
7.2 主要的診斷工具和方法
7.2.1 傳輸隊列視圖
7.2.2 sql profiler——service broker跟蹤事件
7.2.3 錯誤日誌和nt事件日誌
7.3 broker故障排查實踐
7.4 其他service broker診斷工具
7.4.1 視圖
7.4.2 perfmon
7.4.3 dbcc checkdb
7.5 進階閱讀
第8章 sqlos和調度問題
8.1 sqlos架構
8.1.1 內存和cpu結點
8.1.2 調度器
8.1.3 任務和worker
8.1.4 sql server和sqlos
8.2 配置和故障排查
8.2.1 結點配置
8.2.2 網絡連接關聯
8.2.3 調度器
8.2.4 任務與worker
8.2.5 調度器之間的負載均衡任務
8.2.6 max worker threads配置
8.2.7 lightweight pooling配置
8.2.8 affinity mask配置
8.2.9 磁盤i/o完成處理
8.2.10 搶占式i/o完成處理
8.2.11 調度器監視器
8.2.12 硬件配置
8.2.13 專用管理員連接
8.3 進階閱讀
第9章 tempdb相關問題
9.1 sql server 2005中有何改進
9.1.1 tempdb日誌文件的io動作少瞭
9.1.2 tempdb數據文件自動增長更快
9.1.3 改進tempdb的並行訪問的可擴展性
9.1.4 改進tempdb中多個文件的可擴展性
9.2 tempdb空間是如何使用的
9.2.1 什麼是用戶對象
9.2.2 什麼是內部對象
9.2.3 什麼是版本存儲對象
9.3 故障排查實踐
9.3.1 如果tempdb空間不足,你該怎麼辦
9.3.2 什麼是tempdb頁麵閂鎖競爭
9.4 小結
第10章 群集問題
10.1 示例
10.2 工具
10.3 將性能調整到可接受的水平上
10.3.1 添加結點
10.3.2 為什麼群集sql server實例發生故障轉移
10.3.3 為什麼故障轉移要花這麼長時間
10.3.4 故障轉移之後沒人可以連接
10.3.5 添加磁盤
10.3.6 替換磁盤
10.3.7 轉移數據庫
10.4 小結
· · · · · · (
收起)