【摘要】SQL Server 2008是一個(gè)功能強(qiáng)大的面向中小型企業(yè)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),提供了與眾多高級(jí)數(shù)據(jù)庫管理器相同的運(yùn)行性能。本文主要對(duì)SQL SERVER 2008的數(shù)據(jù)安全保障進(jìn)行探討。數(shù)據(jù)庫的安全性是用戶最關(guān)心的項(xiàng)目之一,一般來講,數(shù)據(jù)庫的安全性內(nèi)容包括:數(shù)據(jù)的完整性、數(shù)據(jù)的備份、數(shù)據(jù)的回復(fù)等相關(guān)問題。文章從數(shù)據(jù)的完整性、數(shù)據(jù)庫的安全管理、數(shù)據(jù)的備份與恢復(fù)三個(gè)方面闡述了如何在日常應(yīng)用中保證SQL server2008數(shù)據(jù)庫的安全,尤其對(duì)數(shù)據(jù)庫的安全管理提出了具有很強(qiáng)實(shí)用性的管理辦法,希望能對(duì)廣大SQL server 2008用戶有所幫助。
【關(guān)鍵詞】SQL;Sever;2008數(shù)據(jù)庫備份及恢復(fù)發(fā)展
前言
數(shù)據(jù)安全信息技術(shù)的發(fā)展離不開數(shù)據(jù)庫技術(shù)的不斷發(fā)展,隨著中小企業(yè)IT化進(jìn)程的提升,越來越多的軟件公司在數(shù)據(jù)庫平臺(tái)上正面臨挑戰(zhàn)。在未來云計(jì)算環(huán)境下,客戶對(duì)數(shù)據(jù)訪問的可靠性和高可用性方面將有更多的要求。如何大幅度提升系統(tǒng)整體可用性,利用數(shù)據(jù)庫特性獲得更好更安全的用戶數(shù)據(jù)管理效果已成為關(guān)鍵。SQL Server 2008保持了微軟產(chǎn)品一貫擁有的易于使用的特性,在管理和維護(hù)上比同類產(chǎn)品更加方便。并且開發(fā)人員更習(xí)慣于在微軟平臺(tái)上進(jìn)行開發(fā),其開發(fā)的知識(shí)與經(jīng)驗(yàn)可以保留,便于企業(yè)產(chǎn)品與服務(wù)的更新,同時(shí),還可幫助企業(yè)擴(kuò)展任意數(shù)據(jù)至任意平臺(tái)。
1、SQL Sever 2008數(shù)據(jù)庫備份的意義
1.1創(chuàng)建返回以地理標(biāo)記語言(GML)表示的空間數(shù)據(jù)的存儲(chǔ)過程。GML是一個(gè)由開放地理空間聯(lián)盟(OGC)定義的標(biāo)準(zhǔn),用于在應(yīng)用程序和系統(tǒng)之間交換地理數(shù)據(jù)。SQL Server中的空間數(shù)據(jù)類型支持GML 作為空間數(shù)據(jù)類型實(shí)例的數(shù)據(jù)源,也支持GML作為表示空間數(shù)據(jù)值的格式。借助對(duì)GML的這種支持,可以輕松地在SQL Serve 中的空間數(shù)據(jù)和其他地理空間系統(tǒng)(如 Microsoft Virtual Earth)之間進(jìn)行集成。
1.2無論何時(shí)對(duì)基礎(chǔ)數(shù)據(jù)執(zhí)行插入、更新或刪除操作,SQL Server 2008 數(shù)據(jù)庫引擎都會(huì)自動(dòng)維護(hù)索引。隨著時(shí)間的推移,這些修改可能會(huì)導(dǎo)致索引中的信息分散在數(shù)據(jù)庫中(含有碎片)。當(dāng)索引包含的頁中的邏輯排序(基于鍵值)與數(shù)據(jù)文件中的物理排序不匹配時(shí),就存在碎片。碎片非常多的索引可能會(huì)降低查詢性能,導(dǎo)致應(yīng)用程序響應(yīng)緩慢。這個(gè)時(shí)候,我們需要做得就是重新組織和重新生成索引。重新生成索引將刪除該索引并創(chuàng)建一個(gè)新索引。此過程中將刪除碎片,通過使用指定的或現(xiàn)有的填充因子設(shè)置壓縮頁來回收磁盤空間,并在連續(xù)頁中對(duì)索引行重新排序(根據(jù)需要分配新頁)。這樣可以減少獲取所請(qǐng)求數(shù)據(jù)所需的頁讀取數(shù),從而提高磁盤性能。
2、SQL Sever 2008數(shù)據(jù)庫的備份的幾種方法
2.1SQL Server數(shù)據(jù)庫備份有兩種方式,一種是使用BACKUP DATABASE將數(shù)據(jù)庫文件備份出去,另外一種就是直接拷貝數(shù)據(jù)庫文件mdf和日志文件ldf的方式。本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業(yè)管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)
2.2恢復(fù)數(shù)據(jù)庫就要簡(jiǎn)單多了,在需要恢復(fù)的數(shù)據(jù)庫右鍵菜單中“所有任務(wù)”“還原數(shù)據(jù)庫”,“常規(guī)”中,確定數(shù)據(jù)名,選擇“從設(shè)備”,選擇需要從哪個(gè)備份文件中恢復(fù)數(shù)據(jù)庫,“選項(xiàng)”選中“在現(xiàn)有數(shù)據(jù)庫中強(qiáng)制還原”,確定后就可以恢復(fù)數(shù)據(jù)庫了。
2.3即將刪除的歷史數(shù)據(jù)——使用維護(hù)計(jì)劃向?qū)砬宄?SQLServer2008的定期備份是通過創(chuàng)建“維護(hù)計(jì)劃”來實(shí)現(xiàn)的。主要有兩種方式:1、維護(hù)計(jì)劃向?qū)А?、新建維護(hù)計(jì)劃(用戶手工創(chuàng)建)如果想在SQLServer2008中使用維護(hù)計(jì)劃來設(shè)計(jì)維護(hù)備份數(shù)據(jù)庫任務(wù)時(shí),有一個(gè)前提條件:“SQL Server代理”服務(wù)必須是啟用狀態(tài)
3、SQL Sever 2008數(shù)據(jù)庫的維護(hù)實(shí)務(wù)
3.1由于采用上述介紹的數(shù)據(jù)庫維護(hù)計(jì)劃,可以到達(dá)定期備份數(shù)據(jù)庫的目的,但是產(chǎn)生了一個(gè)問題,數(shù)據(jù)庫備份定期一直在生成,如果大的數(shù)據(jù)庫一個(gè)備份文件達(dá)幾 GB,長(zhǎng)期備份的話,硬盤將滿了,并且保存太長(zhǎng)時(shí)間的備份也沒有太大必要,因此如何定期清理這些備份是我們接下來要介紹的。有很多種方法可以實(shí)現(xiàn)定期清理備份,本文介紹一種實(shí)現(xiàn)方法——采用forfiles命令,這個(gè)命令在Windows Server 2008系統(tǒng)中存在,在XP中并不存在,因此需要下載安裝。
3.2備份到Azure及與Azure的隨時(shí)連結(jié)簡(jiǎn)化云端備份與災(zāi)害復(fù)原,而且輕易就能把自動(dòng)部署SQL服務(wù)器遷移到Azure的虛擬機(jī)上。在實(shí)際開發(fā)中,SQLServer團(tuán)隊(duì)將會(huì)繼續(xù)致力于columnstore(列存儲(chǔ))性能和數(shù)據(jù)壓縮方面的研發(fā)與投資,目前,列存儲(chǔ)已經(jīng)根植于BI服務(wù)和Excel工具用于更快的業(yè)務(wù)觀察。在NoSQL這邊緩存的代表性是Memcached,NoSQL的緩存和CDN的緩存最大的區(qū)別在于NoSQL的緩存是指在數(shù)據(jù)層的緩存,并不是應(yīng)用層的緩存,也不是網(wǎng)絡(luò)層的緩存,所以它的緩存是比較原始的數(shù)據(jù)。比方說這個(gè)應(yīng)用邏輯里面的事務(wù),并不是最終給用戶看的結(jié)果,那么我們?cè)诰W(wǎng)絡(luò)這一層做緩存的話,最常見的技術(shù)叫CDN,它的英文叫做ContentDeliveryNetwork,它一般是在網(wǎng)絡(luò)的末端靠近用戶的那一端的一些網(wǎng)絡(luò)服務(wù)器上緩存一些具體的網(wǎng)頁。
3.3如果數(shù)據(jù)庫設(shè)置為全恢復(fù),那么每一個(gè)數(shù)據(jù)變動(dòng)操作歷史記錄都將被保存。如果日志文件銼光或用完物理磁盤空間,那么數(shù)據(jù)庫將停止工作。這種風(fēng)險(xiǎn)可以由SQLServer自動(dòng)增加日志文件的功能來降低。要啟用自動(dòng)成長(zhǎng)功能,就要給日志文件初始兆字節(jié)大小的空間。下一步,選擇“Autogrowth”復(fù)選框,并輸入一個(gè)增長(zhǎng)的大小。日志文件的大小也可以加以限制或不加限制的增長(zhǎng)。如果沒有設(shè)置自動(dòng)增長(zhǎng),一個(gè)固定大小的日志文件將自動(dòng)生成。
參考文獻(xiàn)
[1]徐莉,段春梅.Delphi+SQL Server數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)中的數(shù)據(jù)訪問技術(shù)[J].電腦開發(fā)與應(yīng)用,2008年02期
[2]張仁平,李強(qiáng).用Delphi開發(fā)數(shù)據(jù)庫應(yīng)用程序系列講座之五開發(fā)本地?cái)?shù)據(jù)庫應(yīng)用程序[J].電腦編程技巧與維護(hù),2003年04期
[3]樊志平,莊育飛,潘慶浩.SQL Server數(shù)據(jù)庫的備份與恢復(fù)策略研究[J].電腦知識(shí)與技術(shù)(學(xué)術(shù)交流);2007年14期
[4]楊立志,黃毅梅,張九營(yíng),任宏.SQL SERVER數(shù)據(jù)庫的安全管理[J].河南氣象,2006年03期