第1章SQL Server 2019概述與安裝
1.1SQL Server的發(fā)展歷程
1.2SQL Server 2019的版本與運行環(huán)境
1.2.1SQL Server 2019的版本
1.2.2SQL Server 2019運行的硬件環(huán)境
1.2.3SQL Server 2019運行的軟件環(huán)境
1.3安裝SQL Server 2019
1.4SQL Server 2019的常用工具
1.4.1SQL Server Management Studio
1.4.2SQL Server配置管理器
1.4.3SQL Server Profiler
1.4.4數(shù)據(jù)庫引擎優(yōu)化顧問
小結(jié)
習題與思考
第2章SQL Server 2019服務(wù)器管理
2.1服務(wù)器組
2.1.1服務(wù)器組的劃分
2.1.2創(chuàng)建服務(wù)器組
2.1.3管理服務(wù)器組
2.2服務(wù)器注冊
2.2.1注冊服務(wù)器
2.2.2服務(wù)器信息的導出與導入
2.2.3管理已注冊的服務(wù)器
2.3配置服務(wù)器選項
2.3.1SQL Server 2019服務(wù)器選項
2.3.2sp_configure配置服務(wù)器選項
2.3.3SQL Server Management Studio配置服務(wù)器選項
2.4本地服務(wù)器組和中央管理服務(wù)器
2.4.1使用本地服務(wù)器組
2.4.2創(chuàng)建中央管理服務(wù)器
2.4.3本地服務(wù)器組與中央管理服務(wù)器的比較
小結(jié)
習題與思考
第3章數(shù)據(jù)庫
3.1SQL Server 2019的系統(tǒng)數(shù)據(jù)庫
3.1.1master
3.1.2model
3.1.3msdb
3.1.4tempdb
3.1.5Resource
3.2數(shù)據(jù)庫文件及文件組
3.2.1SQL Server數(shù)據(jù)存儲原理
3.2.2SQL Server數(shù)據(jù)庫文件
3.2.3文件組
3.3創(chuàng)建數(shù)據(jù)庫
3.3.1使用SSMS創(chuàng)建數(shù)據(jù)庫
3.3.2使用TSQL語句創(chuàng)建數(shù)據(jù)庫
3.4設(shè)置數(shù)據(jù)庫選項
3.4.1數(shù)據(jù)庫選項及設(shè)置
3.4.2查看數(shù)據(jù)庫信息
3.5管理數(shù)據(jù)庫
3.5.1擴大數(shù)據(jù)庫空間
3.5.2收縮數(shù)據(jù)庫空間
3.5.3管理數(shù)據(jù)庫文件
3.5.4管理文件組
3.5.5刪除數(shù)據(jù)庫
3.5.6分離數(shù)據(jù)庫
3.5.7附加數(shù)據(jù)庫
3.5.8部分包含數(shù)據(jù)庫
3.6數(shù)據(jù)庫快照
3.7數(shù)據(jù)庫腳本
3.7.1生成數(shù)據(jù)庫腳本
3.7.2執(zhí)行數(shù)據(jù)庫腳本
小結(jié)
習題與思考
第4章表
4.1數(shù)據(jù)表概述
4.1.1關(guān)系數(shù)據(jù)表
4.1.2規(guī)范化與范式
4.1.3ER圖
4.1.4SQL Server 2019中的數(shù)據(jù)表類型
4.2數(shù)據(jù)類型
4.2.1系統(tǒng)數(shù)據(jù)類型
4.2.2用戶自定義數(shù)據(jù)類型
4.3創(chuàng)建數(shù)據(jù)表
4.3.1使用SSMS創(chuàng)建數(shù)據(jù)表
4.3.2使用TSQL創(chuàng)建數(shù)據(jù)表
4.4修改數(shù)據(jù)表
4.4.1使用SSMS修改數(shù)據(jù)表
4.4.2使用TSQL修改數(shù)據(jù)表
4.5刪除數(shù)據(jù)表
4.5.1使用SSMS刪除數(shù)據(jù)表
4.5.2使用TSQL刪除數(shù)據(jù)表
4.6數(shù)據(jù)完整性與約束
4.6.1數(shù)據(jù)完整性
4.6.2創(chuàng)建約束
4.6.3修改和刪除約束
4.6.4禁用約束
4.7數(shù)據(jù)庫關(guān)系圖
4.7.1使用數(shù)據(jù)庫關(guān)系圖管理表間關(guān)系
4.7.2使用數(shù)據(jù)庫關(guān)系圖管理數(shù)據(jù)庫
4.8使用數(shù)據(jù)表
4.9臨時表
4.9.1創(chuàng)建臨時表
4.9.2使用臨時表
4.10分區(qū)表
4.10.1創(chuàng)建分區(qū)函數(shù)
4.10.2創(chuàng)建分區(qū)方案
4.10.3創(chuàng)建分區(qū)表
4.10.4分區(qū)表的使用
4.11FileTable
4.11.1啟用FILESTREAM
4.11.2創(chuàng)建FileTable表
4.11.3使用FileTable
4.12圖形數(shù)據(jù)表
4.12.1創(chuàng)建圖形表
4.12.2查詢圖形表數(shù)據(jù)
4.12.3邊界表約束
4.13時態(tài)數(shù)據(jù)表
4.13.1生成時態(tài)數(shù)據(jù)表
4.13.2使用時態(tài)數(shù)據(jù)表
4.13.3時態(tài)數(shù)據(jù)表轉(zhuǎn)為普通表
4.14內(nèi)存優(yōu)化表
4.14.1創(chuàng)建內(nèi)存優(yōu)化文件組和文件
4.14.2創(chuàng)建和使用內(nèi)存優(yōu)化表
小結(jié)
習題與思考
第5章TransactSQL基礎(chǔ)
5.1TSQL概述
5.1.1TSQL的發(fā)展
5.1.2TSQL的語言分類
5.2TSQL數(shù)據(jù)操縱語言
5.2.1INSERT插入數(shù)據(jù)
5.2.2UPDATE更新數(shù)據(jù)
5.2.3DELETE刪除數(shù)據(jù)
5.3TSQL數(shù)據(jù)查詢語言
5.3.1單表數(shù)據(jù)查詢
5.3.2多表連接數(shù)據(jù)查詢
5.3.3使用SELECT INTO語句
5.3.4組合查詢
5.3.5使用FETCH與OFFSET分頁
5.4TSQL附加語言元素
5.4.1標識符
5.4.2保留關(guān)鍵字
5.4.3常量與變量
5.4.4運算符
5.4.5控制流語句
5.4.6函數(shù)
5.5通用表表達式
5.5.1定義通用表表達式
5.5.2使用通用表表達式
小結(jié)
習題與思考
第6章索引
6.1概述
6.2索引的類別及特點
6.2.1聚集索引
6.2.2非聚集索引
6.2.3堆
6.3創(chuàng)建索引
6.3.1在SSMS中創(chuàng)建索引
6.3.2使用TSQL創(chuàng)建索引
6.4列存儲索引
6.4.1行存儲與列存儲
6.4.2列存儲索引工作原理
6.4.3創(chuàng)建列存儲索引
6.5內(nèi)存優(yōu)化索引
6.6管理索引
6.6.1在SSMS中管理索引
6.6.2使用TSQL管理索引
6.7索引選項
6.7.1填充因子
6.7.2索引的其他選項
小結(jié)
習題與思考
第7章視圖
7.1視圖簡介
7.2創(chuàng)建視圖
7.2.1使用SSMS創(chuàng)建視圖
7.2.2使用TSQL創(chuàng)建視圖
7.2.3更改視圖列標題
7.2.4創(chuàng)建多表聯(lián)接視圖
7.3視圖維護
7.3.1查看視圖定義
7.3.2修改視圖
7.4刪除視圖
7.5視圖的應(yīng)用
7.6索引視圖和分區(qū)視圖
7.6.1索引視圖
7.6.2分區(qū)視圖
小結(jié)
習題與思考
第8章存儲過程
8.1存儲過程簡介
8.2創(chuàng)建存儲過程
8.2.1創(chuàng)建無參數(shù)的存儲過程
8.2.2創(chuàng)建帶參數(shù)的存儲過程
8.2.3創(chuàng)建INSERT、UPDATE和DELETE的存儲過程
8.2.4創(chuàng)建帶有輸出參數(shù)的存儲過程
8.2.5在存儲過程中使用流程控制語句
8.2.6本地編譯存儲過程
8.3管理存儲過程
8.3.1查看存儲過程的定義信息
8.3.2修改存儲過程
8.3.3刪除存儲過程
8.3.4存儲過程的SSMS執(zhí)行方式
8.4系統(tǒng)存儲過程和擴展存儲過程
8.4.1系統(tǒng)存儲過程
8.4.2擴展存儲過程
小結(jié)
習題與思考
第9章觸發(fā)器
9.1觸發(fā)器簡介
9.2DML觸發(fā)器
9.2.1觸發(fā)器的創(chuàng)建語法
9.2.2INSERT觸發(fā)器
9.2.3DELETE觸發(fā)器
9.2.4UPDATE觸發(fā)器
9.2.5組合觸發(fā)器
9.3INSTEAD OF觸發(fā)器
9.4DDL觸發(fā)器
9.5管理觸發(fā)器
9.5.1查看觸發(fā)器的定義
9.5.2修改觸發(fā)器
9.5.3禁用和啟用觸發(fā)器
9.5.4刪除觸發(fā)器
小結(jié)
習題與思考
第10章安全管理
10.1SQL Server 2019安全管理的結(jié)構(gòu)
10.2服務(wù)器安全管理
10.2.1SQL Server身份驗證模式
10.2.2SQL Server身份驗證模式的設(shè)置
10.2.3SQL Server登錄名管理
10.2.4服務(wù)器角色
10.2.5登錄名授權(quán)
10.3數(shù)據(jù)庫安全管理
10.3.1數(shù)據(jù)庫用戶
10.3.2數(shù)據(jù)庫角色
10.3.3應(yīng)用程序角色
10.3.4管理角色的TSQL語句
10.3.5角色的綜合應(yīng)用
10.3.6數(shù)據(jù)庫用戶授權(quán)
10.4架構(gòu)安全管理
10.4.1創(chuàng)建架構(gòu)
10.4.2在架構(gòu)中添加對象
10.4.3在架構(gòu)中移動對象
10.4.4設(shè)置架構(gòu)權(quán)限
10.5權(quán)限管理的TSQL語句
10.5.1GRANT授權(quán)
10.5.2DENY拒絕權(quán)限
10.5.3REVOKE撤銷權(quán)限
10.6數(shù)據(jù)加密
10.6.1SQL Server數(shù)據(jù)加密的體系結(jié)構(gòu)
10.6.2密鑰生成
10.6.3數(shù)據(jù)加密與解密
10.6.4密鑰備份
小結(jié)
習題與思考
第11章備份與還原
11.1備份還原概述
11.1.1備份類型
11.1.2恢復模式
11.2備份數(shù)據(jù)庫
11.2.1備份設(shè)備
11.2.2執(zhí)行備份
11.2.3將數(shù)據(jù)備份到多個設(shè)備
11.3還原數(shù)據(jù)庫
11.3.1還原數(shù)據(jù)庫的操作
11.3.2時點還原
11.3.3文件和文件組還原
11.3.4還原數(shù)據(jù)庫的TSQL語句
11.3.5從數(shù)據(jù)庫快照中還原數(shù)據(jù)庫
小結(jié)
習題與思考
第12章自動化管理
12.1數(shù)據(jù)庫郵件
12.1.1配置數(shù)據(jù)庫郵件
12.1.2測試數(shù)據(jù)庫郵件
12.2SQL Server 代理
12.2.1啟動SQL Server 代理服務(wù)
12.2.2設(shè)置SQL Server 代理
12.3操作員
12.3.1創(chuàng)建操作員
12.3.2設(shè)置故障操作員
12.4作業(yè)
12.4.1創(chuàng)建作業(yè)
12.4.2執(zhí)行作業(yè)
12.5警報
12.5.1創(chuàng)建SQL Server事件警報
12.5.2創(chuàng)建SQL Server性能警報
12.6數(shù)據(jù)庫維護計劃
12.6.1使用向?qū)?chuàng)建維護計劃
12.6.2使用設(shè)計器創(chuàng)建維護計劃
小結(jié)
習題與思考
第13章數(shù)據(jù)集成服務(wù)
13.1SQL Server Integration Service概述
13.2數(shù)據(jù)導入與導出向?qū)?/p>
13.3SSIS包設(shè)計
13.3.1SQL Server Data Tools
13.3.2SSIS數(shù)據(jù)集成項目設(shè)計
13.3.3數(shù)據(jù)轉(zhuǎn)換
13.3.4使用循環(huán)控制流
小結(jié)
習題與思考
第14章報表服務(wù)
14.1SQL Server Reporting Services的架構(gòu)
14.2創(chuàng)建報表
14.3部署報表
14.3.1Reporting Services配置
14.3.2部署報表
14.4訪問和管理報表
14.4.1訪問報表
14.4.2管理報表
小結(jié)
習題與思考