內容簡介
本書可供初學者作為入門書籍,也可為有一定的SQL Server編程基礎的程式設計師作為參考用書,對於缺乏項目實戰經驗的程式設計師還可用於快速積累項目開發經驗。
書摘
前言
MS SQL Server以其優秀的性能和強大的功能一直以來得到廣大用戶的喜愛,得以廣泛套用於各行各業。其版本也不斷更新升級,MS SQL Server 2008是目前最新版本,在繼承了以往版本的優秀特性的同時,在多個方面進行了改進和最佳化,同時與其他工具(如Office 2007)進行集成,使其功能更強大,使用更方便,界面更友好。
本書的知識體系
本書的知識體系結構如圖1所示,遵循了循序漸進的原則,逐步引領讀者從基礎到各個知識點的學習,最後通過兩個實例項目進行全面剖析SQL Server在實際工程中的套用。
章節內容介紹
全書共分為三篇,主要內容如下:
基礎知識篇
(包括第1~20章) 第1章將引導讀者在自己的計算機上安裝及配置SQL Server 2008,建立起一個完整的套用環境,以利於開發、運行、調試本書中的所有代碼和程式,學習各個知識點及綜合項目案例
第2章講述SQL Server 2008 相對於以往版本的新增及加強功能
第3章介紹集成環境SQL Server Management System
第4~18章分類講解了SQL Server的一些基礎知識,包括資料庫和規範式、表、索引、視圖、資料庫的備份/還原及維護、存儲過程、T-SQL基礎、高級T-SQL、觸發器、作業和警報、安全、報表服務、商業智慧型開發套件、分析服務、集成服務等
第19,20章介紹了性能工具和配置工具 1~502
互動提高篇(包括第21~24章) 第21章介紹怎樣提高查詢性能,讓SQL Server的性能更優
第22章講述在日常的套用中怎樣訪問SQL Server的具體實例
第23章的內容是SQL Server 2008與Office 2007集成,講解了SQL Server 2008與Office 2007的集成方法及套用
第24章詳細介紹了Java與SQL Server之間的互動方式 503~579
實戰項目篇
(包括第25章) 第25章介紹了企業巡更考勤系統和數位化圖書管理系統兩個完整案例 580~620
序言
本書著重闡述SQL Server 2008之中最為基礎和實用的相關知識、實際項目中最重要和最常用的套用,以及讀者最關心的功能,理論結合實際,套用實際項目貫穿全書,使讀者能在迅速地掌握理論知識的同時將其套用到實際項目當中,能更快、更好地掌握SQL Server 2008。為了幫助初學者更快地掌握SQL Server 2008基礎知識,也為了使有基礎的讀者更快地提高,筆者依照讀者的學習規律,分類講解、循序漸進地介紹了SQL Server 2008的最常用也是最重要的知識及其在實際中的運用。本書特點在本書中,所有的示例都是經過反覆實驗、確認可以準確無誤地運行的。只要靈活運用這些示例,就可以充分地掌握SQL Server 2008的各個常用及重要的功能,輕鬆建立所需的資料庫系統並高效地套用。本書具有如下特點:實例豐富,內容充實。在本書中,對大部分知識點都列舉了實例來說明該功能是如何實現的,從T-SQL和SQL Server Management Studio兩種不同的方式來進行論證。講解通俗,步驟詳細。在本書中每個實例的步驟都以通俗易懂的語言描述,並配以插圖講解和文字說明,讀者只需要按照步驟操作,就可以輕鬆實現書中所敘述的SQL Server 2008的各項功能,舉一反三,掌握實際運用技巧。在本書中,穿插了很多實際的項目案例,最後一章更是通過兩個完整項目實例,深入解析怎樣在實際的項目環境下使用SQL Server各項功能,以及怎樣與它們進行互動。適合閱讀本書的讀者本書具有實例豐富、知識全面、實用性極強的特點,因此本書可以作為初學者的學習用書,也可以作為中級讀者的提高教程,對高級讀者也有一定的啟發意義。具體來說,適合如下讀者閱讀:(1)初學SQL Server系列DBMS的讀者,本書覆蓋了SQL Server系列DBMS的幾乎所有的重要和常用的功能,大量的示例使讀者在學習基礎知識後,對SQL Server有較好的理解和掌握。(2)對舊版本的SQL Server 系列DBMS有一定了解和使用經驗,想升級到新版本的SQL Server 2008的讀者。本書提供了一個很好的橋樑,使這部分讀者可以無縫地從舊版本轉換到新版本。(3)對理論學習甚多而實際項目經驗缺乏,以及有些實踐經驗但沒有系統學習理論的讀者。本書很好地使實踐和理論相結合。(4)資料庫專業管理和開發人員。本書內容由淺入深,並輔以大量的實例說明,對於缺乏項目實戰經驗的程式設計師來說,可以用於快速積累項目開發經驗。隨書的配套光碟中含有全書所有實例的原始碼,供讀者學習參考使用。所有程式均經過了作者精心的調試。本書的技術支持希賽是中國領先的網際網路技術和IT教育公司,在網際網路服務、科技圖書出版、人才培養方面,希賽始終保持IT業界的領先地位。希賽對國家信息化建設和軟體產業化發展具有強烈的使命感,利用希賽網強大的平台優勢,加強與促進IT人士之間的信息交流和共享,實現IT價值。“希賽,影響IT”是全體希賽人不懈努力和追求的目標!希賽網以希賽顧問團為技術依託,是中國最大的IT資源平台。在國家權威機構發布的《計算機圖書出版市場綜述》中,稱讚希賽叢書為讀者所稱道,希賽的圖書已經形成品牌,在讀者心目中具有良好的形象。由於時間倉促和作者的水平有限,書中的錯誤和不妥之處在所難免,敬請讀者批評指正。
有關本書的意見反饋和諮詢,讀者可在希賽網社區“書評線上”版塊中與作者進行交流。
本書配套光碟中的內容,讀者也可以在希賽網下載中心下載。
袁運亮
2008年5月於廣州
第1篇 基礎知識篇
第1章 SQL Server 2008概述、安裝和配置
本章將對SQL Server 2008做一個比較全面的概述,讓讀者了解什麼是SQL Server 2008,它有什麼作用,並介紹它的一些基本功能。
本章也將帶領讀者一起來安裝SQL Server 2008。首先詳細敘述各個版本所要求的計算機軟、硬體配置,讀者在安裝SQL Server 2008某個版本之前一定要驗證自己的計算機是不是滿足所需的最低要求,然後詳細描述了整個安裝過程的步驟。
介紹安裝好SQL Server 2008之後怎樣對它進行一些基本的功能配置。讀者在閱讀完本章之後會對sQLServer2008有一個大致的了解,為後續學習奠定基礎。
1.1 SQL Server 2008概述
SQL Server 2008是用於大規模在線上事務處理(On—Line Transaction Processin9,OLTP)、數據倉庫和電子商務套用的資料庫平台;也是用於數據集成、分析和報表解決方案的商業智慧型平台。
SQL Server 2008組件包括資料庫引擎、報表服務、分析服務、通知服務、集成服務、全文搜尋、複製和Service Broker等。
SQL Server 2008使用一些組件工具來幫助實現開發和管理任務,例如SQL Server ManagementStudi0和SQL Server Business Intelligence Development Studi0。在SQL Server Management Studi0中,可以開發和管理SQL Server資料庫引擎和通知解決方案,管理已部署的Analysis Services(分析服務)解決方案,管理和運行Integration Services(集成服務)包,以及管理報表伺服器和ReportingServices報表與報表模型,同時可以可視化管理資料庫,以及編輯和執行SQL語句。在BIDS(BusinessIntelligenceDevelopmentStudi0,商業智慧型開發工具)中,可以使用以下項目來開發商業智慧型解決方案:使用Analysis Services項目開發多維數據集、維度和挖掘結構;
目錄
第 1 篇 基礎知識篇
第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.1.5 報表服務 4
1.1.6 通知服務 4
1.1.7 全文搜尋 5
1.1.8 Service Broker 5
1.2 選擇SQL Server 2008的優勢 5
1.3 安裝SQL Server 2008軟、硬體要求 6
1.4 安裝示例 7
1.5 伺服器網路配置 13
1.5.1 SQL Server配置管理器 13
1.5.2 配置伺服器網路協定和網路庫 14
1.5.3 加密與SQL Server的連線 14
1.6 客戶端網路配置 16
1.6.1 本地客戶端配置 17
1.6.2 使用防火牆系統 20
1.7 小結 23
第2章 SQL Server 2008新增及加強功能介紹 24
2.1 新增及加強功能簡介 24
2.2 安全方面 25
2.2.1 加密 25
2.2.2 審計 26
2.3 管理方面 26
2.3.1 數據壓縮 26
2.3.2 資源管理器 26
2.3.3 管理非結構化數據 27
2.4 開發方面 27
2.4.1 一次性插入多行數據 27
2.4.2 FORCESEEK提示 27
2.4.3groupingSETS 28
2.4.4 兼容性級別 28
2.4.5 用戶自定義表數據類型 29
2.4.6 表值參數 29
2.4.7 MERGE語句 30
2.5 新的數據類型 31
2.6 安裝 34
2.7 系統效能方面 34
2.8 其他增強 34
2.8.1 報表服務的新功能 34
2.8.2 伺服器合併解決方案 35
2.8.3 與microsoft office 2007結合 36
2.8.4 SQL Server集成服務 36
2.8.5 SQL Server分析服務 36
2.9 小結 36
第3章 SQL Server管理工具集 37
3.1 SQL Server管理工具集簡介 37
3.2 功能組件和工具視窗介紹 39
3.3 使用SQL Server管理工具集管理伺服器 44
3.4 使用SQL Server管理工具集編寫、分析和編輯腳本 45
3.5 使用SQL Server管理工具集模板 52
3.6 在SQL Server管理工具集中開發解決方案和項目 55
3.7 SQL Server管理工具集與其他組件協同工作 61
3.8 小結 61
第4章 資料庫和規範式 62
4.1 概述 62
4.2 資料庫的物理存儲結構設計和邏輯結構設計 64
4.2.1 資料庫物理存儲結構設計 64
4.2.2 資料庫邏輯結構設計 69
4.3 創建資料庫 73
4.4 刪除資料庫 76
4.5 修改資料庫 78
4.5.1 修改資料庫的名稱 78
4.5.2 更改資料庫所有者 78
4.6 資料庫設計規範式 79
4.7 系統資料庫 82
4.8 小結 85
第5章 表 86
5.1 概述 86
5.2 表的結構 86
5.3 創建表 87
5.3.1 欄位 89
5.3.2 數據類型 89
5.3.3 表設計 93
5.3.4全局唯一標識符與自動編號欄位 93
5.3.5 用戶定義數據類型 95
5.3.6 創建計算欄位 96
5.4 修改數據記錄 97
5.5 更改表設計 98
5.6 刪除表 102
5.7 表的連線 103
5.8 表的其他操作 106
5.8.1 表的導入 106
5.8.2 鎖定表的某些記錄 109
5.9 小結 111
第6章 索引 112
6.1 概述 112
6.2 索引的基本概念 113
6.2.1 索引的結構 113
6.2.2 索引的優點和缺點 113
6.3 索引的設計準則 113
6.4 索引的類型 115
6.4.1 聚集索引與非聚集索引115
6.4.2 唯一索引與非唯一索引 118
6.4.3 單列索引與多列索引 119
6.5 填充因子 119
6.6 創建索引 120
6.7 禁用索引 125
6.8 刪除索引 128
6.9 小結 132
第7章 視圖 133
7.1 視圖概述 133
7.1.1 視圖的優點 134
7.1.2 視圖的類型 134
7.2 創建視圖 135
7.2.1 創建視圖的準則 135
7.2.2 創建視圖的方法 136
7.3 使用視圖 141
7.3.1 使用索引視圖 141
7.3.2 使用分區視圖 145
7.4 可更新的視圖 147
7.5 通過視圖來更新數據 148
7.6 更改視圖 151
7.6.1 更改視圖的名稱 152
7.6.2 更改視圖的定義 152
7.7 刪除視圖 154
7.8 小結 154
第8章 資料庫的備份、還原和維護 155
8.1 概述 155
8.2 備份資料庫 156
8.2.1 備份概述 156
8.2.2 完全備份 158
8.2.3 差異備份 161
8.2.4 使用事務日誌備份 163
8.2.5 將資料庫遷移到其他系統進行備份 164
8.2.6 導入/導出 165
8.3 還原和恢複數據庫 168
8.3.1 還原方案 168
8.3.2 解決孤立用戶 169
8.3.3 還原差異資料庫備份170
8.3.4 還原事務日誌備份 174
8.3.5 完全恢復 178
8.3.6 大容量日誌記錄恢復 179
8.4 備份和恢復系統資料庫 180
8.4.1 備份系統資料庫 180
8.4.2 還原系統資料庫 181
8.5 附加和分離資料庫 182
8.5.1 分離資料庫 182
8.5.2 附加資料庫 185
8.5.3 使用分離和附加操作來移動資料庫187
8.6 複製 187
8.6.1 複製類型概述 188
8.6.2 執行複製 189
8.7 維護計畫和策略 195
8.7.1 維護計畫概述 195
8.7.2 如何創建維護計畫 196
8.8 小結 198
第9章 存儲過程 199
9.1 存儲過程概述 199
9.1.1 存儲過程的優缺點 199
9.1.2 存儲過程的種類 200
9.2 創建存儲過程 201
9.2.1 創建自定義存儲過程時的一些注意事項 201
9.2.2 創建用戶自定義存儲過程 201
9.2.3 擴展存儲過程 203
9.2.4 存儲過程表達式語法解析 203
9.2.5 參數 211
9.2.6 游標 211
9.2.7 嵌套存儲過程 213
9.2.8 在存儲過程中使用資料庫事務處理 215
9.3 執行存儲過程 215
9.3.1 在SQL Server中執行存儲過程 215
9.3.2 在Java/JSP中調用存儲過程 216
9.4 更新存儲過程 216
9.4.1 重命名存儲過程 216
9.4.2 修改存儲過程 217
9.4.3 重新編譯存儲過程 219
9.5 刪除存儲過程 219
9.6 系統存儲過程 221
9.7 最佳化存儲過程 222
9.8 存儲過程分頁 222
9.9 項目示例:企業員工考勤查詢系統 226
9.10 小結 232
第10章 T-SQL基礎 233
10.1 概述 233
10.1.1 T-SQL語言的特點233
10.1.2 T-SQL語言類型 234
10.2 數據類型 234
10.3 關係代數 236
10.4 T-SQL基本語法約定 240
10.5 變數 240
10.6 運算符 243
10.7 函式 245
10.8 控制流程語句 253
10.9 小結 258
第11章 高級T-SQL 259
11.1 概述 259
11.2 腳本與批處理 259
11.2.1 使用INSERT...SELECT進行批處理添加 259
11.2.2 使用INSERT TOP進行批處理添加 261
11.2.3 使用SELECT...INTO進行批處理添加 261
11.3 添加存儲過程的查詢結果 262
11.4 使用UPDATE TOP修改數據記錄 263
11.5 刪除數據記錄 264
11.5.1 使用DELETE TOP刪除數據記錄 264
11.5.2 使用帶OUTPUT子句的DELETE刪除數據記錄 264
11.5.3 使用truncateTABLE表達式刪除數據記錄 265
11.6 匯總和分組數據 266
11.6.1 使用GROUP BY 266
11.6.2 使用COMPUTE BY 268
11.7 模糊查詢 270
11.8 使用T-SQL代碼進行全文索引 271
11.9 小結 284
第12章 觸發器 285
12.1 概述 285
12.2 創建觸發器 287
12.3 修改觸發器 290
12.3.1 查看觸發器 290
12.3.2 修改觸發器的定義 292
12.3.3 重命名觸發器 292
12.4 禁用與啟用觸發器 293
12.5 刪除觸發器 293
12.6 嵌套觸發器 294
12.7 遞歸觸發器 297
12.8 使用觸發器 298
12.8.1 使用觸發器概述 298
12.8.2 檢查特定的欄位是否已被修改 299
12.8.3 使用包含ROLLBACK TRANSACTION
表達式的觸發器 300
12.8.4 有條件的INSERT觸發器 301
12.8.5 指定AFTER觸發器的順序 301
12.8.6 使用INSTEAD OF觸發器更新視圖 304
12.8.7 使用TRY...CATCH表達式 306
12.8.8 使用sp_addmessage創建用戶定義錯誤訊息 309
12.9 DDL觸發器、DML觸發器和CLR觸發器 309
12.9.1 DDL觸發器 309
12.9.2 DML觸發器 314
12.9.3 CLR觸發器 315
12.10 實例:員工就餐統計系統 317
12.11 小結 324
第13章 作業和警報 325
13.1 概述 325
13.2 創建作業 325
13.3 管理作業 329
13.3.1 修改作業 329
13.3.2 運行作業 332
13.3.3 禁用作業 333
13.3.4 停止作業 334
13.3.5 刪除作業 335
13.4 作業回響 336
13.5 警報 338
13.5.1 創建事件警報 338
13.5.2 創建性能警報 340
13.5.3 編輯警報 341
13.5.4 刪除警報 343
13.6 操作員 343
13.6.1 創建操作員 343
13.6.2 向操作員分配警報 345
13.6.3 修改操作員 346
13.6.4 刪除操作員 348
13.7 為作業通知和警報配置SQL Server Agent Mail 348
13.8 診斷及解決作業和警報故障 349
13.9 實例:企業巡更考勤系統 350
13.10 小結 352
第14章 安全 353
14.1 概述 353
14.2 身份驗證 354
14.2.1 身份驗證模式概述 354
14.2.2 身份驗證模式的更改 354
14.3 安全管理 355
14.3.1 SQL Server登錄管理 356
14.3.2資料庫角色管理 360
14.3.3 許可權管理 361
14.3.4 應用程式角色管理 365
14.3.5 事務日誌管理 366
14.4 訪問管理 367
14.4.1 啟用Guest用戶 368
14.4.2 拒絕用戶訪問 368
14.4.3 管理對資料庫的訪問 370
14.4.4 對資料庫訪問進行授權 372
14.4.5 管理對表和列的訪問 373
14.5 數據檔案安全 375
14.6 安全配置 377
安全配置策略 377
14.7 加密 380
14.8 小結 384
第15章 SQL Server報表服務 385
15.1 SQL Server報表服務概述 385
15.2 報表服務體系架構 386
15.3 報表服務功能 388
15.4 安裝SQL Server報表服務 390
15.5 配置報表服務 394
15.6 創建和設計報表 399
15.7 部署報表服務 402
15.7.1 報表服務的部署模式 402
15.7.2 報表服務部署計畫 404
15.7.3 複製報表伺服器環境 406
15.8 訪問報表 407
15.9 發布報表 408
15.10 管理報表服務 411
15.10.1 管理報表服務的要求 411
15.10.2 報表伺服器管理工具 411
15.10.3 報表服務安裝的備份和還原 413
15.10.4 報表伺服器資料庫 414
15.11 小結 416
第16章 商業智慧型開發套件 417
16.1 概述 417
16.2 BIDS圖形界面介紹 417
16.2.1 起始頁 418
16.2.2 BIDS主界面 418
16.2.3 選單 419
16.2.4 自定義環境、工具和視窗 421
16.3 生成BI解決方案 423
16.4 設計、開發和調試SQL Server Integration Services包 426
16.5 小結 436
第17章 分析服務 437
17.1 概述 437
17.2 多維數據 437
17.3 數據挖掘 438
17.4 使用分析服務 440
17.5 小結 456
第18章 集成服務 457
18.1 概述 457
18.2 複製和下載檔案 459
18.2.1 FTP任務 460
18.2.2 檔案系統任務 463
18.3 傳送電子郵件以回響事件 467
18.4 管理SQL Server對象和數據 472
18.5 小結 476
第19章 性能工具 477
19.1 概述 477
19.2 資料庫引擎最佳化顧問 477
19.2.1 資料庫引擎最佳化顧問圖形用戶界面(GUI)程式 478
19.2.2 dta實用工具 484
19.3 SQL Server事件探查器(SQL Server Profiler) 489
19.3.1 SQL跟蹤 489
19.3.2 使用SQL Server事件探查器 490
19.4 小結 495
第20章 配置工具 496
20.1 概述 496
20.2 報表服務配置管理器 496
20.3 SQL Server配置管理器 498
20.4 SQL Server錯誤和使用情況報告 500
20.5 SQL Server安裝中心 501
20.6 小結 502
第 2 篇 互動提高篇
第21章 提高查詢性能 504
21.1 概述 504
21.2 建立索引以快速執行查詢 504
21.3 用“資料庫引擎最佳化顧問”來最佳化查詢 509
21.4 其他提高查詢性能方法 513
21.5 小結 514
第22章 訪問SQL Server 2008 516
22.1 配置伺服器 516
22.2 訪問SQL Server 519
22.3 遠程訪問 522
22.4 區域網路中多個SQL Server 2008互聯同步數據 524
22.5 項目實例:服務部就餐統計系統 526
22.6 小結 532
第23章 SQL Server 2008與Office 2007集成 533
23.1 概述 533
23.2 SQL Server與Excel的集成 533
23.2.1 在Excel中使用SQL Server的數據 533
23.2.2 Excel數據轉入到SQL Server 536
23.3 SQL Server 2008數據挖掘外接程式 541
23.3.1 Excel表分析工具 542
23.3.2 Excel數據挖掘客戶端 550
23.3.3 數據挖掘Visio模板 556
23.4 使用SQL Server 2008和Office 2007
構造OLAP報表套用 561
23.5 小結 564
第24章 Java與SQL Server 565
24.1 概述 565
24.2 使用JDBC與SQL Server進行互動 565
24.3 使用ODBC與SQL Server進行互動 567
24.4 項目實例:數位化圖書管理系統 571
24.5 小結 579
第 3 篇 項目實戰篇
第25章 完整項目實例 581
25.1 概述 581
25.2 企業巡更考勤系統(B/S) 581
25.3 數位化圖書管理系統(C/S與B/S結合) 598
25.4 小結 620
實例目錄
例2-1 一次插入多行數據 27
例2-2 FORCESEEK提示 28
例2-3 使用CREATE TYPE語句創建用戶自定義表數據類型 29
例2-4 使用表值參數 29
例2-5 使用MERGE在一張表上執行更新和刪除操作 31
例2-6 新數據類型1 31
例2-7 新數據類型2 32
例2-8 新數據類型3 32
例2-9 設定系統數據類型 datetime2 32
例2-10 控制數據類型的精度 33
例2-11 新數據類型4 33
例2-12 經理和雇員之間的父子關係 33
例3-1 縮進代碼 49
例3-2 查找特定部分順序的存儲過程 53
例3-3 使用自定義模板 54
例3-4 確定結束日期早於開始日期的工作訂單 59
例4-1 創建未指定檔案的資料庫 75
例4-2 創建指定數據和事務日誌檔案的資料庫 76
例4-3 刪除單個資料庫 77
例4-4 刪除多個資料庫 77
例4-5 刪除資料庫快照 77
例4-6 修改資料庫名 78
例4-7 修改資料庫所有者 79
例4-8 重建系統資料庫 85
例8-1 備份到磁碟設備 159
例8-3 數據合併 166
例8-4 通過OPENDATASOURCE查詢表t1 166
例8-5 通過openrowset查詢表t1 166
例8-6 使用bcp 167
例8-7 通過SQL執行bcp 167
例8-8 數據轉換 167
例8-9 查找孤立用戶 170
例8-10 將用戶名對應的登錄名添加到syslogins中 170
例8-11 將用戶名映射為指定的登錄名 170
例8-12 解決DBO為孤立用戶的情況 170
例8-13 還原資料庫及差異資料庫備份 173
例8-14 還原資料庫及其差異資料庫和事務日誌備份 173
例8-15 事務日誌還原到某個標記處 177
例8-16 還原完整資料庫 179
例8-17 分離資料庫1 183
例8-18 分離資料庫2 183
例8-19 打開資料庫主密鑰 185
例8-20 對主密鑰啟用自動加密 185
例9-1 判斷存儲過程是否存在 201
例9-2 創建存儲過程 202
例9-3 帶有複雜SELECT語句的簡單過程 205
例9-4 帶有參數的簡單過程 206
例9-5 帶有通配符參數的簡單過程 207
例9-6 使用OUTPUT參數的過程 208
例9-7 使用OUTPUT游標參數的過程 209
例9-8 使用WITH RECOMPILE選項的過程 210
例9-9 使用WITH ENCRYPTION選項過程 210
例9-10 創建帶參數的儲存過程 211
例9-11 在存儲過程中使用游標 212
例9-12 在JSP中調用存儲過程 216
例9-13 重命名存儲過程 217
例9-14 修改存儲過程test 218
例9-15 在Database Engine Query中刪除存儲過程 220
例9-16 刪除擴展存儲過程 220
例9-18 staffQuery.jsp 227
例9-19 創建存儲過程kqOnDutyReport1 229
例9-20 創建存儲過程SelectCDate1 230
例12-1 傳送通知郵件 288
例12-2 INSTEAD OF觸發器 288
例12-3 觸發器中IF UPDATE套用 288
例12-4 虛擬表inserted和deleted 288
例12-5 創建觸發器 289
例12-6 更新t2表中的數據 290
例12-7 查詢某個資料庫中的所有觸發器 290
例12-8 使用SQL 語句查看觸發器tg_sum的內容 291
例12-9 修改觸發器的內容 292
例12-10 修改觸發器名 293
例12-11 禁用觸發器tg_sum 293
例12-12 刪除觸發器 294
例12-13 創建操作記錄表 295
例12-14 在數據表上創建觸發器 295
例12-15 創建類別表 295
例12-16 在類別表上創建觸發器 296
例12-17 檢測表t的第二列和第三列是否被修改過 299
例12-18 觸發器回滾 300
例12-19 觸發器回滾 301
例12-20 觸發器回滾 301
例12-21 有條件的INSERT觸發器 301
例12-22 創建product_Insert觸發器 302
例12-23 創建product_Insert1觸發器 302
例12-24 改變觸發器次序 303
例12-25 使用Instead Of觸發器 305
例12-26 包含錯誤處理函式的存儲過程 307
例12-27 CATCH塊捕捉錯誤 308
例12-28 TRY CATCH構造處理錯誤 308
例12-29 創建用戶定義訊息 309
例12-30 調用定義的錯誤訊息 309
例12-31 創建用於保護資料庫中的數據表不被修改和刪除的存儲過程 312
例12-32 創建用於保護當前SQL Server伺服器里所有資料庫不能被刪除
的存儲過程 312
例12-33 創建用來記錄資料庫修改狀態的觸發器 313
例12-34 判斷庫存數量是否為0 315
例12-35 使用inserted表 316
例12-36 員工就餐統計系統 317
例13-1 添加一個沒有功能的作業 328
例13-2 添加一個具有尋呼、電子郵件和網路傳送信息的作業 328
例13-3 修改作業 329
例13-5 更改原來存在的作業步驟 330
例13-6 刪除原先存在的作業步驟 331
例13-7 從作業中刪除關聯伺服器 331
例13-8 將作業指派給本地伺服器 331
例13-9 將作業指派給不同的伺服器 332
例13-10 啟動作業 333
例13-11 更改作業的名稱 334
例13-12 停止一個作業 335
例13-13 刪除一個作業 336
例13-14 為警報添加電子郵件通知 337
例13-15 創建事件警報 340
例13-16 編輯警報 342
例13-17 刪除警報 343
例13-18 設定操作員信息 345
例13-19 修改操作員信息 347
例13-20 刪除操作員 348
例13-21 企業巡更考勤系統 350
例14-1 創建登錄ID和默認資料庫 358
例14-2 創建使用其他默認語言的登錄ID 358
例14-3 創建帶有特定SID的登錄ID 358
例14-4 刪除登錄 358
例14-5 將Windows NT用戶設定為SQL Server登錄者 358
例14-6 拒絕Windows NT用戶登錄到SQL Server 359
例14-7 刪除Windows NT用戶的登錄信息 359
例14-8 顯示登錄信息 360
例14-9 將用戶添加到固定伺服器角色中 361
例14-10 創建應用程式角色 365
例14-11 刪除資料庫中的應用程式角色 365
例14-12 修改應用程式角色的密碼 366
例14-13 啟用Guest用戶 368
例14-14 啟用/禁用登錄名 368
例14-15 檢查被禁用的登錄名 368
例14-16 刪除登錄名 370
例14-17 創建資料庫角色並添加用戶 370
例14-18 判斷當前用戶 371
例14-19 刪除用戶及角色 371
例14-20 為資料庫用戶授予某種許可權 371
例14-21 創建資料庫用戶 372
例14-22 撤銷用戶授權 372
例14-24 授予用戶對表的操作許可權 373
例14-25 收回賦予給某個用戶的許可權 374
例14-26 拒絕用戶訪問 374
例14-27 授予許可權 374
例14-29 產生資料庫主密鑰 381
例14-30 產生密鑰 382
例14-31 加密數據 382
例14-32數據解密383
例14-33 用RC4算法產生對稱密鑰 383
例15-1 報表伺服器的URL示例 396
例22-1 查詢當前連線所使用的協定 521
例22-2 使用連線字元串連線SQL Server 522
例22-3 創建一個連結伺服器526
例22-4 服務部就餐統計系統 526
例24-1 使用JDBC連線MS SQL Server 566
例24-2 使用ODBC數據源連線MS SQL Server 571
例24-3 數位化圖書管理系統 571
例25-1 企業巡更考勤系統(B/S) 581
例25-2 數位化圖書管理系統(C/S與B/S結合) 598