第一部分 SQL Server 概覽
第1 章 SQL Server 2008 概述 2
1.1 SQL Server 2008 願景 2
1.1.1 企業數據平颱 3
1.1.2 超關係數據 3
1.1.3 動態開發 3
1.1.4 深入的商業洞察力 4
1.2 SQL Server 2008 版本 4
1.3 服務器整閤 5
1.4 小結 6
第2 章 SQL Server 的安裝和配置 7
2.1 SQL Server 安裝要求 7
2.2 升級到SQL Server 2008 8
2.2.1 規劃升級 8
2.2.2 使用升級顧問 10
2.2.3 執行升級 12
2.3 小結 18
第二部分 企業數據平颱
第3 章 策略管理 20
3.1 PM 解決的需求 20
3.2 PM 組件 21
3.2.1 管理目標 21
3.2.2 方麵 21
3.2.3 條件 23
3.2.4 策略 26
3.3 示例策略 29
3.4 PM 管理 32
3.4.1 策略狀態 32
3.4.2 PM 安全 34
3.5 小結 35
第4 章 高可用性 36
4.1 HA 定義 36
4.2 數據庫鏡像 38
4.2.1 數據庫鏡像的工作方式 38
4.2.2 用T-SQL 管理數據庫鏡像 42
4.2.3 用Management Studio 管理數據庫鏡像 49
4.2.4 全文索引和鏡像 52
4.2.5 Service Broker 和數據庫鏡像 52
4.2.6 客戶端程序和數據庫鏡像 52
4.2.7 監控數據庫鏡像 53
4.2.8 數據庫鏡像的性能代價 56
4.2.9 數據庫鏡像的局限 56
4.3 數據庫快照和鏡像 57
4.3.1 數據庫快照怎樣工作 57
4.3.2 用T-SQL 管理快照 58
4.3.3 在鏡像上使用快照時的性能考慮 59
4.3.4 使用和監控數據庫快照 60
4.3.5 數據庫快照的限製 60
4.4 SQL Server 中的Windows 群集 61
4.5 SQL Server 復製 61
4.5.1 快照復製 62
4.5.2 閤並復製 62
4.5.3 事務復製 63
4.5.4 復製和鏡像 63
4.6 減少計劃內的停機時間 64
4.6.1 為運行中的係統添加CPU 64
4.6.2 為運行中的係統增加內存 64
4.6.3 執行在綫索引操作 65
4.6.4 為錶和索引分區 65
4.7 小結 65
第5 章 性能 66
5.1 管理和監控資源 66
5.1.1 數據收集器 66
5.1.2 資源調控器 71
5.2 優化存儲 77
5.2.1 備份壓縮 77
5.2.2 數據壓縮 78
5.3 提高查詢性能 83
5.3.1 計劃指南支持 84
5.3.2 稀疏列 86
5.3.3 列集閤 87
5.4 小結 90
第6 章 安全 91
6.1 關閉數據庫引擎特性 91
6.1.1 遠程連接 92
6.1.2 專用管理員連接 93
6.1.3 . NET Framework 93
6.1.4 數據庫郵件 93
6.1.5 SQLMail 94
6.1.6 Service Broker、HTTP 連接和數據庫鏡像 94
6.1.7 Web 助手 94
6.1.8 xp_cmdshell 擴展存儲過程 95
6.1.9 臨時遠程查詢 95
6.1.10 OLE 自動化擴展存儲過程 95
6.1.11 SMO 和DMO 擴展對象 95
6.2 主體和安全對象 96
6.2.1 主體 96
6.2.2 安全對象 102
6.3 權限 105
6.3.1 權限類型 105
6.3.2 權限管理 106
6.4 代碼訪問安全性 108
6.4.1 命令式和聲明式CAS 109
6.4.2 在SQL Server 中使用CAS 109
6.5 SQL Server 2008 審核 113
6.5.1 在何處寫審核數據 114
6.5.2 審核什麼 115
6.5.3 審核示例 117
6.5.4 管理審核 119
6.6 小結 120
第7 章 SQL Server 加密 121
7.1 加密密鑰 121
7.1.1 服務主密鑰 122
7.1.2 數據庫主密鑰 123
7.1.3 非對稱密鑰 125
7.1.4 證書 129
7.1.5 對稱密鑰 131
7.2 透明數據加密 135
7.2.1 啓用TDE 135
7.2.2 比較TDE 和列級加密 136
7.3 可擴展密鑰管理 137
7.4 不用密鑰加密 138
7.5 散列和簽名數據 138
7.6 安全目錄視圖 139
7.7 查詢效率 140
7.8 小結 141
第8 章 自動化和監控 142
8.1 SQL Server Agent 143
8.1.1 安排代理作業日程 143
8.1.2 執行代理作業的權限 147
8.1.3 代理賬戶 150
8.1.4 共享作業計劃 152
8.1.5 記錄代理作業步驟的輸齣 154
8.1.6 WMI 事件和代理警報 154
8.1.7 代理性能計數器 155
8.1.8 代理升級 156
8.2 維護計劃 157
8.2.1 安排維護子計劃的日程 159
8.2.2 管理維護計劃連接 159
8.2.3 報告和記錄維護計劃 160
8.2.4 定義維護計劃任務 161
8.3 SQLCMD 163
8.3.1 連接到SQL Server 164
8.3.2 傳遞變量 164
8.3.3 使用專用管理員連接 165
8.3.4 創建腳本 165
8.4 SQL Server 的PowerShell 166
8.4.1 PowerShell 簡介 167
8.4.2 使用SQL Server PowerShell 169
8.5 數據庫郵件 173
8.5.1 配置數據庫郵件 174
8.5.2 發送郵件 177
8.6 SQL Profiler 178
8.6.1 關聯到性能監控 180
8.6.2 顯示計劃 182
8.6.3 死鎖可視化 183
8.7 擴展事件 184
8.7.1 擴展事件組件 184
8.7.2 擴展事件示例:探測死鎖 186
8.8 小結 188
第9 章 Service Broker 189
9.1 什麼是Service Broker 190
9.1.1 Service Broker 構架 190
9.1.2 Service Broker 場景 192
9.2 創建Service Broker 應用 193
9.2.1 啓用Service Broker 193
9.2.2 創建消息類型 194
9.2.3 創建協定 194
9.2.4 創建隊列 194
9.2.5 創建服務 195
9.2.6 創建Service Broker 存儲過程 195
9.2.7 一個簡單的Service Broker示例 198
9.3 Service Broker 路由和安全 203
9.3.1 創建分布式的Service Broker應用 203
9.3.2 分布式Service Broker 的例子 205
9.4 消息優先級 223
9.5 使用SSBDiagnose 對Service Broker進行故障檢測 226
9.6 小結 227
第10 章 整閤全文搜索 228
10.1 創建全文檢索目錄和索引 228
10.1.1 使用圖形化工具創建全文目錄和索引 229
10.1.2 使用T-SQL 創建全文目錄和索引 235
10.2 使用iFTS 查詢 237
10.2.1 FREETEXT 謂詞搜索 237
10.2.2 CONTAINS 謂詞搜索 238
10.2.3 FREETEXTTABLE 和CONTAINSTABLE函數搜索 240
10.3 管理詞庫文件 241
10.3.1 編輯詞庫文件 241
10.3.2 重新加載詞庫 243
10.4 使用非索引字錶 244
10.5 搜索文檔 244
10.5.1 為文檔創建全文索引 244
10.5.2 查詢文檔 245
10.6 管理iFTS 245
10.7 小結 247
第三部分 SQL Server 開發
第11 章 SQL Server 2008 中的新數據類型 250
11.1 SQL Server 2008 中對空間數據的支持 250
11.1.1 GEOMETRY 類型 251
11.1.2 GEOGRAPH 類型 255
11.2 時間類型的改變 255
11.2.1 新的日期和時間數據類型 255
11.2.2 新的日期和時間係統函數 259
11.3 新的層次結構數據類型 261
11.4 文件流支持 265
11.4.1 啓用文件流功能 266
11.4.2 文件流示例 267
11.5 小結 275
第12 章 針對開發人員的T-SQL 改進 276
12.1 DML 特性 276
12.1.1 棄用舊式的外部連接 276
12.1.2 公共錶錶達式 277
12.1.3 TOP 285
12.1.4 擴展FROM 子句 288
12.1.5 OUTPUT 296
12.1.6 排序函數 297
12.1.7 EXCEPT 和INTERSECT 303
12.1.8 彆名 305
12.1.9 MERGE 306
12.2 一般性的開發 309
12.2.1 錯誤處理 309
12.2.2 .WRITE 對UPDATE 語句的擴展 316
12.2.3 EXECUTE 317
12.2.4 代碼安全上下文 317
12.2.5 .NET 聲明 320
12.2.6 聲明和設置變量 321
12.2.7 傳遞錶值參數 322
12.3 小結 324
第13 章 T-SQL 為DBA 所做的改進 325
13.1 鎖的改進 325
13.2 元數據視圖 326
13.2.1 兼容性視圖 327
13.2.2 目錄視圖 327
13.2.3 動態管理視圖和函數 329
13.3 SQL Server 性能監視器 331
13.4 DDL 觸發器 331
13.4.1 創建和修改DDL 觸發器 332
13.4.2 刪除DDL 觸發器 333
13.4.3 啓用和禁用DDL 觸發器 333
13.4.4 使用目錄視圖枚舉DDL觸發器 333
13.4.5 使用eventdata()函數編用DDL 觸發器 333
13.5 索引及其性能增強 335
13.5.1 聯機索引 336
13.5.2 創建索引期間的鎖控製 336
13.5.3 創建包含額外列的索引 337
13.5.4 修改索引 338
13.5.5 使用篩選索引 340
13.5.6 使用篩選統計信息 341
13.5.7 統計相關的日期時間列 341
13.5.8 為第三排序規則排序的性能改進 342
13.5.9 錶和索引分區 344
13.5.10 使用索引視圖 349
13.5.11 使用分區對齊索引視圖 349
13.5.12 持久化計算列 350
13.6 快照 350
13.6.1 SNAPSHOT 的隔離級彆 351
13.6.2 數據庫快照 354
13.7 數據集成的改進 355
13.7.1 驗證數據庫頁 355
13.7.2 使數據庫進入應急狀態 356
13.8 小結 356
第14 章 .NET 集成 357
14.1 SQL Server .NET 集成簡介 358
14.1.1 SQL Server 為什麼托管CLR 358
14.1.2 何時使用CLR 例程 358
14.1.3 何時不使用CLR 例程 359
14.1.4 SQL Server 如何托管.NET:構架概覽 359
14.2 SQL Server .NET 編程模型 360
14.2.1 SQL Server 托管的ADO.NET增強 360
14.2.2 SQL Server 的.NET 命名空間概覽 360
14.3 編寫CLR Stored Procedure 361
14.3.1 開始一個Visual Studio 2008SQL Sever Project 361
14.3.2 解剖Stored Procedure 364
14.3.3 添加參數 365
14.3.4 定義問題 365
14.3.5 使用SqlPipe 367
14.3.6 將所有這些組織在一起:編寫Stored Procedure 體 369
14.3.7 測試Stored Procedure 371
14.3.8 調試Stored Procedure 372
14.3.9 在CLR 例程中拋齣異常 374
14.4 部署CLR 例程 377
14.5 小結 378
第15 章 編寫程序集 379
15.1 CLR 用戶自定義類型 380
15.1.1 用戶自定義類型的應用程序 380
15.1.2 添加用戶自定義類型到SQLServer 項目中 380
15.1.3 User-Defined Type 的組成部分 381
15.1.4 一個簡單的例子:PhoneNumber 類型 385
15.1.5 另一個例子:在StringArray類型 391
15.1.6 管理用戶自定義類型 398
15.2 CLR 用戶自定義函數 398
15.2.1 添加用戶自定義函數到Visual Studio 項目 399
15.2.2 Visual Studio 2008 User-Defined Function 模闆 399
15.2.3 SqlFunction 特性 400
15.2.4 標量用戶自定義函數 400
15.2.5 錶值型用戶自定義函數 403
15.2.6 管理CLR 用戶自定義函數 406
15.3 CLR 用戶自定義聚閤 407
15.3.1 添加用戶自定義聚閤到SQLServer 項目中 407
15.3.2 用戶自定義聚閤的組成部分 409
15.4 CLR 用戶自定義觸發器 414
15.4.1 嚮SQL Server 項目中添加CLR 用戶自定義觸發器 415
15.4.2 編寫CLR 觸發器 415
15.4.3 管理用戶自定義觸發器 418
15.5 管理程序集 419
15.6 小結 419
第16 章 SQL Server 與XML 420
16.1 什麼是XML 420
16.2 什麼是XPath 和XMLDOM 421
16.2.1 XPath 語法 422
16.2.2 XPath 函數 424
16.2.3 XMLDOM: XML 文檔對象模型 424
16.2.4 XPathDocument、XPathNavigator和XPathExpression類 425
16.3 XML 存儲到數據庫 426
16.3.1 支持SOAP 的SQL Server配置 427
16.3.2 OPENXML 428
16.3.3 使用注釋XML 模式的XML視圖 433
16.3.4 SQLXML Updategram 437
16.3.5 XML 大容量加載 439
16.4 從數據庫取齣XML 441
16.4.1 FOR XML 442
16.4.2 利用模闆改善性能 448
16.5 使用XML 數據 448
16.5.1 “any”類型驗證 448
16.5.2 日期和時間支持 449
16.5.3 聯閤和列錶類型 450
16.6 .NET 和COM中使用SQLXML編程 451
16.6.1 SQLXML 類 451
16.6.2 SQLXML 編碼示例 453
16.7 小結 458
第17 章 SQL Server XML 和XQuery支持 459
17.1 使用XML 數據類型 460
17.1.1 瞭解SQL Server 如何存儲XML 461
17.1.2 創建XML 列 462
17.1.3 為模式創建設置權限 466
17.1.4 約束XML 列 467
17.1.5 檢查XML 數據類型限製 468
17.2 在XML 列中插入數據 468
17.2.1 使用SSIS 插入XML 數據 468
17.2.2 大容量加載XML 470
17.2.3 編寫自定義查詢或應用 470
17.3 查詢XML 數據 471
17.3.1 XQuery 101 471
17.3.2 基本XML 查詢方法 476
17.3.3 跨域查詢 478
17.4 修改XML 數據 479
17.4.1 插入元素 479
17.4.2 刪除元素 480
17.4.3 改變節點值 480
17.4.4 XML 修改的限製 481
17.5 建立XML 索引以提高性能 481
17.5.1 瞭解XML 索引如何工作 482
17.5.2 分析次級XML 索引 483
17.6 全文搜索和XML 數據類型 484
17.7 目錄視圖與XML 484
17.8 應用與XML 485
17.9 XML Web 服務支持 486
17.9.1 創建端點 486
17.9.2 使用高級Web 服務 491
17.9.3 監視XML Web 服務的性能 495
17.10 小結 495
第18 章 LINQ to SQL 496
18.1 對象關係映射 496
18.2 實體生成工具 498
18.2.1 使用SQLMetal 498
18.2.2 使用Visual Studio 的LINQ toSQL 類設計器 499
18.2.3 分析生成的代碼 501
18.3 運行LINQ 查詢 506
18.3.1 Select 操作符 506
18.3.2 Where 操作符 508
18.3.3 Join 操作符 509
18.3.4 OrderBy 操作符 510
18.4 DataContext 類 511
18.4.1 插入、更新和刪除記錄 511
18.4.2 並發性衝突檢測 514
18.4.3 延遲查詢 516
18.4.4 延遲加載 519
18.4.5 執行存儲過程和用戶自定義函數 520
18.5 小結 522
第四部分 SQL Server 商業智能
第19 章 Report Services 524
19.1 Reporting Service 組件 525
19.1.1 Report Server Service 526
19.1.2 元數據目錄 530
19.1.3 BIDS 中的Report Designer 530
19.1.4 Report Designer Preview 532
19.1.5 SQL Server ManagementStudio 集成 534
19.1.6 Reporting Services 配置管理器 534
19.1.7 Reporting Services 安全性 535
19.2 創建一個基本報錶 536
19.2.1 啓動設計器 536
19.2.2 使用數據源和數據集 537
19.2.3 報錶布局與預覽 538
19.2.4 使用錶達式 538
19.2.5 部署報錶 539
19.3 報錶設計的高級功能 540
19.3.1 多值參數 540
19.3.2 選擇日期值的DatePicker 542
19.3.3 交互式排序 542
19.3.4 Analysis Services 集成 543
19.3.5 Reporting Services 數據源 547
19.3.6 自定義報錶項 549
19.4 Visual Studio 集成與ReportViewer控件 549
19.4.1 使用WinForm 控件 550
19.4.2 通過編程使用ReportViewer控件 552
19.4.3 LocalReport 和ServerReport對象 553
19.5 SharePoint 集成 554
19.6 最終用戶即席查詢和報錶 555
19.6.1 報錶生成器客戶端 555
19.6.2 報錶模型和語義模型定義語言 556
19.7 報錶呈現 557
19.7.1 導齣報錶 557
19.7.2 呈現大報錶 559
19.8 數據區 559
19.8.1 Tablix 數據區 559
19.8.2 更新後的Chart 數據區 568
19.9 小結 572
第20 章 分析服務 573
20.1 SQL Server 2008 中Analysis Services的新特性 574
20.1.1 設計工具的改進 574
20.1.2 監視工具的改進 574
20.1.3 運行時改進 575
20.2 Analysis Services 基礎知識 575
20.2.1 體係結構 575
20.2.2 開發環境 577
20.2.3 Analysis Services 對象和概念 577
20.3 OLAP、OLTP 和數據倉庫 578
20.3.1 OLAP 和OLTP 配置 579
20.3.2 OLAP 概念 579
20.4 Analysis Services 項目 581
20.4.1 新建一個Analysis Services項目 582
20.4.2 定義數據源 583
20.4.3 編輯數據源 585
20.4.4 定義數據源視圖 586
20.4.5 定義多維數據集 588
20.4.6 配置維度 591
20.4.7 部署項目 595
20.5 使用多維數據集 597
20.5.1 查看多維數據集結構 597
20.5.2 瀏覽多維數據集 598
20.5.3 管理顯示的數據 602
20.5.4 執行計算 603
20.5.5 使用KPI 606
20.6 使用Analysis Services 腳本語言 609
20.6.1 創建一個包含命名查詢的DSV 609
20.6.2 查看ASSL 611
20.7 小結 611
第21 章 集成服務 613
21.1 SSIS 功能概述 613
21.1.1 何時使用SSIS 614
21.1.2 SSIS 的新特性 615
21.2 SSIS 集成開發環境 615
21.2.1 在Management Studio 中連接到SSIS 616
21.2.2 在BIDS 中創建一個新的SSIS 項目 616
21.3 SSIS 基礎知識 617
21.3.1 SSIS 設計器概述 618
21.3.2 數據流示例 622
21.3.3 事件處理程序設計界麵 630
21.4 控製流和數據流設計器任務 632
21.4.1 控製流容器和任務 632
21.4.2 數據流設計器任務 643
21.5 變更數據捕獲 648
21.5.1 啓用變更數據捕獲 649
21.5.2 用SSIS 提取變更數據 650
21.6 日誌 650
21.7 動態包配置 653
21.8 變量 656
21.8.1 配置變量 657
21.8.2 創建變量 657
21.9 優先級約束 658
21.10 檢查點 659
21.11 事務 659
21.12 調試 660
21.12.1 控製流和數據流可視化調試 660
21.12.2 數據查看器 661
21.12.3 斷點 661
21.12.4 其他調試窗口 662
21.13 SSIS 包處理 662
21.13.1 SSIS 包部署實用工具 662
21.13.2 遷移SQL Server 2000 DTS包 662
21.13.3 調度SSIS 包 663
21.14 小結 664
· · · · · · (
收起)