【IT168 技术开发】数据应用层程序(Data-Tier Application Component, DAC)是SQL Sever 2008 R2的一大功能亮点,结合使用Visual Studio 2010,可以帮助开发人员和数据库管理员比以前更加有效的开发、部署、管理应用程序的数据层。
数据库应用层程序(DAC)是一个包含了几乎某一应用所需要的数据库及实例对象的实体,如表、视图、存储过程、登录等等。有了实体以后,开发人员或数据库管理员就可以把DAC打包成为一个单一实体,这个单一实体就是DAC包。 DBA可以把DAC包部署到SQL Server上,数据库管理员就可以把原本独立的对象视为一个数据库应用层的程序来进行部署、监控和管理。
DAC既为开发人员提供了新的数据库开发工具,又为DBA提供了数据层管理工具,开发人员开发出DAC应用后,通过VS2010 IDE的编译,打包成DAC包(其扩展名是.dacpac)并提供给数据库管理员,DBA通过SSMS把DAC包部署到SQL Server数据库上。DAC应用开发、部署、管理的整个过程如图1所示:
图1 DAC开发和生产过程
对DAC有了大概了解后,接下来我们以一个完整的实例结合VS 2010来介绍DAC应用程序的开发和部署过程。
这里我们分成三个部分:DAC开发环境、创建DAC应用、部署DAC应用。
1.DAC开发环境
在VS 2010 和SQL Server 2008 R2(包括SQL Server 2008)之前,我们是不能单独在Visual Studio或者SQL Server里创建DAC的,以VS 2008+SQL Server2008开发环境为例,在此环境下可以创建的数据库项目如图2所示:
图2 VS 2008数据库项目模板
而数据应用层支持的SQL Server版本如表1所示:
在DAC中,不是所有的SQL Server对象都支持, 能够支持的数据库对象如表2所示:
表2 DAC支持的SQL Server对象应用&实践
使用AdventureWorks创建DAC包
为了验证SQL Server 2008 R2中DAC对SQL Server对象的支持,我们以SQL Server 2008 R2的实例数据AdventureWorks为例来演示。
对已经存在的数据库SQL Server 2008 R2可以使用向导来创建数据层应用程序,使用向导页面,可以设置DAC属性,查看对象依赖项和验证结果和生成DAC包。
(1)打开Microsoft SQL Server Management Studio,右击AdventureWorks,选择任务|提取数据层应用程序(X)…
(2)在弹出的页面中可以看到DAC简介,点击“下一步”,设置DAC属性,这里可以设置的属性有:应用程序名称、版本号、说明、保存的DAC包文件
(3)设置完成后点击下一步,查看对象依赖项和验证,验证结果如图3所示:
图3 AdventureWorks库验证结果