图 6 添加数据表
(作者:佚名 来源:赛迪网)
原文标题:SQL Server 2008 R2 DAC 包的创建
链接:http://www.searchdatabase.com.cn/showcontent_34163.htm
Page 45 of 82
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
SQL Server 2008 R2 DAC 部署
输入 Users,点击“Add”,创建 Users.Table.Sql,重复步骤 1,添加
Products.Table.Sql,输入创建用户表(Users)和产品表(Products)的脚本,完成后可以在 Schema Objects|Schemas|tables 下增加了两个文件 Users.Table.Sql 和 Products.Table.Sql,这样我们创建表的工作已经完成了。
我们可以直接写 SQL 脚本来创建数据表,不仅如此,在 DAC 项目中,还可以创建的内 容有:
在项目属性里设置项目版本、默认 Schema、
数据层应用属性,如 DAC 的名称、版本、描述
Schema 对象,如 Assembly、Trigger、安全、服务、存储、表、视图、函数
所有数据库引擎实例级别的对象,例如错误信息、连接的服务器
其他辅助文档和一些脚本,如部署前准备脚本及部署后清理脚本等等
(2)创建表完成后,需要设置项目的属性,右击解决方案“SqlDacDemo”,选择属性, 弹出的属性页里选择项目设置,如图 7 所示:
TT 数据库技术专题之“SQL Server 2008 R2 中文教程” Page 46 of 82
图 7 项目属性设置
如图 7 所示,在项目属性页里,可以项目版本、数据模型、默认的 Schema,数据层应 用属性,这里的重点是数据层应用属性,其可设置属性有名称、版本号、描述。
选择 Build 页,设置数据集合、编译输出文件路径、编译输出文件名称,设置完成后, 点击保存。
(3)编译工程文件,选择菜单 Build| Build Solution,可以看到:
SqlDacDemo -> E:\\Demo\\SqlDacDemo\\SqlDacDemo\\sql\\debug\\SqlDacDemo.dacpac
Build: 1 succeeded or up-to-date, 0 failed, 0 skipped
这说明我们的编译已经成功,右击我的电脑|打开->
E:\\Demo\\SqlDacDemo\\SqlDacDemo\\sql\\debug\\,看到打好的 DAC 包文件 SqlDacDemo.dacpac。
3.部署 DAC 应用
创建 DAC 包成功后,需要把 DAC 包部署到数据库服务器上去,如果是开发人员测试部 署,可以使用 VS 2010 自带的部署 DAC 包的功能,如果是 DBA 部署,可以使用 SSMS 来部 署 DAC 包。
案例&应用
Page 47 of 82
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
在 VS 2010 中部署 DAC 包 SqlDacDemo.dacpac
在步骤 2 中,我们创建并打包好了 DAC 包文件 SqlDacDemo.dacpac,接下来就要把这 个包部署到数据库服务器上去,可以使用 VS 2010 来部署 DAC 包,也可以使用 SSMS 来部 署 DAC 包。首先我们演示使用 VS 2010 来部署 DAC 包。
(2)解决部署错误
(1) 可以选择菜单 Build | Deploy SqlDacDemo 部署,也可以右击解决方案名称 “SqlDacDemo”,选择 Deploy 部署,部署结果如下:
图 8 部署 DAC 包
由图 8 我们可以看到失败的原因是没有连接到数据库,解决方法如下:右击解决方案 SqlDacDemo,选择属性,打开项目属性设置,选择部署(Deploy)页,设置要连接的数据和 数据库实例名称,本例中设置为 SqlDacDemo,保存后再次部署,我们可以看到编译器输出 如下代码:
Post-Deploy: Finished script execution.
Build: 1 succeeded or up-to-date, 0 failed, 0 skipped
Deploy: 1 succeeded, 0 failed, 0 skipped
VS 2010 已经提示我们部署成功,使用 SSMS 打开数据库,我们可以清楚的看到 SQL Server 已经添加了数据库 SqlDacDemo。
除了使用 VS 2010 来部署 DAC 包,我们也可以使用 SQL Server 2008 R2 所带的实用 工具管理器来部署 DAC 包。实用工具管理器部署 DAC 包主要实现两个主要步骤:创建并连 接 UCP、使用部署向导部署 DAC 包。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程” Page 48 of 82