SQL Server 2008是Microsoft公司在2008年正式發(fā)布的一個(gè)SQL Server版本,是目前最新的SQL Server版本。SQL Server 2008是一個(gè)重大的產(chǎn)品版本,它推出了許多新的特性和關(guān)鍵的改進(jìn),使其成為至今為止最強(qiáng)大、最全面的SQL Server版本。本書將從各個(gè)方面來討論SQL Server 2008的應(yīng)用。
SQL Server 2008在SQL Server 2005的基礎(chǔ)之上進(jìn)行開發(fā),不僅對(duì)原有的功能進(jìn)行了改進(jìn),而且還增加了許多新的特性,如新添了數(shù)據(jù)集成功能,改進(jìn)了分析服務(wù)、報(bào)告服務(wù)以及Office集成,等等。SQL Server 2008將提供更安全、更具延展性、更高的管理能力,從而成為一個(gè)全方位企業(yè)資料、數(shù)據(jù)的管理平臺(tái)。
1.4.2 SQL Server 2008的安裝
1.安裝SQL Server 2008的硬件和軟件要求
為了正確安裝和運(yùn)行SQL Server 2008,計(jì)算機(jī)必須滿足以下配置要求。
①操作系統(tǒng)要求(32位)。SQL Server 2008只能運(yùn)行在Windows操作系統(tǒng)之上。SQL Server 2008設(shè)計(jì)了不同的分支版本,每個(gè)版本對(duì)操作系統(tǒng)的要求不盡相同。在SQL Server 2008服務(wù)器軟件的32位版本中,Enterprise版(除了Enterprise Evaluation版,即企業(yè)評(píng)估版之外)只能運(yùn)行在Windows Server 2003和Windows Server 2008操作系統(tǒng)上。Standard版能夠運(yùn)行在Windows XP(除了Windows XP家庭版之外)、Windows Vista、Windows Server 2003、Windows Server 2008等大多數(shù)Windows操作系統(tǒng)之上。Developer版能夠運(yùn)行在Windows XP、Windows Vista、Windows Server 2003、Windows Server 2008等操作系統(tǒng)之上。其他版本所適合的操作系統(tǒng)在此就不詳細(xì)列出了。
② 安裝組件要求。SQL Server 2008安裝時(shí)需要的組件如下:
● .NET Framework 3.5;
● SQL Server Native Client;
● SQL Server安裝程序支持文件;
● Microsoft Windows Installer 4.5或更高版本;
● Microsoft數(shù)據(jù)訪問組件(MDAC)2.8 SP1或更高版本。
這些組件將會(huì)在安裝SQL Server 2008的過程中自動(dòng)安裝,不需要用戶單獨(dú)安裝。
2.SQL Server 2008的安裝
SQL Server 2008設(shè)計(jì)了7個(gè)不同的版本:企業(yè)版(Enterprise)、標(biāo)準(zhǔn)版(Standard)、工作組版(Workgroup)、網(wǎng)絡(luò)版(Web)、開發(fā)版(Developer)、免費(fèi)精簡(jiǎn)版(Express),以及免費(fèi)的集成數(shù)據(jù)庫SQL Server Compact 3.5,用戶可以根據(jù)不同的需求選擇合適的版本進(jìn)行安裝。
這里以Windows XP Professional Edition SP2操作系統(tǒng)為工作平臺(tái)(其他操作系統(tǒng)與本書介紹的內(nèi)容差別不大), SQL Server 2008中文企業(yè)評(píng)估版(其他版本類似)的安裝步驟如下。
第1步:插入自動(dòng)運(yùn)行的安裝光盤或雙擊已經(jīng)下載的SQL Server 2008安裝程序,SQL Server 2008需要.NET Framework 3.5的支持,安裝程序啟動(dòng)后會(huì)檢測(cè)系統(tǒng)是否已經(jīng)安裝了.NET Framework 3.5,如果沒有安裝,則彈出要求安裝的對(duì)話框,單擊“確定”按鈕,等待一段時(shí)間后進(jìn)入如圖1.16所示的“.NET Framework 3.5許可協(xié)議”窗口,同意許可條款并單擊“安裝”按鈕開始安裝,安裝完成后單擊“安裝完成”窗口中的“退出”按鈕即可。
圖1.16 .NET Framework 3.5安裝協(xié)議
第2步:安裝完.NET Frame work 3.5后可能會(huì)彈出需要安裝Windows XP補(bǔ)丁的對(duì)話框,這是安裝SQL Server 2008必須要安裝的補(bǔ)丁。安裝完該補(bǔ)丁后重啟計(jì)算機(jī)。
注意:有關(guān)Visual Studio 2008 SP1補(bǔ)丁和SQL Server 2008的一些說明如下。
由于SQL Server 2008會(huì)使用Visual Studio 2008 SP1補(bǔ)丁的某些功能(可以理解為.NET Framework 3.5 SP1的功能),所以會(huì)發(fā)生沖突,即如果機(jī)器上已經(jīng)安裝了Visual Studio 2008或.NET Framework 3.5,但是沒有安裝Visual Studio 2008 SP1或.NET Framework 3.5 SP1,那么在安裝SQL Server 2008的時(shí)候,會(huì)導(dǎo)致SQL Server 2008安裝失敗。有以下三個(gè)選項(xiàng):
① 如果還沒有安裝過Visual Studio 2008或.NET Framework 3.5,那么用戶可以安裝SQL Server 2008,不受影響,因?yàn)镾QL Server 2008安裝程序帶有所需要的所有組件。
② 如果已經(jīng)安裝過Visual Studio 2008或.NET Framework 3.5,那么必須在安裝Visual Studio 2008 SP1或.NET Framework 3.5 SP1之后再安裝SQL Server 2008;否則使用選項(xiàng)③。
③ 如果不想安裝Visual Studio 2008 SP1或.NET Framework 3.5 SP1,那么安裝SQL Server 2008時(shí)需要使用手動(dòng)安裝,例如,不要選擇SQL Server的Analysis Services、Integration Services或Business Intelligence Development Studio功能。
第3步:重啟計(jì)算機(jī)后重新啟動(dòng)安裝程序,進(jìn)入“SQL Server安裝中心”窗口,單擊左邊菜單欄中的“安裝”選項(xiàng)卡,在窗口右邊將列出可以進(jìn)行的安裝方式,如圖1.17所示。單擊“全新SQL Server獨(dú)立安裝或向現(xiàn)有安裝添加功能”選項(xiàng)將安裝全新的SQL Server 2008。
圖1.17 SQL Server 2008安裝中心
說明:如果需要從舊的SQL Server版本升級(jí)到SQL Server 2008,可以單擊“從SQL Server 2000或SQL Server 2005升級(jí)”。
第9步:實(shí)例配置完后單擊“下一步”按鈕進(jìn)入“磁盤空間要求”窗口,窗口中顯示安裝SQL Server 2008所需要的磁盤容量。單擊“下一步”按鈕進(jìn)入“服務(wù)器配置”窗口,在“服務(wù)賬戶”選項(xiàng)卡中為每個(gè)SQL Server服務(wù)單獨(dú)配置用戶名和密碼及啟動(dòng)類型?!百~戶名”可以在下拉框中進(jìn)行選擇。也可以單擊“對(duì)所有SQL Server服務(wù)器使用相同的賬戶”按鈕,為所有的服務(wù)分配一個(gè)相同的登錄賬戶。配置完成后的界面如圖1.23所示,單擊“下一步”按鈕。
SQL Server 2008是一個(gè)功能全面整合的數(shù)據(jù)平臺(tái),它包含了數(shù)據(jù)庫引擎(Database Engine)、Analysis Services、Integration Services和Reporting Services等組件。SQL Server 2008的版本不同,提供的組件可能也不相同。
SQL Server 2008服務(wù)器組件可由SQL Server配置管理器啟動(dòng)、停止或暫停。這些組件在Windows操作系統(tǒng)上作為服務(wù)運(yùn)行。
(1)Database Engine。數(shù)據(jù)庫引擎是SQL Server 2008用于存儲(chǔ)、處理和保護(hù)數(shù)據(jù)的核心服務(wù),例如,查詢數(shù)據(jù)、創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表和視圖、數(shù)據(jù)查詢等操作都是由數(shù)據(jù)庫引擎完成的。數(shù)據(jù)庫引擎還提供了受控訪問和快速事務(wù)處理功能,并提供了大量支持以保持可用性。Service Broker(服務(wù)代理)、Replication(復(fù)制技術(shù))和Full Text Search(全文搜索)都是數(shù)據(jù)庫引擎的一部分。
SQL Server 2008支持在同一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)SQL Server數(shù)據(jù)庫引擎實(shí)例。每個(gè)SQL Server數(shù)據(jù)庫引擎實(shí)例各有一套不為其他實(shí)例共享的系統(tǒng)及用戶數(shù)據(jù)庫,應(yīng)用程序連接同一臺(tái)計(jì)算機(jī)上的SQL Server數(shù)據(jù)庫引擎實(shí)例的方式,與連接其他計(jì)算機(jī)上運(yùn)行的SQL Server數(shù)據(jù)庫引擎的方式基本相同。SQL Server 2008實(shí)例有兩種類型。
① 默認(rèn)實(shí)例。SQL Server 2008默認(rèn)實(shí)例僅由運(yùn)行該實(shí)例的計(jì)算機(jī)的名稱唯一標(biāo)識(shí),它沒有單獨(dú)的實(shí)例名,默認(rèn)實(shí)例的服務(wù)名稱為MSSQLSERVER。如果應(yīng)用程序在請(qǐng)求連接SQL Server時(shí)只指定了計(jì)算機(jī)名,則SQL Server客戶端組件將嘗試連接這臺(tái)計(jì)算機(jī)上的數(shù)據(jù)庫引擎默認(rèn)實(shí)例。一臺(tái)計(jì)算機(jī)上只能有一個(gè)默認(rèn)實(shí)例,而默認(rèn)實(shí)例可以是SQL Server的任何版本。
② 命名實(shí)例。除默認(rèn)實(shí)例外,所有數(shù)據(jù)庫引擎實(shí)例都可以由安裝該實(shí)例的過程中指定的實(shí)例名標(biāo)識(shí)。應(yīng)用程序必須提供準(zhǔn)備連接的計(jì)算機(jī)的名稱和命名實(shí)例的實(shí)例名。計(jì)算機(jī)名和實(shí)例名格式為“計(jì)算機(jī)名\實(shí)例名”,命名實(shí)例的服務(wù)名稱即為指定的實(shí)例名。
(2)Analysis Services。SQL Server Analysis Services(分析服務(wù),簡(jiǎn)稱SSAS)為商業(yè)智能應(yīng)用程序提供聯(lián)機(jī)分析處理(OLAP)和數(shù)據(jù)挖掘功能。
(3)Integration Services。SQL Server Integration Services(集成服務(wù),簡(jiǎn)稱SSIS)主要用于清理、聚合、合并、復(fù)制數(shù)據(jù)的轉(zhuǎn)換以及管理SSIS包。除此之外,它還提供生產(chǎn)并調(diào)試SSIS包的圖形向?qū)Чぞ撸约坝糜趫?zhí)行FTP操作、電子郵件消息傳遞等工作流功能的任務(wù)。
(4)Reporting Services。SQL Server Reporting Services(報(bào)表服務(wù),簡(jiǎn)稱SSRS)是基于服務(wù)器的報(bào)表平臺(tái),可以用來創(chuàng)建和管理包含關(guān)系數(shù)據(jù)源和多維數(shù)據(jù)源中的數(shù)據(jù)的表格、矩陣、圖形和自由格式的報(bào)表。
1.4.4 SQL Server 2008管理和開發(fā)工具
1.SQL Server 2008管理工具
Microsoft SQL Server 2008安裝后,可在“開始”菜單中查看安裝了哪些工具。另外,還可以使用這些圖形化工具和命令實(shí)用工具進(jìn)一步配置SQL Server。表1.4列舉了用來管理SQL Server 2008實(shí)例的工具。
表1.4 SQL Server管理工具
這里對(duì)表1.4中的“SQL Server配置管理器”補(bǔ)充說明如下。
SQL Server配置管理器用于管理與SQL Server 2008相關(guān)的服務(wù)。盡管其中許多任務(wù)可以使用Microsoft Windows服務(wù)對(duì)話框來完成,但值得注意的是,“SQL Server配置管理器”還可以對(duì)其管理的服務(wù)執(zhí)行更多的操作,例如,在服務(wù)賬戶更改后應(yīng)用正確的權(quán)限。
打開“開始→所有程序→Microsoft SQL Server 2008→配置工具→SQL Server配置管理器”,在窗口的左邊窗格中選擇“SQL Server服務(wù)”,即可在右邊窗格中出現(xiàn)的服務(wù)列表中對(duì)各服務(wù)進(jìn)行操作,如圖1.27所示。
① SQL Server代理。SQL Server代理是一種Windows服務(wù),主要用于執(zhí)行作業(yè)、監(jiān)視SQL Server、激發(fā)警報(bào),以及允許自動(dòng)執(zhí)行某些管理任務(wù)。SQL Server代理的配置信息主要存放在系統(tǒng)數(shù)據(jù)庫msdb的表中。在SQL Server 2008中,必須將SQL Server代理配置成具有sysadmin固定服務(wù)器角色的用戶,才可以執(zhí)行其自動(dòng)化功能。而且該賬戶必須擁有諸如服務(wù)登錄、批處理作業(yè)登錄、以操作系統(tǒng)方式登錄等Windows權(quán)限。
② SQL Server Brower(瀏覽器)。此服務(wù)將命名管道和TCP端口信息返回給客戶端應(yīng)用程序。在用戶希望遠(yuǎn)程連接SQL Server 2008時(shí),如果用戶通過使用實(shí)例名稱來運(yùn)行SQL Server 2008,并且在連接字符串中沒有使用特定的TCP/IP端口號(hào),則必須啟用SQL Server Browser服務(wù)以允許遠(yuǎn)程連接。
③ SQL Full-Text Filter Daemon Launcher(全文搜索)。用于快速構(gòu)建結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)的內(nèi)容和屬性的全文索引,以允許對(duì)數(shù)據(jù)進(jìn)行快速的語言搜索。
SQL Server 2008使用的圖形界面管理工具是“SQL Server Management Studio”(簡(jiǎn)稱SSMS)。這是一個(gè)集成的統(tǒng)一的管理工具組,在SQL Server 2005版本之后已經(jīng)開始使用這個(gè)工具組開發(fā)、配置SQL Server數(shù)據(jù)庫,發(fā)現(xiàn)并解決其中的故障。SQL Server 2008將繼續(xù)使用這個(gè)工具組,并對(duì)其進(jìn)行一些改進(jìn)。
在“SQL Server Management Studio”中主要有兩個(gè)工具:圖形化的管理工具(對(duì)象資源管理器)和Transact SQL編輯器(查詢分析器)。此外還擁有“解決方案資源管理器”窗口、“模板資源管理器”窗口和“注冊(cè)服務(wù)器”窗口等。
(1)對(duì)象資源管理器與查詢分析器。如圖1.28所示,可以看到在SQL Server Management Studio中,把SQL Server 2000的Enterprise Manager(企業(yè)管理器)和Query Analyzer(查詢分析器)兩個(gè)工具結(jié)合在一個(gè)界面上,這樣可以在對(duì)服務(wù)器進(jìn)行圖形化管理的同時(shí)編寫Transact SQL腳本,且用戶可以直接通過SQL Server 2008的“對(duì)象資源管理器”窗口來操作數(shù)據(jù)庫。
圖1.28 SQL Server Management Studio
Transact SQL(簡(jiǎn)稱為T-SQL)是一種SQL語言,與其他各種類型的SQL語言一樣,使用Transact SQL語言可以實(shí)現(xiàn)從查詢到對(duì)象建立的所有任務(wù)。編寫Transact SQL腳本的方法很簡(jiǎn)單,用戶只須在“SQL Server Management Studio”面板中單擊“新建查詢”按鈕,在“查詢分析器”窗口中輸入相應(yīng)的SQL命令,單擊“!執(zhí)行”按鈕,系統(tǒng)執(zhí)行該命令后會(huì)將執(zhí)行的結(jié)果自動(dòng)返回到SQL Server Management Studio的結(jié)果窗口中顯示。
打開“SQL Server Management Studio”的方法如下:
在桌面上單擊“開始→所有程序→SQL Server 2008→SQL Server Management Studio”,在出現(xiàn)的“連接到服務(wù)器”對(duì)話框中,單擊“連接”按鈕,如圖1.29所示,就可以以Windows身份驗(yàn)證模式啟動(dòng)SQL Server Management Studio,并以計(jì)算機(jī)系統(tǒng)管理員身份連接到SQL Server服務(wù)器。
圖1.29 “連接到服務(wù)器”對(duì)話框
觀察SQL Server Management Studio中的“對(duì)象資源管理器”窗格可以發(fā)現(xiàn),在對(duì)象資源管理器中可以瀏覽所有的數(shù)據(jù)庫及其對(duì)象。
① 利用對(duì)象資源管理器查看數(shù)據(jù)庫對(duì)象。以Windows身份驗(yàn)證模式登錄到SQL Server Management Studio。在對(duì)象資源管理器中展開“數(shù)據(jù)庫”,選擇系統(tǒng)數(shù)據(jù)庫中的master數(shù)據(jù)庫并展開,則將列出該數(shù)據(jù)庫中所包含的所有對(duì)象,如表、視圖、存儲(chǔ)過程等。
② 利用查詢分析器查詢master數(shù)據(jù)庫中表dbo.spt_values的數(shù)據(jù)。在SQL Server Management Studio面板中單擊“新建查詢”按鈕,在打開的“查詢編輯器”窗格中輸入以下命令:
USE master
GO
SELECT *
FROM dbo.spt_values
單擊“執(zhí)行”按鈕,該查詢執(zhí)行的結(jié)果如圖1.28所示。
(2)模板資源管理器。在SQL Server Management Studio的查詢分析器中使用Transact SQL腳本可以實(shí)現(xiàn)從查詢到對(duì)象建立的所有任務(wù)。而使用腳本編制數(shù)據(jù)庫對(duì)象與使用圖形化向?qū)Ь幹茢?shù)據(jù)庫對(duì)象相比,最大的優(yōu)點(diǎn)是,使用腳本化方式具有圖形化向?qū)Х绞剿鶡o法比擬的靈活性。但是,高度的靈活性也就意味著使用它的時(shí)候有著比圖形化向?qū)Х绞礁叩碾y度。SQL Server Management Studio提供了模板資源管理器來降低編寫腳本的難度。
在SQL Server Management Studio的菜單欄中單擊“視圖”,選擇“模板資源管理器”,界面右側(cè)將出現(xiàn)“模板資源管理器”窗格,如圖1.28所示。在模板資源管理器中除了可以找到超過100個(gè)對(duì)象以及Transact SQL任務(wù)的模板之外,還包括備份和恢復(fù)數(shù)據(jù)庫等管理任務(wù)。
(3)注冊(cè)服務(wù)器。SQL Server Management Studio界面有一個(gè)單獨(dú)的可以同時(shí)處理多臺(tái)服務(wù)器的注冊(cè)服務(wù)器窗口。可以用IP地址來注冊(cè)數(shù)據(jù)庫服務(wù)器,也可以用比較容易分辨的名稱為服務(wù)器命名,甚至還可以為服務(wù)器添加描述。名稱和描述會(huì)在注冊(cè)服務(wù)器窗口中顯示。
如果要知道現(xiàn)在正在使用的是哪臺(tái)服務(wù)器,只需要單擊SQL Server Management Studio菜單欄中的“視圖”,選擇“已注冊(cè)的服務(wù)器”菜單項(xiàng),即可打開“已注冊(cè)的服務(wù)器”窗口。
通過SQL Server Management Studio注冊(cè)服務(wù)器,可以保存實(shí)例連接信息、連接和分組實(shí)例,查看實(shí)例運(yùn)行狀態(tài)。
為了在SQL Server Management Studio的“已注冊(cè)的服務(wù)器”組件中注冊(cè)服務(wù)器,保存經(jīng)常訪問的服務(wù)器的連接信息,可以在對(duì)象資源管理器中進(jìn)行連接時(shí)注冊(cè)服務(wù)器。
在對(duì)象資源管理器中注冊(cè)服務(wù)器的主要步驟如下:
啟動(dòng)SQL Server Management Studio,在菜單欄中選擇“視圖”,在彈出的子菜單中選擇“已注冊(cè)的服務(wù)器”,彈出“已注冊(cè)的服務(wù)器”窗口,如圖1.30所示,右擊“數(shù)據(jù)庫引擎”節(jié)點(diǎn)下的“Local Server Groups”,在彈出的快捷菜單中選擇“新建服務(wù)器注冊(cè)”菜單項(xiàng),打開“新建服務(wù)器注冊(cè)”對(duì)話框。在對(duì)話框中單擊“常規(guī)”選項(xiàng)卡。在“服務(wù)器名稱”文本框中,輸入要注冊(cè)的服務(wù)器名稱,如圖1.31所示。在“連接屬性”選項(xiàng)卡中,可以指定要連接到的數(shù)據(jù)庫名稱和使用的網(wǎng)絡(luò)協(xié)議等其他信息。
(4)解決方案資源管理器。在SQL Server Management Studio中,解決方案資源管理器是用來管理項(xiàng)目方案資源的有效工具。如果讀者使用過微軟的Visual Studio集成開發(fā)環(huán)境,那么用戶對(duì)項(xiàng)目和方案的概念就不會(huì)感到陌生。在解決方案資源管理器中,項(xiàng)目可以將一組文件結(jié)合在一起作為組進(jìn)行訪問。創(chuàng)建新項(xiàng)目的步驟如下。
第1步:?jiǎn)螕舨藛螜谥械摹拔募?,在彈出的子菜單中選擇“新建”,單擊“項(xiàng)目”,選擇所要?jiǎng)?chuàng)建的項(xiàng)目的類型。類型主要有“SQL Server腳本”、“Analysis Services腳本(分析服務(wù)腳本)”和“SQL Server Compact Edition腳本”。然后為創(chuàng)建的項(xiàng)目或方案命名,并選擇文件的存儲(chǔ)路徑,單擊“確定”按鈕,完成項(xiàng)目的創(chuàng)建過程。