2010-11-20 91 views

回答

2

現在數據庫項目和數據層級項目之間的差異正處於部署階段。如果你想創建一個dacpac,你可以使用Data Tier Project。如果你想創建一個.dbschema和sql遷移文件,你可以使用傳統的數據庫項目。

據我所知,數據層應用程序預計將來對SQL Azure部署很重要。

除非你專門研究SQL Azure,否則我現在會使用數據庫項目。這完全取決於你想要達到的目標。這可能是SQL Source Control(由我工作的公司Red Gate)更適合您的需求。

+0

感謝您提出兩種微軟產品的觀點。我一定會仔細看看貴公司的解決方案。欣賞建議! – djmc 2010-12-12 05:28:31

+0

我們希望在明年晚些時候「支持」SQL Source Control中的數據庫項目,但是這個業務決策將依賴於對數據庫項目的更多采用。 – 2010-12-22 16:12:56

+0

我不知道你的看法是什麼對事物的當前狀態。看起來VS 2013+「數據庫項目」在構建時會吐出dacpac文件。數據層應用程序還在嗎?這兩個概念合併了嗎? – Dan 2015-08-11 15:07:12

0

我相信Visual Studio數據庫項目是針對開發人員的。

數據層應用程序針對數據庫管理員。詳情請參閱this blog

+2

但是數據層應用程序應該由「數據庫開發人員」而不是DBA來構建。並且它們應該是在視覺工作室中構建的,而不是SSMS – djmc 2010-11-21 00:17:37

+0

我認爲這個想法是,dacpacs是由開發人員構建的,但移交給DBA以便使用SSMS中的嚮導進行輕鬆部署。數據庫項目的輸出是一個也傳遞給DBA的sql文件,並且必須針對目標服務器運行。 – 2010-12-22 16:11:47

7

DAC提供了一個應用程序模型,可用作開發人員和DBA之間的接口。開發人員編輯模型,DBA從模型中管理/部署。例如,一旦建立或提取模型,就可以將其部署到多個服務器。

想象.dacpac爲.exe。開發人員構建一個.exe並將其交給某人。此時,如果開發人員不必擔心.exe運行的位置,因爲.exe內部保持一致 - 它可以運行,也可以不運行。爲什麼開發人員需要專門針對2008,2005或Azure?只需開發應用程序模型,並讓DAC處理其餘部分...

擁有此部署工件還提供了一些新功能。示例包括版本化部署,確定自上次部署或升級以來是否有人更改過數據庫的能力,以及在不同目標服務器中創建相同數據庫的能力。

你喜歡爲不同的數據庫管理一個升級腳本庫嗎?如果您的數據庫的整個狀態可以在任何時間點建立或捕獲(提取),那不是很好嗎?

VS 2010中的數據庫應用程序項目混搭將在即將發佈的以數據庫爲中心的開發人員工具中得到解決。投資於dbschema或DAC不會影響向前兼容性。

+0

非常感謝你爲這個額外的答案。你真的幫助澄清DAC。 – djmc 2011-02-04 19:32:19

相關問題