SQL Server 2014 CTP2之後公布了一項針對備份的特性,那就是原生備份加密。考慮到之前網絡上影響很壞的數據庫洩漏事件,本質上都是數據庫備份洩漏給第三方導致,SQL Server的原聲數據備份可以使得即使備份本身被盜,在沒有加密證書的情況下也無法使用,這有效的解決了上述數據洩漏問題。原先的解決方案
在SQL Server 2014之前,如果希望實現對備份實現加密,會通過如下兩種方式之一實現:
使用透明數據加密(TDE)加密整個數據庫,從而使得備份和事務日志也會被加密 使用第三方備份加密工具
首先來談一下使用透明數據加密,如果僅僅是為了對備份加密,使用TDE有點過於大材小用,因為使用TDE會導致數據庫本身和日志被加密,對CPU帶來額外開銷,此外,使用TDE加密過的數據庫如果使用備份壓縮,壓縮比率會非常低。如果使用SQL Server 2014的原生備份加密,則無需對整個數據庫進行加密,備份僅僅在被寫入磁盤之前被加密。原聲備份加密如果結合備份壓縮功能,那麼會先進行壓縮,再加密,從而得到非常高的壓縮比率。
其次使用第三方備份加密工具需要額外的費用,並且在執行過程中也會有比較繁瑣的操作成本,使用第三方備份當需要對備份到Azure的備份進行加密時,將會非常繁瑣,而使用原生備份加密,可以直接對備份到Azure的備份進行加密,從而對OFF-SITE備份提供了額外的安全性。
使用原生數據加密
在SQL Server 2014 企業版、BI版、標准版中包括了該功能。使用備份加密需要有二個先決條件:
存在證書或非對稱密鑰 選擇備份加密算法
下面使用原聲數據加密對備份加密,首先建立證書:
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Backup Encryption Certificate';
GO
建立完成後,直接使用證書進行備份加密:
BACKUP DATABASE TestBK TO DISK ='C:\Test_Encrypted.bak'WITH COMPRESSION, ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = BackupCertificate);
結果如圖1所示,在圖1中,注意到SQL Server給出了提示信息要備份證書以及證書的私鑰,否則數據將無法使用。通常在最佳實踐中,當證書創建時就應該備份,數據安全永遠是第一位的。
圖1.提示備份證書私鑰
在圖1中,注意到備份指定的加密算法是AES_256算法。SQL Server 2014提供了4種對備份加密的算法,分別是AES128、AES196、AES256和三重DES算法。
在SQL Server 2014的Management Studio中也對原聲備份加密提供了GUI的支持,如圖2所示。
圖2.GUI對原生備份加密的GUI支持
原生加密備份對壓縮的影響
前文提到,使用原生備份加密可以使得備份壓縮幾乎不受加密的影響,下面備份一個2.5G左右的測試庫,指定壓縮備份,第一個例子僅使用壓縮備份,第2-4例子使用壓縮備份+不同的壓縮算法,測試語句如圖3所示。
圖3.測試語句
圖4看到,使用備份加密對數據庫備份大小幾乎毫無影響。
圖4.不同的加密算法對備份壓縮幾乎毫無影響
圖5.加密算法對備份的影響
由圖4和圖5的結論可以得出,無論使用了何種加密算法,加密對壓縮比率幾乎毫無影響。
原生加密備份對性能的影響
使用原生備份加密是一項極大的消耗CPU的操作,下面在圖3的基礎上進一步添加不壓縮備份的情況,備份的時間如圖6所示。
圖6.不同壓縮算法下備份時間
由圖6測試可以看出,除了3DES算法需要消耗的時間較長之外,AES算法在CPU不成為備份機瓶頸的情況下,對備份時間並無太大的影響。但加密對具體環境的影響會因環境而已,不同環境下的測試結果呈現可能會大相徑庭,如果擔心原生加密備份對性能產生影響,請先在具體環境進行測試。
小結
SQL Server原聲備份加密對數據安全提供了非常好的解決方案。使用原生備份加密基本不會增加備份文件大小,並且打破了使用透明數據加密後幾乎沒有壓縮率的窘境。使用原生備份加密無論在將數據備份到異地數據中心,還是將數據備份到雲端,都可以以非常低的成本對數據提供額外的安全保障。
可信任的和可擴展的平台
線業務應用程式(LOB),是IT部門和商務部門的關鍵環節業務。能夠安全可靠的存儲,集中,管理和分配數據到用戶的關鍵是這些LOB應用程序。 SQL Server 2008提供了一個高性能的數據庫平台,一個可靠、可擴展的企業平台,且易於管理。 SQL Server 2008 R2將幫助IT部門提供了當今最先進的且熟悉的SQL Server管理工具平台,更符合成本效益的可擴展性。
利用硬件創新
SQL Server 2008的R2幫助您利用最新的硬件技術的優勢,能夠實現最大限度降低總擁有成本。微軟Windows Server 2008 R2和SQL Server 2008的R2的協同工作,使客戶能夠擴展到多達256個邏輯處理器。
此外,支持Hyper – V技術的Windows Server 2008中需要更大的處理能力以及充分利用全新的多核心系統的優勢。這意味著每個物理主機對多個虛擬系統的支持,會降低成本,同時提高了可擴展性和虛擬基礎架構的靈活性。新的Hyper – V技術的實時遷移允許兩個主機之間遷移服務器,並且不會中斷任何服務。
IT及開發效益
使管理員能夠集中監控和管理多個數據庫應用,實例或服務器,加快開發和應用的部署和提供更好的支持,通過支持Hyper- V功能的Windows Server 2008 R2實現在線遷移。
管理自我服務的商務智能
擴展功能強大的BI工具為所有Excel與SQL Server PowerPivot用戶和授權用戶的商業類新的積累和分享功能強大的商務智能解決方案,同時還使IT監控和管理用戶所生成的BI解決方案。
SQL Server 2005的十大最新特性
在商界,每樣東西都在競爭中爭取“更好、更快、更便宜”——SQL Server 2005也提供了很多個新特性來節省精力、時間和金錢。從編程到管理能力,這個版本的SQL Server都優於其他版本的產品,並且它還對SQL Server 2000中已經存在的特性進行了加強。這裡我按照它的重要程度列出前十個最重要的新特性。
1、加強的T-SQL (事務處理SQL )
T-SQL 天生就是基於集合的關系型數據庫管理系統編程語言,可以提供高性能的數據訪問。現在,它與許多新的特性相結合,包括通過同時使用TRY和CTACH來進行錯誤處理,可以在語句中返回一個結果集的通用表表達式(CTEs),以及通過PIVOT 和UNPIVOT命令將列轉化為行和將列轉化為行的能力。
2、CLR(Common Language Runtime,通用語言運行時)
SQL Server 2005中的第二個主要的增強特性就是整合了符合.NET規范的語言 ,例如C#, ASP.NET 或者是可以構建對象(存儲過程,觸發器,函數等)的 VB.NET。這一點讓你可以在數據庫管理系統中執行.NET代碼以充分利用.NET功能。它有望在SQL Server 2000環境中取代擴展的存儲過程,同時還擴展了傳統關系型引擎功能。
3、服務代理(Service Broker)
服務代理處理的是以松散方式進行聯系的發送者和接收者之間的消息。一個消息被發送、處理和回答,完成整個事務。這大大擴展了數據驅動應用程序的性能,以符合工作流或者客戶業務需求。
4、數據加密
SQL Server 2000沒有用來在表自身加密數據的有文檔記載的或者公共支持的函數。企業需要依賴第三方產品來滿足這個需求。SQL Server 2005自身帶有支持對用戶自定義數據庫中存儲的數據進行加密的功能。
5、SMTP郵件
在SQL Server 2000中直接發送郵件是可能的,但是很復雜。在SQL Server 2005中,微軟通過合並SMTP郵件提高了自身的郵件性能。SQL Server從此跟Outlook說“bye-bye”!
6、HTTP終端
你可以很輕松地通過一個簡單的T-SQL 語句使一個對象可以在因特網上被訪問,從而創建一個HTTP終端。這允許從因特網上呼叫一個簡單的對象來獲取需要的數據。
7、多活動結果集(Multiple Active Result Sets ,簡稱MARS)
多活動結果集允許從單個的客戶端到數據庫保持一條持久的連接,以便在每個連接上擁有超過一個的活動請求。這是一個主要的性能改善,它允許開發人員讓用戶在使用SQL Server工作的時候擁有新的能力。例如,它允許多個查詢,或者一個查詢的同時輸入數據。底線就是一個客戶端連接可以同時擁有多個活動的進程。
8、專用管理員連接
如果所有的內容都出錯了,那麼只能關閉SQL Server服務或者按下電源鍵。專用管理員連接結束了這種狀況。這個功能允許數據庫管理員對SQL Server發起單個診斷連接,即使是服務器正在出現問題。
9、SQL Server綜合服務(SSIS)
SSIS已經作為主要的ETL(抽取、傳輸和載入)工作替代了DTS(數據傳輸服務),並且隨著SQL Server免費發布。這個工具,從SQL Server 2000開始被完全重新編寫,現在已經擁有了很大程度的靈活性,來滿足復雜的數據移動需求。
......余下全文>>