SQL Server 2012寶典第4版

SQL Server 2012寶典第4版

《SQL Server 2012寶典第4版》是2014年5月清華大學出版社出版的圖書,作者是Adam Jorgensen、Patrick LeBlanc、Jose Chinchilla、Jorge Segarra、Aaron Nelson。

內容簡介

如果您是一位資料庫管理員或開發者,那么SQL
Server2012寶典(第4版)將是您全面了解SQLServer2012的
一站式資源。本書深入探討核心技術、最佳實踐和精妙方
案,列舉豐富的實例和示例代碼,並完整介紹AlwaysOn連
接、新索引、PowerView、主數據服務、數據質量服務和
PowerPivotforSQLServer2012等新功能。
●深入探討SQLServer2012的所有新功能
●理解高級T-SQL數據類型和查詢技術
●確保任務關鍵型應用程式的高可用性
●開始使用SQLAzure進行雲計算
●熟悉新的安全和兼容設定
●通過BI、數據倉儲和EnterpriseInformationManagement
解決方案工具使用數據
●快速了解BI工具集的最新改進

目錄

第Ⅰ部分入門

第1章SQLServer世界 3

1.1SQLServer發展簡史 3

1.2資料庫市場中的SQLServer 4

1.2.1SQLServer的競爭對手 4

1.2.2SQL社區的強大之處 4

1.3SQLServer的組件 5

1.3.1資料庫引擎 5

1.3.2服務 5

1.3.3商業智慧型 6

1.3.4工具和附加組件 7

1.3.5在線上資源 9

1.4SQLServer2012的版本 9

1.5SQLServer2012的顯著增強 10

1.6小結 11

第2章數據架構 12

2.1信息架構原則 12

2.2資料庫目標 13

2.2.1適用性 13

2.2.2可擴展性 14

2.2.3數據完整性 14

2.2.4性能/可擴展性 15

2.2.5可用性 15

2.2.6安全性 15

2.3智慧型資料庫設計 17

2.3.1資料庫系統 17

2.3.2物理架構 18

2.3.3基於集的查詢 19

2.3.4索引 19

2.3.5並發性 19

2.3.6高級可擴展性 20

2.3.7性能框架 20

2.3.8爭議和異議 21

2.4小結 21

第3章安裝SQLServer 23

3.1準備伺服器 24

3.1.1硬體和軟體需求 24

3.1.2適當修補 25

3.1.3防火牆 25

3.2選擇版本 26

3.2.1不同版本之間的區別 27

3.2.2以後的降級 27

3.2.3以後的升級 29

3.2.4許可方面的區別 30

3.3安裝過程 31

3.3.1SQLServer2012安裝中心 32

3.3.2通過安裝中心安裝

SQLServer2012 33

3.3.3通過命令行安裝

SQLServer2012 41

3.3.4通過PowerShell安裝

SQLServer2012 43

3.3.5完成安裝後的任務 46

3.4小結 49

第4章客戶端連線 50

4.1啟用伺服器連線 50

4.1.1伺服器配置管理器 51

4.1.2SQL本地客戶端連線(SNAC) 52

4.2SQLServer本地客戶端特性 52

4.2.1對LocalDB的本地

客戶端支持 53

4.2.2元數據發現 53

4.2.3高可用性/災難恢復支持 53

4.2.4改進的日期/時間支持 53

4.2.5訪問擴展事件日誌中的

診斷信息 54

4.2.6ODBC特性 54

4.2.7多活動結果集(MARS) 54

4.2.8XML數據類型 55

4.2.9用戶定義類型 55

4.2.10大值類型 55

4.2.11檔案流支持 55

4.2.12過期密碼處理 55

4.2.13快照隔離 56

4.3小結 56

第5章SQLServer管理和開發工具 57

5.1組織界面 58

5.1.1視窗放置 59

5.1.2上下文選單 61

5.2RegisteredServers 61

5.2.1管理伺服器 61

5.2.2伺服器組 62

5.3ObjectExplorer 63

5.3.1導航樹 63

5.3.2篩選ObjectExplorer 65

5.3.3ObjectExplorerDetails頁面 65

5.3.4表設計器 65

5.3.5創建資料庫關係圖 66

5.3.6QueryDesigner 67

5.3.7ObjectExplorer報表 68

5.4使用QueryEditor 69

5.4.1打開連線到伺服器的查詢 69

5.4.2打開.sql檔案 70

5.4.3捷徑和書籤 71

5.4.4查詢選項 72

5.4.5執行SQL批處理 72

5.4.6結果 73

5.4.7查看查詢執行計畫 73

5.5使用SolutionExplorer 74

5.6以模板和代碼片段為

基礎編寫代碼 74

5.6.1模板的使用 74

5.6.2代碼片段的使用 75

5.7小結 75

第Ⅱ部分建立資料庫和處理數據

第6章基本的查詢流 79

6.1了解查詢流 80

6.1.1查詢語句的語法流 80

6.1.2查詢語句的圖形化視圖 80

6.1.3查詢語句的邏輯流 82

6.1.4查詢語句的物理流 82

6.2From子句數據源 83

6.2.1可能的數據源 83

6.2.2表別名 84

6.2.3表名稱 85

6.2.4完全限定的名稱 85

6.3WHERE條件 86

6.3.1使用BETWEEN搜尋條件 86

6.3.2與列表比較 87

6.3.3使用LIKE搜尋條件 89

6.3.4多個WHERE條件 91

6.4列、星號、別名和表達式 92

6.4.1星號 92

6.4.2別名 93

6.4.3限定的列 94

6.5結果集排序 94

6.5.1通過使用列名稱來指定順序 95

6.5.2使用表達式指定順序 96

6.5.3使用列別名指定順序 97

6.5.4使用列的順序位置 97

6.5.5ORDERBY和排序規則 97

6.6SELECTDISTINCT 99

6.7TOP()謂詞 100

6.7.1WITHTIES選項 102

6.7.2隨機行選擇 102

6.8小結 103

第7章關係資料庫設計和創建

物理資料庫架構 104

7.1資料庫基礎知識 104

7.1.1數位化資料庫的優點 105

7.1.2表、行和列 105

7.1.3資料庫設計階段 106

7.1.4規範化 106

7.1.5三個“一規則” 107

7.1.6標識實體 107

7.1.7泛化 108

7.1.8主鍵 109

7.1.9外鍵 109

7.1.10基數 110

7.1.11可選性 110

7.2數據設計模式 111

7.2.1一對多模式 112

7.2.2一對一模式 112

7.2.3多對多模式 112

7.2.4超型/子型模式 114

7.2.5域完整性查找模式 115

7.2.6遞歸模式 116

7.2.7資料庫設計層 118

7.3範式 118

7.3.1第一範式(1NF) 118

7.3.2第二範式(2NF) 119

7.3.3第三範式(3NF) 120

7.3.4Boyce-Codd範式(BCNF) 121

7.3.5第四範式(4NF) 122

7.3.6第五範式(5NF) 122

7.4戰略考慮事項 122

7.4.1何時在不同的資料庫中

單獨存儲表 122

7.4.2何時使用何種架構 123

7.5小結 123

第8章數據類型、表達式和

標量函式 124

8.1數據類型 124

8.1.1字元數據類型 124

8.1.2數值數據類型 125

8.1.3日期/時間數據類型 125

8.1.4其他數據類型 126

8.2構建表達式 126

8.2.1運算符 127

8.2.2按位運算符 128

8.2.3CASE表達式 130

8.2.4SQLServer2012新增的

邏輯函式 132

8.2.5使用空值 133

8.3標量函式 138

8.3.1用戶定義函式 138

8.3.2日期和時間函式 139

8.3.3SQLServer2012新增的函式 142

8.4字元串函式 143

8.6數據類型的轉換函式 151

8.7伺服器環境信息 154

8.8小結 155

第9章用聯接、子查詢和CTE

合併數據 156

9.1使用聯接 157

9.1.1內聯接 158

9.1.2外聯接 162

9.1.3自聯接 167

9.1.4交叉聯接 168

9.1.5特殊聯接 169

9.2差集查詢 170

9.2.1左差集查詢 170

9.2.2全差集查詢 171

9.3使用聯合 171

9.3.1UNIONALL查詢 171

9.3.2交集聯合 172

9.3.3差值聯合/EXCEPT 173

9.4子查詢 173

9.4.1簡單子查詢 174

9.4.2把子查詢用作列表 177

9.4.3嵌套子查詢 177

9.4.4把子查詢用作表 177

9.4.5相關子查詢 179

9.5小結 182

第10章聚合、視窗化和排名數據 183

10.1聚合數據 183

10.1.1基本聚合 183

10.1.2聚合、平均和空值 185

10.2結果集中的分組 185

10.2.1簡單分組 186

10.2.2分組集 187

10.2.3篩選已分組的結果 188

10.3視窗化和排名 189

10.3.1視窗化 189

10.3.2OVER()子句 189

10.3.3在視窗內分區 190

10.4排名函式 191

10.4.1ROW_NUMBER()函式 191

10.4.2RANK()函式和

DENSE_RANK()函式 193

10.4.3NTILE()函式 195

10.4.4聚合函式 196

10.4.5SQLServer2012新增的

T-SQL特性 197

10.4.6前一行和當前行 198

10.5小結 199

第11章通過視圖投影數據 200

11.1使用視圖的理由 200

11.2基本視圖 202

11.2.1運用QueryDesigner

創建視圖 202

11.2.2用DDL代碼創建視圖 203

11.2.3執行視圖 204

11.2.4更改並刪除視圖 205

11.3從更廣泛的角度看視圖 206

11.3.1列別名 206

11.3.2ORDERBY和視圖 206

11.3.3視圖限制 207

11.3.4嵌套視圖 207

11.3.5通過視圖更新 209

11.3.6視圖和性能 209

11.4鎖定視圖 210

11.4.1未經檢查的數據 210

11.4.2保護數據 211

11.4.3保護視圖 212

11.4.4加密視圖的SELECT語句 213

11.4.5應用程式元數據 213

11.5運用同義詞 214

11.6小結 214

第12章在SQLServer中修改數據 215

12.1插入數據 216

12.1.1插入簡單的值行 216

12.1.2從SELECT插入結果集 219

12.1.3從存儲過程插入結果集 220

12.1.4創建默認行 222

12.1.5在插入數據時創建表 222

12.2更新數據 224

12.2.1更新單個表 224

12.2.2執行全局搜尋和替代 225

12.2.3更新數據時引用多個表 226

12.3刪除數據 230

12.3.1刪除時引用多個數據源 231

12.3.2級聯刪除 232

12.3.3物理刪除數據的其他選擇 232

12.4合併數據 233

12.5返回修改後的數據 237

12.5.1從插入返回數據 237

12.5.2從更新返回數據 237

12.5.3從刪除返回數據 238

12.5.4從合併返回數據 238

12.5.5把數據返回到表中 239

12.6小結 239

第Ⅲ部分高級T-SQL數據類型和查詢技術

第13章操作層次結構 243

13.1HierarchyID 243

13.1.1選擇單個節點 245

13.1.2搜尋祖先節點 246

13.1.3執行子樹搜尋 246

13.1.4插入新節點 247

13.2HierarchyID方法 248

13.3索引策略 250

13.4層次結構數據的備選

操作方式 251

13.4.1遞歸CTE 251

13.4.2XML 252

13.5小結 253

第14章使用XML數據 254

14.1XML數據類型 255

14.1.1類型化XML和

非類型化XML 259

14.1.2XML架構 260

14.1.3XML列和變數 262

14.1.4XML參數和返回值 263

14.2XML數據類型方法 265

14.2.1XPath 265

14.2.2value() 265

14.2.3nodes()方法 266

14.2.4exist() 266

14.2.5query()和modify() 266

14.3FORXML 267

14.3.1AUTO 267

14.3.2RAW 270

14.3.3EXPLICIT 271

14.3.4PATH 272

14.4XQuery與FLWOR操作 274

14.5小結 275

第15章分散式查詢的執行 276

15.1分散式查詢概述 276

15.2分散式查詢的開發 284

15.2.1分散式查詢和SSMS 284

15.2.2分散式視圖 284

15.2.3使用分散式事務 287

15.3性能事項 289

15.3.1最佳化分散式查詢 289

15.3.2分片和聯合 290

15.4小結 291

第Ⅳ部分使用T-SQL編程

第16章使用T-SQL編程 295

16.1Transact-SQL基礎 295

16.1.1T-SQL批處理 296

16.1.2T-SQL格式化 297

16.2操作變數 298

16.2.1變數默認值和作用域 298

16.2.2使用SET命令和

SELECT命令 299

16.2.3增量變數 300

16.2.4條件選擇 301

16.2.5在SQL查詢中使用變數 301

16.2.6多重賦值變數 302

16.3過程流 303

16.3.1使用條件T-SQL的

IF命令 303

16.3.2使用WHILE循環 305

16.3.3使用GOTO命令

移動到標籤 306

16.4通過代碼分析SQLServer 306

16.4.1動態管理對象 306

16.4.2sp_help 307

16.4.3系統函式 308

16.5臨時表和表變數 308

16.5.1本地臨時表 308

16.5.2全局臨時表 309

16.5.3表變數 310

16.6SQLServer2012中關於

T-SQL的新增內容 311

16.6.1調試增強 311

16.6.2元數據發現 311

16.6.3OFFSET和FETCH 312

16.7錯誤處理 313

16.7.1遺留錯誤處理 314

16.7.2RAISERROR 315

16.7.3TRY…CATCH 318

16.7.4T-SQL致命錯誤 323

16.8批量操作 323

16.8.1批量插入 324

16.8.2BCP 326

16.9小結 326

第17章存儲過程的開發 327

17.1管理存儲過程 328

17.1.1創建、更改和刪除 328

17.1.2查看存儲過程 329

17.1.3加密存儲過程代碼 330

17.1.4執行存儲過程 331

17.1.5系統存儲過程 331

17.2把數據傳遞到存儲過程 332

17.2.1輸入參數 332

17.2.2提供列表和表作為

存儲過程的輸入參數 334

17.3從存儲過程中返回數據 338

17.3.1輸出參數 338

17.3.2RETURN命令的運用 339

17.3.3結果集 340

17.3.4返回數據的路徑和範圍 342

17.4小結 343

第18章構建用戶定義的函式 344

18.1標量函式 345

18.1.1理解限制 345

18.1.2創建標量函式 346

18.1.3調用標量函式 347

18.2內聯表值函式 347

18.2.1創建內聯表值函式 348

18.2.2調用內聯表值函式 348

18.2.3使用參數 349

18.2.4將用戶定義函式

相互關聯 350

18.2.5使用架構綁定創建函式 350

18.3多語句表值函式 351

18.3.1創建多語句表值函式 351

18.3.2調用函式 352

18.4用戶定義函式的最佳實踐 353

18.4.1性能最大化 353

18.4.2使用一致的命名約定 353

18.5小結 353

第Ⅴ部分企業數據管理

第19章配置SQLServer 357

19.1設定選項 357

19.1.1配置伺服器 358

19.1.2配置資料庫 361

19.1.3配置連線 362

19.1.4外圍套用配置器方面 363

19.2配置選項 363

19.2.1顯示高級選項 363

19.2.2啟動/停止配置屬性 365

19.2.3記憶體配置屬性 368

19.2.4處理器配置屬性 372

19.2.5安全配置屬性 377

19.2.6連線配置屬性 380

19.2.7高級伺服器配置屬性 385

19.2.8配置資料庫自動選項 388

19.2.9游標配置屬性 390

19.2.10SQLANSI配置屬性 392

19.2.11觸發器配置屬性 398

19.2.12資料庫狀態配置屬性 398

19.2.13恢復配置屬性 400

19.3小結 403

第20章基於策略的管理 404

20.1定義策略 404

20.1.1管理方面 406

20.1.2健康條件 407

20.1.3創建策略 409

20.2評估策略 413

20.3小結 414

第21章備份和恢復計畫 415

21.1恢復概念 416

21.2恢復模型 417

21.2.1簡單恢復模型 417

21.2.2完整恢復模型 418

21.2.3批量日誌恢復模型 419

21.2.4設定恢復模型 420

21.2.5修改恢復模型 420

21.3備份資料庫 421

21.3.1備份目標 421

21.3.2備份輪換 421

21.3.3用ManagementStudio

執行備份 421

21.3.4用代碼備份資料庫 423

21.3.5用代碼驗證備份 426

21.4使用事務日誌 426

21.4.1事務日誌內 426

21.4.2備份事務日誌 428

21.4.3截斷日誌 429

21.4.4事務日誌和簡單恢復

模型 429

21.5恢復操作 429

21.5.1檢測問題 430

21.5.2恢復順序 430

21.5.3用ManagementStudio

執行還原 431

21.5.4還原個別頁面 433

21.5.5通過T-SQL代碼還原 434

21.6系統資料庫恢復 438

21.6.1master資料庫 438

21.6.2msdb系統資料庫 440

21.7執行完全恢復 440

21.8小結 441

第22章維護資料庫 442

22.1DBCC命令 442

22.1.1資料庫完整性 444

22.1.2資料庫檔案大小 452

22.1.3其他DBCC命令 456

22.2管理資料庫維護 457

22.2.1計畫資料庫維護 457

22.2.2維護計畫 457

22.2.3命令行維護 462

22.2.4監控資料庫維護 462

22.3小結 463

第23章傳輸資料庫 464

23.1CopyDatabaseWizard 465

23.2使用SQL腳本 467

23.3分離和附加 470

23.4ImportandExportWizard 472

23.5數據層應用程式(DAC) 474

23.6小結 475

第24章資料庫快照 477

24.1資料庫快照的工作原理 478

24.1.1資料庫快照的機制 478

24.1.2第一次寫時複製 478

24.2使用資料庫快照 479

24.2.1創建資料庫快照 479

24.2.2查詢資料庫快照 481

24.2.3刪除資料庫快照 482

24.2.4回滾資料庫快照 482

24.3小結 484

第25章使用ServiceBroker進行

異步訊息傳輸 485

25.1配置訊息佇列 486

25.2使用對話 488

25.2.1將訊息傳送到佇列 488

25.2.2接收訊息 489

25.3SQLServer2012中Service

Broker的新增功能 491

25.3.1訊息多播 491

25.3.2AlwaysOn支持 491

25.3.3有害訊息處理 492

25.3.4訊息排隊時間 492

25.4監控ServiceBroker和

排除故障 492

25.5小結 493

第26章日誌傳送 494

26.1可用性測試 495

26.2溫備用可用性 495

26.3定義日誌傳送 496

26.4檢查日誌傳送配置 504

26.5監視日誌傳送 505

26.6修改或刪除日誌傳送 506

26.7切換角色 508

26.8小結 509

第27章資料庫鏡像 510

27.1資料庫鏡像概述 511

27.2定義和配置資料庫鏡像 512

27.3檢查資料庫鏡像配置 520

27.4監控資料庫鏡像 522

27.4.1使用DatabaseMirroring

Monitor監控 522

27.4.2使用SystemMonitor監控 525

27.4.3使用SQLServerProfiler

監控 525

27.5暫停或刪除資料庫鏡像 526

27.6角色切換 526

27.7高可用性/AlwaysOn 528

27.7.1要求和前提條件 528

27.7.2配置AlwaysOn

AvailabilityGroups 529

27.7.3監控AlwaysOn

AvailabilityGroups 536

27.8小結 537

第28章複製數據 538

28.1在伺服器之間移動數據 538

28.1.1批量複製程式 539

28.1.2SSIS 539

28.1.3分髮式事務 539

28.1.4觸發器 539

28.1.5CopyDatabaseWizard 539

28.1.6備份和還原 539

28.1.7日誌傳送 540

28.1.8資料庫鏡像 540

28.2複製的概念 540

28.2.1複製的類型 540

28.2.2複製代理 541

28.2.3事務一致性 542

28.3配置複製 542

28.3.1創建發布伺服器和

分發伺服器 542

28.3.2使用遠程分發伺服器 543

28.3.3創建一個快照/事務發布 544

28.3.4創建事務/快照發布的

推送訂閱 546

28.3.5創建事務/快照發布的

請求訂閱 547

28.3.6創建對等拓撲 548

28.3.7創建一個合併發布 548

28.3.8Web同步 549

28.4小結 550

第29章群集 551

29.1群集的功能 551

29.1.1高可用性和可伸縮性 551

29.1.2線上的含義 552

29.1.3群集的工作原理 552

29.2配置群集 553

29.2.1配置WindowsServer

2008/2008R2的群集 553

29.2.2把SQLServer2012

安裝為群集實例 558

29.2.3測試故障轉移 565

29.3小結 566

第30章用PowerShell配置和

管理SQLServer 567

30.1使用PowerShell的原因 567

30.2PowerShell基本知識 568

30.2.1語言特性 568

30.2.2創建腳本 573

30.3SQLServerPowerShell擴展 577

30.3.1導入模組 577

30.3.2SQLPSDrive——

SQLSERVER 577

30.3.3SQLcmdlet 578

30.4通過SMO與SQLServer

通信 580

30.4.1SQLServer管理對象 580

30.4.2ADO.NET 583

30.5編寫SQLServer任務腳本 585

30.5.1管理任務 585

30.5.2基於數據的任務 588

30.6小結 589

第31章管理WindowsAzureSQL

Database中的數據 590

31.1AzureSQLDatabase概述 590

31.2管理WindowsAzureSQL

Database 590

31.2.1SQLServerManagement

Studio 591

31.2.2WindowsAzureSQL

Database管理器 592

31.2.3在SQLDatabase中創建

資料庫 592

31.3高可用性和可伸縮性 593

31.3.1高可用性 593

31.3.2可伸縮性 594

31.4把數據遷移到

SQLDatabase中 594

32.4.1生成腳本嚮導 595

31.4.2SQLServerIntegration

Services 601

31.4.3使用bcp實用工具 608

31.5小結 610

第Ⅵ部分保護SQLServer的安全

第32章SQLServer中的身份

驗證類型 613

32.1Windows身份驗證 615

32.2SQL身份驗證 615

32.3SQL和Windows身份

驗證之間的區別 616

32.4Kerberos和Windows

身份驗證委託 616

32.5小結 617

第33章授權安全對象 618

33.1許可權鏈 618

33.2對象所有權 619

33.3安全對象的許可權 619

33.4對象安全 620

33.4.1用戶自定義資料庫角色 620

33.4.2對象許可權 620

33.4.3用代碼授予對象許可權 621

33.4.4用代碼撤消和拒絕

對象許可權 622

33.4.5公共角色 623

33.4.6用代碼管理角色 623

33.4.7分層角色結構 624

33.4.8對象安全和Management

Studio 624

33.5一個示例安全模型 625

33.6視圖和安全 625

33.7小結 626

第34章數據加密 627

34.1數據加密簡介 627

34.1.1密鑰的層次結構 628

34.1.2用T-SQL加密 628

34.1.3用對稱密鑰加密 630

34.1.4使用非對稱密鑰 631

34.1.5使用證書 632

34.2小結 632

第35章行級安全性 633

35.1Security表 633

35.2分配許可權 635

35.2.1分配安全性 635

35.2.2處理安全級別的更新 638

35.3檢查許可權 640

35.3.1安全檢查存儲過程 640

35.3.2安全檢查函式 641

35.3.3使用Windows登錄 642

35.3.4安全檢查觸發器 644

35.4小結 644

第Ⅶ部分監視和審計

第36章觸發器的創建 647

36.1觸發器基礎 647

36.1.1事務流 648

36.1.2觸發器的創建 648

36.1.3AFTER觸發器 649

36.1.4INSTEADOF觸發器 650

36.1.5觸發器限制 651

36.1.6禁用觸發器 651

36.1.7列出觸發器 652

36.1.8觸發器和安全性 652

36.2處理事務 652

36.2.1確定已更新的列 653

36.2.2inserted和deleted邏輯表 654

36.2.3開發支持多行的觸發器 655

36.3多個觸發器之間的互動 656

36.3.1觸發器的組織 657

36.3.2嵌套觸發器 657

36.3.3遞歸觸發器 658

36.3.4INSTEADOF觸發器和

AFTER觸發器一起使用 660

36.3.5多個AFTER觸發器 660

36.4事務聚合處理 660

36.4.1庫存事務觸發器 661

36.4.2庫存觸發器 662

36.5DDL觸發器 664

36.6DDL觸發器的管理 664

36.6.1創建和更改DDL觸發器 664

36.6.2觸發器的作用域 665

36.6.3DDL觸發器和安全性 666

36.6.4啟用和禁用DDL觸發器 666

36.6.5刪除DDL觸發器 667

36.7DDL觸發器的開發 667

36.7.1EventData()函式 667

36.7.2避免資料庫對象的更改 668

36.8小結 669

第37章性能監視器和PAL 670

37.1使用PerfMon 670

37.1.1系統監視器 670

37.1.2DataCollectorSet 673

37.1.3使用PowerShell訪問

性能計數器 674

37.2小結 676

第38章使用Profiler和SQLTrace 677

38.1SQLServerProfiler的功能 677

38.2運行Profiler 677

38.2.1定義新的跟蹤 678

38.2.2選擇事件和數據列 678

38.2.3篩選事件 680

38.2.4組織列 680

38.2.5運行跟蹤 681

38.2.6使用跟蹤檔案 681

38.2.7集成性能監視器數據 681

38.3使用SQLTrace 682

38.4小結 684

第39章等待狀態 685

39.1SQLServerOS 685

39.2查看等待狀態統計信息 686

39.2.1執行請求 686

39.2.2等待狀態統計信息 686

39.2.3等待請求 687

39.3常見的紅旗等待類型 687

39.4收集等待數據的其他方式 688

39.5小結 688

第40章ExtendedEvents 689

40.1ExtendedEvents對象模型 689

40.1.1包 689

40.1.2事件 690

40.1.3動作 690

40.1.4目標 691

40.1.5謂詞 691

40.1.6映射 691

40.1.7會話 692

40.1.8通道 692

40.2system_health會話 692

40.3ExtendedEventsProfiler 692

40.4小結 694

第41章數據更改的跟蹤和捕獲 695

41.1配置ChangeTracking 695

41.1.1啟用資料庫 696

41.1.2自動清理 696

41.1.3啟用表 697

41.1.4內部表 698

41.2查詢ChangeTracking 699

41.2.1版本號 699

41.2.2行變更 700

41.3刪除ChangeTracking 701

41.4ChangeDataCapture 702

41.5SQLServer2012中的

新增功能 703

41.6啟用CDC 703

41.6.1啟用資料庫 703

41.6.2啟用表 704

41.7使用ChangeDataCapture 705

41.7.1檢查日誌序號 705

41.7.2查詢變更表 706

41.7.3查詢淨更改 708

41.7.4疊代變更表 710

41.8刪除ChangeDataCapture 710

41.9小結 711

第42章SQLAudit 712

42.1SQLAudit技術概述 712

42.2創建Audit對象 713

42.2.1定義目標 714

42.2.2使用T-SQL 714

42.2.3啟用/禁用審計 715

42.3ServerAuditSpecification 715

42.3.1添加操作 716

42.3.2用T-SQL創建 716

42.3.3修改ServerAudit

Specification 716

42.4DatabaseAuditSpecification 716

42.5查看審計線索 717

42.6小結 718

第43章管理數據倉庫 719

43.1使用管理數據倉庫 719

43.2配置MDW 720

43.3建立數據集合 723

43.4查看MDW報表 724

43.4.1磁碟使用情況匯總 724

43.4.2伺服器活動歷史報表 725

43.4.3查詢統計信息報表 726

43.5創建定製的數據收集器集合 726

43.6小結 728

第Ⅷ部分性能調整和最佳化

第44章解釋查詢執行計畫 731

44.1查看查詢執行計畫 732

44.1.1估計和實際查詢執行計畫 732

44.1.2閱讀執行計畫 732

44.1.3使用Showplan和

STATISTICSPROFILE 733

44.1.4SQLProfiler的執行計畫 734

44.2理解查詢執行計畫 735

44.3小結 736

第45章索引策略 737

45.1索引的藝術 737

45.2索引基礎 738

45.2.1B-樹索引 738

45.2.2聚集索引 738

45.2.3非聚集索引 739

45.2.4複合索引 740

45.2.5唯一索引和約束 740

45.2.6頁面分隔問題 740

45.2.7索引選擇性 741

45.2.8無序的堆 742

45.2.9查詢操作 742

45.3查詢路徑 743

45.3.1查詢路徑1:提取

所有數據 745

45.3.2查詢路徑2:聚集

索引查找 745

45.3.3查詢路徑3:範圍

查找查詢 745

45.3.4查詢路徑4:用非鍵

列篩選 747

45.3.5查詢路徑5:書籤查找 748

45.3.6查詢路徑6:覆蓋索引 749

45.3.7查詢路徑7:用2個NC

索引來篩選 752

45.3.8查詢路徑8:用有序的

複合索引篩選 753

45.3.9查詢路徑9:用無序的

複合索引篩選 753

45.3.10查詢路徑10:Non-

SARG-able表達式 754

45.4全面的索引策略 755

45.4.1標識重要查詢 755

45.4.2選擇聚集索引 756

45.4.3創建基索引 757

45.5特殊索引 757

45.5.1篩選索引 757

45.5.2索引視圖 758

45.5.3Columnstore索引 760

45.6小結 760

第46章最大限度地重用查詢計畫 762

46.1查詢編譯 762

46.1.1QueryOptimizer 762

46.1.2查看PlanCache 763

46.1.3查詢計畫的生存期 764

46.1.4執行查詢計畫 764

46.2查詢重編譯 764

46.3小結 765

第47章管理事務、鎖定和阻塞 766

47.1ACID屬性 767

47.1.1原子性 767

47.1.2一致性 767

47.1.3隔離性 767

47.1.4持久性 768

47.2事務的編程 768

47.2.1邏輯事務 768

47.2.2Xact_State()函式 769

47.2.3Xact_Abort 769

47.2.4嵌套事務 770

47.2.5隱式事務 770

47.2.6保存點 771

47.3默認的鎖定和阻塞行為 771

47.4監控鎖定和阻塞 773

47.4.1使用ManagementStudio

報表查看阻塞 773

47.4.2使用ActivityMonitor

查看阻塞 774

47.4.3使用Profiler 775

47.4.4使用動態管理視圖查詢鎖 775

47.5死鎖 776

47.5.1創建死鎖 777

47.5.2自動檢測死鎖 779

47.5.3處理死鎖 779

47.5.4最小化死鎖 780

47.6理解SQLServer鎖定 781

47.6.1鎖粒度 781

47.6.2鎖模式 781

47.6.3控制鎖定逾時 783

47.6.4鎖定持續時間 783

47.6.5索引級的鎖定限制 783

47.7事務隔離級別 784

47.7.1設定事務隔離級別 785

47.7.2級別1——Read

Uncommitted和髒讀取 786

47.7.3級別2——Read

Committed 787

47.7.4級別3——Repeatable

Read 787

47.7.5級別4——Serializable 790

47.7.6快照隔離 793

47.7.7使用鎖定提示 795

47.8應用程式鎖 796

47.9應用程式鎖定設計 797

47.9.1實現樂觀鎖定 797

47.9.2丟失更新 797

47.10事務日誌的體系結構 798

47.10.1事務日誌序列 798

47.10.2事務日誌恢復 800

47.11事務性能策略 801

47.12小結 802

第48章數據壓縮 803

48.1理解數據壓縮 803

48.1.1數據壓縮的優缺點 804

48.1.2行壓縮 805

48.1.3頁面壓縮 805

48.1.4壓縮序列 806

48.2套用數據壓縮 807

48.2.1確定當前壓縮設定 807

48.2.2估計數據壓縮 807

48.2.3啟用數據壓縮 808

48.2.4數據壓縮策略 809

48.3小結 810

第49章分區 811

49.1分區策略 811

49.2分區視圖 812

49.3已分區表和索引 817

49.3.1創建檔案組 818

49.3.2創建分區函式 820

49.3.3創建分區模式 820

49.3.4創建分區表 821

49.3.5查詢分區表 822

49.3.6修改分區表 822

49.3.7切換表 823

49.3.8滾動分區 825

49.3.9給已分區表建立索引 826

49.3.10刪除分區 826

49.4小結 826

第50章ResourceGovernor 827

50.1研究ResourceGovernor的

基礎知識 827

50.1.1理解資源池 827

50.1.2工作負載組 830

51.1.3分類器函式 832

50.2ResourceGovernor的

性能監控 833

50.3視圖和限制 834

50.4小結 834

第Ⅸ部分商業智慧型

第51章BI資料庫設計 837

51.1數據倉庫 837

51.2使用星型架構設計數據倉庫 838

51.3用雪片型架構設計數據倉庫 839

51.4在數據倉庫中確保一致性 839

51.5載入數據 840

51.5.1載入維度 840

51.5.2載入事實表 842

51.5.3修改維度中的數據 842

51.6小結 843

第52章在IntegrationServices中

建立、部署和管理ETL

工作流 844

52.1SSIS環境概述 845

52.1.1在SQLServerData

Services中創建基本的

SSIS包 846

52.1.2使用UI改進功能方便地

配置一個數據流任務中的

包元素 848

52.2SSIS環境詳述 852

52.2.1使用連線管理器 852

52.2.2使用控制流元素 854

52.2.3使用數據流組件 858

52.2.4使用參數和變數 863

52.2.5變數 864

52.2.6使用SSIS表達式語言 865

52.2.7使用包的日誌記錄 866

52.3部署、執行項目和包 866

52.3.1使用包部署模型 866

52.3.2從(舊)包模型轉換為

項目模型 867

52.3.3使用項目部署模型 867

52.3.4使用SSIS伺服器執行

項目和包 868

52.4小結 870

第53章在AnalysisServices中使用

MDX構建多維數據集 871

53.1AnalysisServices的快速啟動 871

53.2AnalysisServices體系結構 872

53.2.1統一維度模型 872

53.2.2伺服器 872

53.2.3客戶端 873

53.3構建資料庫 873

53.3.1SQLServerDataTools 873

53.3.2數據源 873

53.3.3數據源視圖 874

53.3.4創建多維數據集 877

53.4維度 877

53.4.1創建維度 877

53.4.2常規維度之外的內容 880

53.4.3維度的細化 880

53.5多維數據集 881

53.5.1維度的使用 883

53.5.2Calculations選項卡 883

53.5.3KPI 884

53.5.4動作 884

53.5.5分區 884

53.5.6聚合函式的設計 885

53.5.7透視 886

53.6數據存儲 887

53.7多維數據集的處理 887

53.7.1處理方法 888

53.7.2其他考慮 888

53.7.3空值處理 889

53.7.4未知成員 889

53.7.5錯誤配置 889

53.8小結 889

第54章配置和管理Analysis

Services 890

54.1安裝AnalysisServices 890

54.2配置AnalysisServices的

基本設定 893

54.3高級SSAS部署 894

54.4使用SQLProfiler評估

查詢性能 895

54.5小結 896

第55章使用ReportingServices

編寫報表 897

55.1報表編寫環境 897

55.1.1SQLServerDataTools(SSDT)

中的ReportDesigner 898

55.1.2ReportBuilder 898

55.1.3PowerView 898

55.2報表的基本組成 898

55.2.1數據源 898

55.2.2數據集 899

55.2.3報表定義語言(RDL)檔案 899

55.3用ReportWizard建立報表 900

55.4從頭編寫報表 901

55.5研究ReportDesigner 902

55.5.1設計界面 902

55.5.2SolutionExplorer和

Properties 902

55.5.3ReportData和Toolbox

面板 903

55.5.4文本框屬性視窗 904

55.6使用ReportingServices

功能顯示數據 905

55.6.1創建Matrix報表 905

55.6.2處理多維數據集 905

55.6.3使用參數 907

55.6.4使用RSExpressions 909

55.7設計報表布局 909

55.7.1選擇報表類型 909

55.7.2分組和排序 910

55.7.3使用圖表工具 910

55.8用ReportBuilder建立報表 912

55.8.1用ReportBuilder

創建報表 912

55.8.2使用ReportGallery 914

55.9小結 915

第56章配置和管理Reporting

Services 916

56.1安裝ReportingServices 916

56.1.1本機模式 916

56.1.2SharePoint集成模式 917

56.2部署ReportingServices報表 919

56.2.1使用SSDT部署報表 919

56.2.2使用ReportManager

部署報表——本機模式 920

56.2.3在SharePoint中部署報表 920

56.3用ReportingServices

管理安全 922

56.3.1在本機模式下管理角色 923

56.3.2用角色管理訪問許可權 924

56.3.3管理訂閱 926

56.3.4創建數據驅動的訂閱 927

56.3.5集成模式下的

DataAlerts 927

56.4災難恢復 927

56.4.1備份目錄 928

56.4.2備份對稱密鑰 928

56.4.3還原ReportingServices 929

56.5小結 929

第57章使用AnalysisServices

挖掘數據 930

57.1數據挖掘過程 930

57.2使用AnalysisServices建模 931

57.2.1數據挖掘嚮導 931

57.2.2挖掘模型 932

57.2.3模型評估 933

57.3算法 936

57.3.1決策樹 936

57.3.2線性回歸 937

57.3.3聚類分析 937

57.3.4序列聚類分析 938

57.3.5神經網路 938

57.3.6邏輯回歸 938

57.3.7NaiveBayes 939

57.3.8關聯規則 940

57.3.9時間序列 940

57.4多維數據集集成 941

57.5小結 941

第58章創建和部署BI語義模型 942

58.1BI語義模型的含義 942

58.2開發環境 943

58.3使用PowerPivot創建

BI語義模型 945

58.4用PowerPivot擴展BI

語義模型 948

58.4.1在PowerPivot中創建KPI 948

58.4.2在PowerPivot中創建

層次結構 950

58.4.3在PowerPivot中

創建透視圖 953

58.5把BI語義模型部署到

SharePoint上 955

58.6在SharePoint2010中

管理PowerPivot工作簿

數據的自動刷新 955

58.7使用SQLServerDataTools

創建BI語義模型 956

58.8用SQLServerDataTools

擴展BI語義模型 957

58.9把BI語義模型部署到

AnalysisServices實例上 959

58.9.1部署選項 959

58.9.2部署伺服器選項 960

58.9.3DirectQuery選項 960

58.10小結 960

第59章創建和部署PowerView

報表 961

59.1PowerView的要求 961

59.1.1伺服器端的要求 961

59.1.2客戶端的要求 961

59.2用PowerView創建和

部署報表 962

59.2.1創建連線檔案庫 963

59.2.2創建ReportDataSource

檔案 963

59.2.3創建BISemanticModel

Connection檔案 965

59.2.4用PowerView創建報表 966

59.3部署PowerView報表 973

59.4小結 974

相關詞條

相關搜尋

熱門詞條

聯絡我們