SQL Server 2012 (Denali) 在 3/6 正式發布 RTM 的版本,依 SQL Server 的發展史來看,這次的改版算是一個大型改版,依 SQL Server 2012 官方網站所公布的功能來看,SQL Server 2012 的新功能確實比 SQL Server 2008 R2 要來的多太多了,而且也多了幾個不同的版本,例如 SQL Server 2012 Parallel Data Warehouse for Developers (SQL Server Developer 的進階版本)。不過本文並不是要說 SQL Server 2012 有什麼新功能,而是搭配 SQL Server 2012 所研發的一個新的工具,專屬開發人員使用的-SQL Server Data Tools (SSDT)...
SQL Server 2012 (Denali) 在 3/6 正式發布 RTM 的版本,依 SQL Server 的發展史來看,這次的改版算是一個大型改版,依 SQL Server 2012 官方網站所公布的功能來看,SQL Server 2012 的新功能確實比 SQL Server 2008 R2 要來的多太多了,而且也多了幾個不同的版本,例如 SQL Server 2012 Parallel Data Warehouse for Developers (SQL Server Developer 的進階版本)。不過本文並不是要說 SQL Server 2012 有什麼新功能,而是搭配 SQL Server 2012 所研發的一個新的工具,專屬開發人員使用的-SQL Server Data Tools (SSDT)。
長久以來,搭配 SQL Server 資料庫開發的開發人員,幾乎都要熟悉 SSMS (SQL Server Management Studio),因為它才是使用 SQL Server 的最好工具,但是畢竟 SSMS 是個管理工具,等於說開發人員總是要學一點 SQL Server 的管理 (我個人認為這是必要的啦 ...),才能順暢的操作 SSMS 來支援開發工作,雖然微軟在歷次的版本中試圖在 Visual Studio 加入資料庫開發的功能,只是仍舊沒有像是 SSMS 這樣的工具,畢竟大家都因為 SSMS 的試煉,對它的介面早已熟悉,在 Visual Studio 中如果改了個介面,反而又要讓開發人員多學一樣東西,似乎是對開發人員的變相懲罰 ...。
這個問題在 SSDT 中得到了一些解答,因為 SSDT 本身就是用 Visual Studio 2010 Shell 來開發的,同時,就連 SQL Server 2012 本身的 SSMS 也改用 Visual Studio Shell 來開發,由於 SSMS 本來和 Visual Studio 的相似度就很高,所以 SSMS 改用 Visual Studio Shell 開發,對 DBA 來說改變並沒有特別大。但對於開發人員來說,這樣的改變意味著開發人員只要利用很熟悉的 Visual Studio,就能直接連線到資料庫並從事資料庫的開發工作。而且,這個工具也可以應用在雲端上的 SQL Azure 資料庫。
SSDT 本身是一個以 Visual Studio Shell 開發的資料庫工具,可以在沒有 Visual Studio 的情況下執行 (它會自動安裝 Visual Studio Shell 的 Runtime),若已經安裝有 Visual Studio 的話,它會直接和現有的 Visual Studio 環境整合,在安裝完成後,於 Visual Studio 的介面中會增加一個 SQL 的功能表:
同時,在左側的視窗中,會多一個 SQL Server 物件總管 (Object Explorer):
在 SSDT 上可以執行在 SSMS 上能做的基本資料庫操作以及資料庫開發等工作,也可以自由新增 Transact-SQL 指令,檢視查詢結果以及瀏覽資料庫查詢計畫等等,不過,也許是因為這是給開發人員做的工具,所以一些原本在 SSMS 中有圖形化介面支援的功能,在 SSDT 中只會產生 T-SQL 指令而已,所以,如果對 T-SQL 不熟的話,也許需要在身旁配一本 T-SQL Language Reference 吧。同時 SSDT 本身也有資料庫專案 (Database Project) 的功能,能夠協助開發人員來管理所有的 SQL 功能,當然也可以用來開發 SQL CLR 組件。
不過目前試用下來的一個小缺點,要算是新增 SQL Server 的時候,出來的介面是英文的:
也許是因為之前有安裝了 SQL Server 的一些英文語系的元件吧 ... :)
SSDT 目前已經 RTW (Release To Web) 了,也有繁體中文版,有興趣的人可以到這下載:http://msdn.microsoft.com/en-us/data/hh297027
Reference:
http://msdn.microsoft.com/en-us/library/bb401006.aspx
PS: 本文雖然有強調開發人員和 SSMS 之間的關係,但微軟歷次開發的資料庫功能也不是完全沒有用,因為它還是有 Schema Comparsion, Version Control, CLR Development, SSIS Package 以及其他 SSMS 做不到的功能,然而就一位開發人員而言,那些功能其實不一定用得到,開發人員只想要單純的資料庫基本開發功能,像是建資料庫或表格或執行 T-SQL 指令,這樣而已。