作為SQL Server DBA,我們常常抱怨微軟自帶工具的種種不好,但能做到開箱 即用已經很難得。SQL Server 2012中包含了以下三種單獨的GUI工具,供SQL Server DBA與開發者使用。
1、2005年推出的SQL Server Management Studio
2、同樣於2005年推出的SQL Server Business Intelligence Development Studio
3、2012年全新推出的SQL Server Data Tools
SQL Server Management Studio
微軟最早把SQL Server Management Studio(SSMS)命名為SQL Workbench,然而由於其他廠商已經注冊 使用了那個名字,所以才做了修改。這也就是為什麼2005年SQL Server的文件名 都是sqlwb.exe的原因。SSMS一直以來都是專為DBA與開發者設計的,不僅適用於 SQL Server數據庫引擎,還同樣適用於SQL Server分析服務引擎、報表服務引擎 及集成服務引擎。所有這些都在同一個單一的應用程序中實現,非常了不起。從 產品開發的角度上來看,開發人員可以根據自己的需求,使用Transact-SQL(T- SQL)來對SQL Server數據庫引擎編寫查詢語句,或者使用MDX、DMX與XMLA對SQL Server分析服務引擎的查詢語句進行編寫。
SSMS從Enterprise Manager和 Query Analyzer發展而來;這兩個工具則來自於 SQL Server 2000以及更早版本。 在以前的版本中,Enterprise Manager應用於數據庫管理,Query Analyzer應用 於數據庫開發。與今天的SSMS相比,它們已經完全失去了競爭優勢。Enterprise Manager有點像Object Explorer面板和今天SSMS中Object Explorer Details視圖 的結合體。Query Analyzer中包含一個最基本的對象浏覽器,其查詢窗口可運行 T-SQL語句。
盡管很多人都把SSMS用作查詢工具,但其實它的功能要豐富 得多。通過SSMS,你可以在單一服務器中運行查詢程序,也可以從注冊服務器窗 口中選擇一個文件夾並點擊“新的查詢”,在多台服務器中進行查詢。在同一個 文件夾中,查詢任務可一次在所有服務器上完成。另外,SSMS還有調試程序的功 能,可以在服務器中逐步調試代碼、檢查變量並驗證路徑。但注意不要在生產服 務器上用。
SSMS中還包含最早出現於SQL Server 2008中的工具 IntelliSense。這是一款智能提示工具,在使用者輸入對象名稱時,該工具會出 現一個下拉菜單,自動提示信息。2012版的IntelliSense已大大超越了2008和 2008 R2版,但還難稱完美,它缺失了很多對象類別,比如SQL Service Broker。 同時,它只能針對最基本的SELECT語句。命令一旦變得復雜,IntelliSense就無 法識別出所有對象。
Business Intelligence Development Studio
Business Intelligence Development Studio(BIDS)實如其名, 是一個商務智能(BI)開發平台。無論是SSIS的ETL包、SSRS的報表,還是SSAS的 cubes,BIDS都能夠進行有效的管理。其實,它只是為Visual Studio開發環境設 計的一個小插件,旨在為BI開發者提供一個更為豐富的開發平台而已。
在 SSIS中,工具箱裡包含所有SSIS支持的對象。開發者只需把工具箱裡的對象拖拽 到設計界面中,就可以快速簡便地設計並創建ETL流程。該流程十分強大,不僅可 以使用微軟SQL Server作為來源與目標,而且可以使用任何ODBC裝置的數據庫, 還包括微軟Office文件和文本文件。
在BIDS中創建報表同樣非常簡單,開 發者把報表對象放到工具箱裡的報表欄中,將它們與查詢結果組件進行連接即可 。
SQL Server Data Tools
SQL Server Data Tools(SSDT)可以 說是微軟SQL Server自帶工具的一股新勢力。SSDT是一項免費的獨立下載工具, 為數據庫開發者設計,可在Visual Studio集成開發環境(大多數應用程序開發人 員的工作環境)中加快並簡化數據庫開發流程。SSDT的表格編輯器功能優勢突出 ,因為它能夠在可視化編輯器中進行編輯,這與SSMS中的表格編輯器很像,但它 還可以在編輯過程中展示出T-SQL語句,同時可對這些語句進行修改並供GUI編輯 器進行實時更新。
除此之外,SSDT與不同系統匹配的能力驚人,其中包括 SQL Server數據庫引擎、Windows Azure SQL Database與微軟雲數據庫服務等, 但不同版本所對應的功能會有所不同。例如,如果你連接到了Azure,那麼你就不 能使用表分區語法。與其類似的還有IntelliSense的自帶支持功能,它只能展示 數據庫引擎對應版本的特性,可支持SQL Server 2005以後的所有版本,這一點要 比SSMS工具強大得多。
怎樣選擇正確的工具還得看你要完成什麼樣的任務 。SSMS和SSDT針對的都是數據庫開發管理,而BIDS針對的則是BI開發。微軟願意 花費這麼多時間與資金研發出這麼多自帶工具,對於SQL Server DBA和開發者來 說應該算是幸事。更重要的是,它們都是免費的。