SQL Server求生秘籍

《SQLServer求生秘籍》由(美)亨德森主編,若啟,一輝,瞿傑譯,它是一本關於SQL Server故障排除的書籍。本書的主要內容包括等待和阻塞、數據毀壞和恢復、記憶體、過程快取、查詢進程等,由微軟公司SQL Server 開發團隊和客戶支持服務部門的支持專家所作。

求生秘籍

字 數: 554000

版 次: 1

頁 數: 342

1 開 本: 16開

印 次: 1

紙 張: 膠版紙

包 裝: 平裝

所屬分類: 圖書 >> 計算機>> 資料庫 >> SQL

定 價: ¥59.00

編輯推薦

微軟SQL Server內部技術資料大曝光,來自SQL Server開發小組和支持部門的夢之隊打造,SQL Server故障排除聖經。

“本書的內容是其他任何部落格、網站和圖書都沒有的。系統出問題時。它將成為你的救命稻草。”

——Pinal Dave,微軟MVP

“此書得非常好,涵蓋了對大量複雜問題進行故障排查的詳細解析。我認為每一位優秀的MSSQL DBA都

——Amazon .com評論

資料庫技術人員都不免面臨這樣的困境:每隔一段時日,資料庫系統就會因為一些奇怪的問題無法正常運作,然而由於缺乏底層信息,他們常常無法應對這些問題。

本書的出版將徹底改變這種局面。微軟技術大師Henderson邀請了微軟資料庫產品開發和支持團隊的多位資深工程師,各展所長,第一次集中公開了許多以前在微軟內部口口相傳的SQL Sewer技術機密。全書由10章組成,每一章都首先精闢地剖析SQL Sewer的一個關鍵內部機制。然後深入探討常見的問題及其解決方案,包括等待與阻塞、記憶體、快取、查詢處理、Service Broker、tempdb和群集等主題。書中討論了許多底層數據結構,詳細解釋了大量錯誤日誌、棧轉儲的含義。很多內容都是直接查看SQL Sewer原始碼總結提煉出來的,參考價值不言而喻。

內容簡介

本書幫助你解決眾多資料庫引擎方面的問題,每一章從關鍵的SQL Server 組件入手,然後探討用戶遇見的常見問題,並給出解決方案。本書的主要內容包括等待和阻塞、數據毀壞和恢復、記憶體、過程快取、查詢進程等。本書的作者都是來自微軟公司SQL Server 開發團隊和客戶支持服務部門的支持專家。在你的SQL Server 系統遇到問題時,本書將變得不可或缺。

本書適合資料庫管理員和資料庫開發人員閱讀。

作者簡介

Ken Henderson(1967-2008)SQL Sewer世界級權威。生前供職於微軟SQL Sewer開發組。以Guru's Guide系列經典著作和SQLDiag等工具享譽業界。

創作團隊 來自SQL Server開發小組的7位開發人員和來自微軟客戶支持服務機構的3位支持專家,他們都有豐富的開發經驗,熟悉SQL Sewer原始碼。

目錄

第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.3DBCC 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 小結

相關詞條

相關搜尋

熱門詞條

聯絡我們