利用SQL Server 2008 R2和Visual Studio 2010的紧密集成,微软给我们带来一个称为数据层应用(data-tier applications ,DAC)的新功能。将Visual Studio的DAC部署到SQL Server是通过一个数据层应用程序包,即DACPAC来完成的。
优点
DACPAC相比较在SQL Server上部署细微的应用程序更改来说变化很大。它允许代码保持在现有源码控制范围之内,并为开发人员提供一个简单的方法在已熟悉的Visual Studio环境中编辑SQL Server对象。这意味着开发人员可以对他们开发的数据库进行所有的编码,然后将所有更改打包成一个DACPAC进行上线。该DACPAC也可以被DBA处理后发布到生产或测试环境。
DACPAC通过数据层来处理数据库更新,为开发人员提供了一个简易的方式来进行数据库开发,使得.NET开发人员有能力来编写数据库的表、存储过程、视图和函数。
缺点
首版的数据层应用存在几个问题。第一个问题就是DACPAC并非支持SQL Server引擎的所有特性,包括在SQL Server的Service Broker、CLR对象和最为重要的SQL Server安全。
现在,使用既定的脚本可以支持所有的这些特性,不过这不是最好的解决办法,为了创建和管理对象以及安全性,开发人员必须知道所有适当的T - SQL命令。
目前DACPAC只能支持到SQL Server 2008 R2,而且他们必须使用Visual Studio 2010来开发。