第12章 SQL Server 2000 數(shù)據(jù)庫管理系統(tǒng)
12.1 SQL Server 2000 概述
服務(wù)是數(shù)據(jù)庫完成所需功能的基礎(chǔ),SQL Server 2000提供了四種服務(wù):
1、SQL Server
SQL Server服務(wù)是SQL Server2000最核心的服務(wù),它直接管理和維護(hù)數(shù)據(jù)庫,負(fù)責(zé)處理所有來自客戶端的Transact-SQL(SQL Server使用的數(shù)據(jù)庫語言)語句并管理服務(wù)器上構(gòu)成數(shù)據(jù)庫的所有文件,同時還負(fù)責(zé)處理存儲過程,并將執(zhí)行結(jié)果返回給客戶端;
2、SQL Server Agent
對需要定期進(jìn)行的工作,SQL Server2000提供了代理的功能,根據(jù)系統(tǒng)管理員預(yù)先設(shè)定好的計劃自動執(zhí)行相應(yīng)的功能。同時它還能對管理員設(shè)定好的錯誤等特定事件自動報警,且能通過電子郵件方式把系統(tǒng)存在的各種問題發(fā)送給指定的用戶,幫助管理員對系統(tǒng)進(jìn)行監(jiān)視和管理;
3、Distributed Transaction Coordinator(DTC)
分布式事務(wù)協(xié)調(diào)器是一個事務(wù)管理器,在DTC支持下,客戶可以在一個事務(wù)中訪問不同服務(wù)器上的數(shù)據(jù)庫。DTC能夠保證一個事務(wù)中的所有操作在所有服務(wù)器上全部成功,或者,當(dāng)在某個服務(wù)器上不成功時,確保所有服務(wù)器上的操作均被撤銷,使全部服務(wù)器均回到事務(wù)開始前的狀態(tài);
4、Microsoft Search
提供了全文檢索服務(wù),能夠?qū)ψ址麛?shù)據(jù)進(jìn)行搜索。
12.2 SQL Server 2000 的安裝
12.2.1 安裝前的準(zhǔn)備
1、SQL Server2000的版本
SQL Server2000共有企業(yè)版、標(biāo)準(zhǔn)版、開發(fā)版和個人版四個版本。
(1) 企業(yè)版:支持SQL Server2000中全部功能,適合于作為大型數(shù)據(jù)庫服務(wù)器使用;
(2) 標(biāo)準(zhǔn)版:支持許多SQL Server2000功能,但在服務(wù)器擴(kuò)展性、大型數(shù)據(jù)庫支持、數(shù)據(jù)倉庫、WEB站點方面的能力較弱,適合于作為小工作組或部門的數(shù)據(jù)庫使用;
(3) 開發(fā)版:支持企業(yè)版的全部功能,但只能作為開發(fā)和測試系統(tǒng)使用。不能作為生產(chǎn)服務(wù)器使用;
(4) 個人版:適合在移動環(huán)境中作業(yè)的用戶,并且所動作的應(yīng)用程序需要本地數(shù)據(jù)存儲。
2、選擇合適的操作系統(tǒng)
版本操作系統(tǒng)要求
企業(yè)版Windows NT Server 4.0或以上、Windows 2000Server或以上
標(biāo)準(zhǔn)版Windows NT Server 4.0或以上、Windows 2000Server或以上
開發(fā)版Windows 98、Windows 2000 Professional、Windows XP Professional、Windows 2000 Server
個人版Windows 2000 Professional、Windows XP Professional和所有其他的Windows 2000
12.2.2 安裝及安裝選項
1、 放入安裝光盤;
2、 選擇“SQL Server2000組件”—>“安裝數(shù)據(jù)庫服務(wù)器” —>“本地計算機” —>“創(chuàng)建新的SQL Server實例” —>輸入合適的用戶名和公司名—>“軟件許可證協(xié)議” —>“服務(wù)器和客戶端工具” —>“實例名” —>“安裝類型” —>“選擇組件” —>
12.2.3 測試安裝
12.3 SQL Server 2000 常用工具簡介
12.3.1 企業(yè)管理器
企業(yè)管理器是SQL Server2000的主要圖形化管理工具,它提供了一個遵從Microsoft管理控制臺風(fēng)格的用戶界面。在企業(yè)管理器中幾乎可以完成所有管理工作;
12.3.2 查詢分析器
查詢分析器是一個圖形化的查詢工具,用戶可以編寫和執(zhí)行SQL語句,并查看執(zhí)行結(jié)果,它具有以下特點:
1、 用不同的顏色標(biāo)識Transact-SQL語法中不同含義的單詞,提高語句的易讀性;
2、 對象瀏覽器工具使用戶可以輕松地查找數(shù)據(jù)庫中的對象和對象結(jié)構(gòu);
3、 選擇要操作的數(shù)據(jù)庫;
4、 選擇要執(zhí)行的語句,可以讓查詢分析器只執(zhí)行選中的SQL語句,若不選中任何語句,則是執(zhí)行文本編輯器中的全部語句;
5、 可將文本編輯器中編寫的語句保存起來,以備以后使用,也可打開保存好的包含SQL語句的文件進(jìn)行編輯或執(zhí)行。
12.4 創(chuàng)建和管理數(shù)據(jù)庫
12.4.1 系統(tǒng)數(shù)據(jù)庫
1、系統(tǒng)數(shù)據(jù)庫:安裝完成后,SQL Server建立的系統(tǒng)數(shù)據(jù)有:
(1) master:最重要的系統(tǒng)數(shù)據(jù)庫,記錄了所有的系統(tǒng)級信息,包括登錄帳號、系統(tǒng)配置、數(shù)據(jù)庫屬性等信息;
(2) msdb:提供對自動執(zhí)行任務(wù)的支持;
(3) model:樣板數(shù)據(jù)庫,其中包含所有用戶數(shù)據(jù)庫的公共信息;
(4) tempdb:臨時數(shù)據(jù)庫,用于存儲用戶創(chuàng)建的臨時表、用戶聲明的變量以及用戶定義的游標(biāo)數(shù)據(jù)等。當(dāng)用戶離開SQL Server時,系統(tǒng)自動刪除tempdb數(shù)據(jù)庫中所創(chuàng)建的對象并釋放所占用的空間。
2、用戶示例數(shù)據(jù)庫:安裝完SQL Server后,系統(tǒng)建立了兩個用戶示例數(shù)據(jù)庫供用戶學(xué)習(xí)使用:
(1) Pubs:主要存放關(guān)于出版商、作者及圖書等信息;
(2) Northwind:主要存放關(guān)于產(chǎn)品、訂單、客戶信息。
12.4.2 SQL Server數(shù)據(jù)庫的構(gòu)成
1、 SQL Server的數(shù)據(jù)庫由兩種文件組成:數(shù)據(jù)文件和日志文件。數(shù)據(jù)文件用于存放數(shù)據(jù),日志文件用于存放對數(shù)據(jù)的操作記錄。
2、 在考慮數(shù)據(jù)庫的空間分配時,需了解如下規(guī)則:
(1) 所有數(shù)據(jù)庫都包含一個主數(shù)據(jù)文件與一個或多個日志文件,還可以包含零個或多個輔助數(shù)據(jù)文件;
(2) 在創(chuàng)建用戶數(shù)據(jù)庫時,包含系統(tǒng)表的model數(shù)據(jù)庫自動被復(fù)制到新建數(shù)據(jù)庫中;
(3) 在SQL Server 2000中,數(shù)據(jù)的存儲單位是頁,一個數(shù)據(jù)頁是一塊8KB的連續(xù)磁盤空間;
(4) 在SQL Server中,不允許表中的一行數(shù)據(jù)存儲在不同的數(shù)據(jù)頁上,且一行的數(shù)據(jù)大小不能超過一個數(shù)據(jù)頁的大小;
3、數(shù)據(jù)文件和日志文件的作用
(1) 數(shù)據(jù)文件:用于存放數(shù)據(jù)庫數(shù)據(jù),數(shù)據(jù)文件又分為:主數(shù)據(jù)文件和輔助數(shù)據(jù)文件
(A) 主數(shù)據(jù)文件:主數(shù)據(jù)文件的推薦擴(kuò)展名是.mdf,它包含數(shù)據(jù)庫的系統(tǒng)信息,并可存放用戶數(shù)據(jù)庫的數(shù)據(jù),每個數(shù)據(jù)庫只包含一個主數(shù)據(jù)文件;
(B) 輔助數(shù)據(jù)文件:輔助數(shù)據(jù)文件的推薦擴(kuò)展名是.ndf,當(dāng)數(shù)據(jù)庫數(shù)據(jù)量很大時,可能需要多個輔助數(shù)據(jù)文件,這些文件可以存放在不同的磁盤上,以便利用多個磁盤上的存儲空間,并提高數(shù)據(jù)存取的并發(fā)性。
(C) 兩種數(shù)據(jù)文件對用戶是透明的,系統(tǒng)會選用效的方法來使用這些數(shù)據(jù)文件。
(2) 日志文件:主要記錄對數(shù)據(jù)庫數(shù)據(jù)的修改操作。日志文件的推薦擴(kuò)展名為.ldf,它包含用于恢復(fù)數(shù)據(jù)庫的日志記錄,每個數(shù)據(jù)庫必須至少有一個日志文件,也可以有多個。
4、創(chuàng)建數(shù)據(jù)庫時的其他屬性
(1) 文件名及其位置:每個數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件都具有一個邏輯文件名和物理的存放位置;
(2) 初始大。嚎梢灾付總數(shù)據(jù)文件和日志文件的初始大小,兩者最小都是512KB;
(3) 增長方式:當(dāng)數(shù)據(jù)庫的空間用完后,系統(tǒng)是否可自動擴(kuò)大數(shù)據(jù)庫的空間;
(4) 大。褐肝募鲩L的空間限制,默認(rèn)是無限制。
12.4.3 創(chuàng)建數(shù)據(jù)庫
1、 使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫
2、 使用Transact-SQL語句創(chuàng)建數(shù)據(jù)庫
12.4.4 刪除數(shù)據(jù)庫
1、 使用企業(yè)管理器刪除數(shù)據(jù)庫
2、 使用Transact-SQL語句刪除數(shù)據(jù)庫
12.5 Transact-SQL 簡介
12.5.1 Transact-SQL語言基礎(chǔ)知識
1、 注釋
(1) 單行注釋:以“--”為開始的一行;
(2) 塊注釋:以/* 注釋 */的塊。
2、 變量
(1) 變量的種類:全局變量和局部變量,全局變量以@@開始,局部變量以@開始;全局變量是由系統(tǒng)提供且預(yù)先聲明的變量,用戶一般只能查看不能修改全局變量的值。局部變量是用戶用以保存特定類型的單個數(shù)據(jù)值的對象;
(2) 變量的聲明與賦值:
(A) 變量名最多可以包含128個字符,使用DECLARE語句聲明一個局部變量后,這個變量的值將被初始化為NULL;
(B) 變量賦值語句格式:SET @局部變量名=值 或 表達(dá)式;
(C) 變量賦值語句格式:SELECT @局部變量名=值 或 表達(dá)式;
12.5.2 流程控制語句
1、BDGIN…END語句:用于定義一個語句塊,格式如下:
BEGIN
語句1
語句2
…
END
BDGIN…END語句塊一般與流程控制語句IF…ELSE 或 WHILE一起使用的。
2、IF…ELSE語句:
IF 布爾表達(dá)式
語句塊1
[ ELSE
語句塊2]
3、WHILE語句:
WHILE布爾表達(dá)式
循環(huán)體語句塊
12.6 數(shù)據(jù)傳輸
12.6.1 DTS功能概述
1、 DTS提供了許多傳輸數(shù)據(jù)的工具,主要有:
(1) 導(dǎo)入/導(dǎo)出向?qū)В核梢詫崿F(xiàn)不同數(shù)據(jù)源之間的數(shù)據(jù)傳輸以及數(shù)據(jù)傳輸過程中的數(shù)據(jù)轉(zhuǎn)換;
(2) DTS設(shè)計器:此工具用于建立帶有工作流和事件驅(qū)動邏輯的較為復(fù)雜的數(shù)據(jù)轉(zhuǎn)換操作;
2、 DTS的源數(shù)據(jù)和目的數(shù)據(jù)可以是異構(gòu)的數(shù)據(jù)庫數(shù)據(jù)。
12.6.2 利用DTS向?qū)崿F(xiàn)數(shù)據(jù)傳輸