我們總是把SQL Server 這個單詞掛在嘴邊,也許很少有人思考過 SQL Server 到底是什麼東西。這個問題很難用幾句話講清楚。我們之所以要用連載的方式討論 SQL Server,就是要從不同的角度闡述這個問題。
一、服務器組件
SQL Server 2000由兩個部分組成:服務器組件和客戶端工具。
1.內容
SQL Server的服務器組件是以 Windows 服務(Windows Services)方式運行的。一般認為SQL Server包含四種Windows服務(這裡我們關注OLTP、暫時不考慮 OLAP),分別是:MSSqlServer、DTCDistributed Transaction Coordinator 、SQLServerAgent、Search Service。
MSSqlServer 是最常用的服務,一般的數據庫功能都是由它提供的,例如文件管理、查詢處理、數據存儲等;DTC是分布式事務協調器,支持跨越兩個或多個服務器的更新操作來保證事務的完整性;SQLServerAgent負責SQL Server 自動化工作,如果需要SQL Server 在指定時間執行某一個存儲過程,就需要用到這個服務了;Search Service是全文查詢服務,負責全文檢索方面的工作。
2.一分為四的理由
現在我們知道了 SQL Server 的核心是四個服務器組件,它們是以 Windows 服務的形式運行的。聰明的讀者也許會思考這樣的問題:為什麼服務器組件以 Windows 服務方式運行?為什麼需要把完整的系統分割成四個服務器組件?
●之所以把SQL Server服務器組件作為Windows服務程序,主要是因為Windows 服務程序能夠在用戶沒有登錄的情況下使用。
●之所以把SQL Server的核心功能分為四個Windows 服務程序,主要是考慮了以下因素:這些Windows 服務程序各自負擔的任務功能上是可分割的,這是前提條件;不是每個應用都需要使用四個服務所提供的所有功能,讓用戶有選擇的關閉一些服務,無疑可以節省系統的資源,也可以節省用戶花在管理上的精力;最後,分開成為多個服務程序,就可以為每一個服務設定操作系統級的安全策略。
二、客戶端工具
SQL Server 2000 的核心是上文討論的那些服務器組件,但用戶直接接觸的卻不是它們(雖然真正干活的是它們),而是客戶端工具。服務器組件是引擎,客戶端工具是用戶界面,兩者是相輔相成的。
讓我們看看SQL Server 2000 的客戶端工具到底有哪些——企業管理器、查詢分析器、事件探查器、服務管理器、客戶端網絡實用工具、服務器網絡實用工具、導入和導出數據(DTS)等等。
服務器組件與客戶端工具功能上是配套的,客戶端工具需要用最簡單的形式表達最豐富的服務器組件的功能;服務器組件和客戶端工具物理上是離散的,說句大白話:它們不是同一個程序!客戶端工具要與服務器組件連通,需要一些用於通訊的動態鏈接庫,SQL Server 2000 的通訊庫支持多種網絡協議,例如TCP/IP、命名管道等。
說到這裡問題就很清楚了:只要客戶端工具與服務器組件與功能上是配套(兼容)的,就可以通過一定的協議連接,所以我們只要在自己的機器上裝一套客戶端工具,就可以連接世界各地的SQL Server 服務器,當然這需要對方開放足夠的權限。
提示:安裝 SQL Server 2000 實際上就是安裝服務器組件和客戶端工具。當然,我們可以選擇同時安裝服務器組件和客戶端工具,或者只安裝其中的一個,甚至只選擇安裝更少的東西。
三、版本問題
SQL Server 2000有很多版本:企業版、開發版、標准版、個人版等。每一個版本包含的客戶端工具基本上是一樣的,而服務器組件可能有些不同。所以在安裝 SQL Server 之前必須參考“操作系統和SQL Server”版本兼容表(圖1),根據操作系統選擇合適的 SQL Server 版本。