【摘 要】Microsoft SQL Server 2005是一個(gè)全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能(BI)工具提供了企業(yè)級的數(shù)據(jù)管理。Microsoft SQL Server 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。
【關(guān)鍵詞】SQL;數(shù)據(jù)庫;SQL Server2005;應(yīng)用
一、前言
Microsoft SQL Server 2005數(shù)據(jù)引擎是微軟數(shù)據(jù)管理解決方案的核心。此外,Microsoft SQL Server 2005還結(jié)合了報(bào)表、集成、通知和分析等多項(xiàng)功能。這使得很多的企業(yè)可以部署和構(gòu)建經(jīng)濟(jì)有效的BI解決方案,來幫助您的團(tuán)隊(duì)通過Dashboard、Web services、移動(dòng)設(shè)備和記分卡將數(shù)據(jù)的應(yīng)用推向業(yè)務(wù)的多個(gè)領(lǐng)域。Microsoft SQL Server 2005的與眾不同在于與新的開發(fā)工具包(包括Business Intelligence Development Studio)和Microsoft Visual Studio、Microsoft Office System的緊密集成。無論你是信息工作者、數(shù)據(jù)庫管理員、開發(fā)人員還是決策者,Microsoft SQL Server 2005都將幫助您從數(shù)據(jù)中更多地獲益,為您提供創(chuàng)新的解決方案。
二、SQL Server 2005的十大特點(diǎn)(功能)
1、NET框架主機(jī)
使用SQL Server2005,開發(fā)人員們創(chuàng)立數(shù)據(jù)庫對象時(shí)就可以通過使用相似的語言來實(shí)現(xiàn),比如VisualC#.net和微軟的VisualBasic。像用戶定義的類和集合等開發(fā)人員就能夠通過建立兩個(gè)新的對象來實(shí)現(xiàn)。
2、XML技術(shù)
在使用互聯(lián)網(wǎng)和本地網(wǎng)絡(luò)的時(shí)候,若要在不同的應(yīng)用軟件之間散布數(shù)據(jù),其中的一個(gè)非常重要的標(biāo)準(zhǔn)就是可擴(kuò)展標(biāo)記語言(XML)。SQL Server2005的一個(gè)優(yōu)點(diǎn)就是它本身就有支持存儲和查詢可擴(kuò)展標(biāo)記語言文件的功能。
3、ADO.NET2.0版本
SQL Server2005中的ADO.NET必將推動(dòng)數(shù)據(jù)集的操縱和存取,實(shí)現(xiàn)SQL Server2005更大的靈活性和可升級性。其原因就在于對SQL類的新的支持和多活動(dòng)結(jié)果集的支持。
4、增強(qiáng)的安全性
在SQL Server2005中所有系統(tǒng)表格都將作為視圖來得到實(shí)施,使得數(shù)據(jù)庫系統(tǒng)對象在更大程度上得到了控制。且SQL Server2005中的新安全模式將對象和用戶分開了,提供fine-grainAccess存取,并且允許更大程度上對數(shù)據(jù)存取進(jìn)行控制。
5、Transact-SQL的增強(qiáng)性能
可升級的數(shù)據(jù)庫應(yīng)用軟件的開發(fā)借用SQL Server2005可以獲得跟多的方便,因?yàn)镾QL Server2005提供了新的語言功能。里面包含了很多增強(qiáng)的性能,如APPLY,PIVOT,ROW_NUMBER、遞歸查詢功能、關(guān)系運(yùn)算符、處理錯(cuò)誤和其它數(shù)據(jù)排列等功能。
6、SQL服務(wù)中介
SQL服務(wù)中介的特點(diǎn)在于可以為大型的營業(yè)范圍內(nèi)的應(yīng)用軟件,提供一個(gè)分布式的、異步應(yīng)用框架。
7、通告服務(wù)
SQL Server2005的通告服務(wù)功能可以幫助建立豐富的通知類的應(yīng)用軟件,其可以向任何設(shè)備提供個(gè)性化且及時(shí)的信息,這些信息包括包裹遞送報(bào)警、新聞?dòng)嗛?、航空公司票價(jià)、股市警報(bào)等。像SQLServerManagementStudio、分析服務(wù)等技術(shù)也已經(jīng)和通告服務(wù)更加緊密的融合在了一起。
8、Web服務(wù)
使用SQL Server2005,開發(fā)人員將可以在在數(shù)據(jù)庫層開發(fā)Web服務(wù),為網(wǎng)絡(luò)服務(wù)中心應(yīng)用軟件提供一個(gè)新型的數(shù)據(jù)存取功能。
9、報(bào)表服務(wù)
報(bào)表服務(wù)的報(bào)表控制可以通過SQL Server2005來實(shí)現(xiàn),并且通過VisualStudio2005來發(fā)行。
10、全文搜索功能的增強(qiáng)
SQL Server2005將支持豐富的全文應(yīng)用軟件。由于服務(wù)器的編目功能將得到增強(qiáng),所以對編目的對象將提供更大的靈活性??缮壭院筒樵冃阅芤矊⒌玫酱蠓母倪M(jìn)。
三、SQL Server 2005文件的實(shí)際應(yīng)用
1、文件和文件組的含義與關(guān)系
每個(gè)數(shù)據(jù)庫有一個(gè)主數(shù)據(jù)文件.和若干個(gè)從文件。文件是數(shù)據(jù)庫的物理體現(xiàn)。文件組可以包括分布在多個(gè)邏輯分區(qū)的SQL Server 2005文件,實(shí)現(xiàn)負(fù)載平衡。文件組允許對文件進(jìn)行分組,以便于管理和數(shù)據(jù)的分配/放置。例如,可以分別在三個(gè)硬盤驅(qū)動(dòng)器上創(chuàng)建三個(gè)文件(Data1.ndf、Data2.ndf和Data3.ndf),并將這三個(gè)文件指派到文件組fgroup1中。然后,可以明確地在文件組fgroup1上創(chuàng)建一個(gè)表。對表中數(shù)據(jù)的查詢將分散到三個(gè)磁盤上,因而性能得以提高。在RAID(磁盤冗余陣列)條帶集上創(chuàng)建單個(gè)文件也可以獲得相同的性能改善。然而,文件和文件組使您得以在新磁盤上輕易地添加新文件。另外,如果數(shù)據(jù)庫超過單個(gè)Microsoft Windows文件的最大大小,則可以使用次要數(shù)據(jù)文件允許數(shù)據(jù)庫繼續(xù)增長。
2、文件、文件組在實(shí)踐應(yīng)用中常見的問題
通常情況下我們構(gòu)造的數(shù)據(jù)庫都只有兩個(gè)文件,mdf文件和ldf文件。但是這樣有兩個(gè)缺點(diǎn):
(1)容易導(dǎo)致文件過大
我們知道,mdf文件是數(shù)據(jù)庫文件,這樣的話也就意味著隨著數(shù)據(jù)庫的增大mdf就會相應(yīng)的增大,顯然在現(xiàn)在的應(yīng)用中數(shù)據(jù)膨脹是太常見的事情了,當(dāng)你的應(yīng)用變大后,mdf文件也會變大,然而windows對文件的大小是有要求的,這樣的話很容易導(dǎo)致mdf文件達(dá)到windows所允許的SQL Server 2005文件大小的界限(于是數(shù)據(jù)庫就崩潰了)。
(2)沒有利用到磁盤陣列
大型的服務(wù)器好多都有磁盤陣列,你可以把磁盤陣列簡單的假象成n個(gè)一塊轉(zhuǎn)動(dòng)的磁盤,磁盤陣列的設(shè)計(jì)是希望通過多個(gè)磁盤的串聯(lián)來得到更大的讀寫效率,但是如果你的數(shù)據(jù)庫只有一個(gè)mdf文件(ldf文件暫時(shí)不考慮),那么你總是只能夠利用這個(gè)磁盤陣列里面的一個(gè)磁盤而已,那樣的話昂貴的磁盤陣列的效率就由并聯(lián)變成串聯(lián)了。
試想如果我們能夠讓mdf分散成多個(gè)文件,比如說磁盤陣列上的每個(gè)磁盤中都分配一個(gè)文件,然后把mdf中的數(shù)據(jù)分散到各個(gè)文件中,我在讀取的時(shí)候就是串聯(lián)的讀取了,這樣就充分的利用了磁盤陣的存取效能。
四、SQL Server 2005數(shù)據(jù)加密技術(shù)的實(shí)際應(yīng)用
1、數(shù)據(jù)加密技術(shù)的介紹
在服務(wù)器中用數(shù)字的方式來存儲數(shù)據(jù)并不是萬無一失。通過實(shí)踐證明有很多的方法可以取得SQL Server2005的認(rèn)證保護(hù),使用沒有口令的sa帳號就是最簡單的方法。雖然SQL Server2005與之前的版本相比有了更高的安全性,但是還是有可能被攻擊者獲取存儲的數(shù)據(jù)。所以數(shù)據(jù)加密技術(shù)成了更徹底保護(hù)數(shù)據(jù)的戰(zhàn)略,就算攻擊者獲取了數(shù)據(jù)也不得不解密才行,因此給數(shù)據(jù)增加了一層保護(hù)。
因?yàn)樵赟QL Server2000以前的版本沒有內(nèi)置的數(shù)據(jù)加密功能,因此在之前的版本中對數(shù)據(jù)進(jìn)行加密,就不得不購買第三方的產(chǎn)品,然后在數(shù)據(jù)送服務(wù)器之前在客戶端的應(yīng)用中執(zhí)行加密或則在服務(wù)器外部做COM調(diào)用是進(jìn)行加密。這樣有一個(gè)弊端就是加密的密鑰和證書就不得不由加密者自己負(fù)責(zé)保護(hù),這恰恰是數(shù)據(jù)加密中最難的事,所以就算很多應(yīng)用中數(shù)據(jù)已經(jīng)通過很強(qiáng)的加密,但依然很不安全。
2、SQL Server 2005服務(wù)器支持的加密算法
SQL Server2005解決了一個(gè)問題,就是將數(shù)據(jù)加密作為數(shù)據(jù)庫的內(nèi)在特性來進(jìn)行處理。這樣它可以提供豐富的加密算法和多層的密鑰,而且最大的好處還在于用戶可以選擇數(shù)據(jù)服務(wù)器的管理密鑰。SQL Server 2005服務(wù)器加密算法如下:
(1)對稱式加密(Symmetric Key Encryption)
對稱式的加密技術(shù)的主要特點(diǎn)是加密和解密使用的是相同的密鑰,但是通常情況下這種加密方式在應(yīng)用中很難實(shí)施,因?yàn)楣蚕砻荑€在同一個(gè)系統(tǒng)中是很難的。但是有一種很理想的方式,就是當(dāng)數(shù)據(jù)儲存在SQL Server中時(shí),因?yàn)檫@種情況可以讓服務(wù)器去管理它。
(2)非對稱密鑰加密(Asymmetric Key Encryption)
非對稱密鑰加密就可以知道是使用一組密鑰系統(tǒng),包括公共密鑰和私人密鑰。此種方式是加密時(shí)使用一種密鑰,解密時(shí)使用另一種密鑰。公共密鑰可以廣泛的透露和共享,如果需要通過加密方式向服務(wù)器外部傳送數(shù)據(jù)時(shí),這種加密方式就顯得更為方便。
(3)數(shù)字證書(Certificate)
數(shù)字證書也是一種非對稱密鑰加密,但是不同的是組織機(jī)構(gòu)可以使用證書通過數(shù)字簽名將私鑰和公鑰與其擁有者關(guān)聯(lián)起來。SQL Server 2005支持“因特網(wǎng)工程工作組”(IETF)X.509版本3(X.509v3)規(guī)范。一個(gè)組織可以使用SQL Server 2005生成證書,或者可以對SQL Server 2005使用外部生成的證書。
五、結(jié)束語
隨著微軟的SQL Server2005發(fā)布,數(shù)據(jù)庫在世界上的發(fā)展就在快速的發(fā)生著變化。開發(fā)者也有了更多的靈活性,他們有權(quán)利選擇適合他們自己開發(fā)的功能代碼,來獲取格式中本來的數(shù)據(jù),比如說XML語言,然后再去創(chuàng)建一個(gè)更復(fù)雜的系統(tǒng),而服務(wù)器的功能能將這個(gè)系統(tǒng)驅(qū)動(dòng)?,F(xiàn)在數(shù)據(jù)庫的發(fā)展已經(jīng)變得越來越完整和綜合。在你完成工作的時(shí)候就可以選擇你所熟悉的工具。相信隨著信息技術(shù)的發(fā)展,數(shù)據(jù)庫在實(shí)際生活中的應(yīng)用也將會越來越廣泛,功能也將越來越豐富,悄無聲息的改變著這個(gè)世界。
參考文獻(xiàn):
[1]陳偉.SQL Server 2005數(shù)據(jù)庫應(yīng)用與開發(fā)教程[M].清華大學(xué)出版社,2007.
[2][美]佩里.精通SQL Server 2005[M].電子工業(yè)出版社,2008-4-1.
[3][美]伍德.SQL Server 2005數(shù)據(jù)庫管理入門經(jīng)典[M].清華大學(xué)出版社,2008-7-1.