http://www.cnblogs.com/yungboy/archive/2010/06/08/1753396.html

虽然Microsoft SQL Server 2008 R2只是一个中间版本,但是越来越多的DBA和Visual Studio .Net开发人员关注到它,其原因在于SQL Server 2008 R2提供了主数据服务、数据应用层程序、多服务器管理、PowerPivot for SharePoint 、Report Builder 3.0、StreamInsight等众多新功能。在新功能支持下,SQL Server 在数据管理上也有了全新认识,无论是数据的易管理性还是数据的可用性都得到了增强,其重点是数据应用层程序和数据库镜像,本文将从这两个方面进行介绍。

在数据应用层程序实例中,你可以看到数据层应用程序的整个生命周期,包括使用测试数据库DemoSqlServer来创建和部署数据层应用程序,DemoSqlServer是一个简单数据库,只是用来演示DAC,此数据库中有2个表,一个是Users表,存储用户信息,有一个是Products表,存储商品信息,通过这个实例让你学习到使用SQL Server 2008 R2管理数据库的新方法。

数据应用层程序(Data-Tier Application Component, DAC

数据库应用层程序是一个包含了几乎某一应用所需要的数据库及实例对象的实体,如表、视图、存储过程、登录等等。有了实体以后,原本独立的登陆、部署、维护就可以通过开发人员进行开发来整合成为一个统一的整体,这样DBA 就可以把原本独立的对象视为一个数据库应用层的程序来进行部署、监控和管理。在使用DAC 之前,开发人员会准备一堆的脚本、代码和应用,测试人员部署到测试环境上,然后测试人员和用户在这个测试实例上进行功能、业务、UAT等一系列的测试。当测试结束后,DBA就收集这些脚本、代码以及应用,并将它们部署到生产环境上。在部署到生产环境之前,DBA首先要确定部署到哪个生产环境的实例上,需不需要做订阅和镜像,如果这个应用是一个升级版本,DBA可能还需要和开发人员坐下来讨论一下详细的升级过程,哪些对象需要更新?怎么更新这些对象?历史数据如何处理?发布订阅是否需要重做?更新过程中怎么保证数据不受影响?

如果使用DAC,所有问题将简化,下面我们就一步一步来体验一下DAC。

步骤一:创建DAC

创建DAC 有两种方法,其一是对已经存在的数据使用SQL Server 2008 R2 自带的DAC向导来创建DAC;其二是使用Visual Studio 2010 来创建DAC,下面我们分别演示。

在这个演示中我们将使用已经创建好的数据库DemoSqlServer,选择Users和Products表,使用SQL Server 2008 R2创建DAC;创建完DAC包以后,使用SQL Server Management Studio工具打开数据库DemoSqlServer,并导出创建数据库表的脚本,保存为Create DemoSqlServer Table.sql,在使用Visual Studio 2010创建DAC项目时导入脚本,然后将项目打成DAC包(扩展名是.dacpac),就可以部署了。

 

使用SQL Server 2008 R2 创建DAC

使用SQL Server 2008 R2 创建DAC实际上是对已经存在的数据库执行提取数据层应用程序功能,主要包括三个步骤:

1)设置DAC属性,需要设置的属性有:应用程序名称、版本、说明、保存DAC包路径以及可选项是否覆盖现有文件。其界面如图1

 

1 DAC设置属性

2)检查对象依赖项和验证结果,在验证过程中将验证登陆、表、视图、存储过程等等,验证结果包括在前一个步骤里的DAC设置和DAC对象,包括DAC中支持的对象和DAC中不支持的对象,只有全部对象都支持DAC才能验证通过生成DAC包。

3)生成DAC包,创建在DAC设置步骤中所设置的DAC包,如图1所示,生成DAC包以后,可以在E:/SQL Server Management Studio/DAC Packages下找到文件DemoSqlServer.dacpac,其类型是Microsoft SQL Server Package File

如果我们对生成的DemoSqlServer.dacpac有更改,则可以重复步骤(1-3),重新生成DAC包,重新生成时可以保留原有的包,也可以以相同的文件名覆盖原有的包,但是在这里建议保留原有的包,同时以不同的文件名,不同的版本号来标识,这样做的好处是可以部署需要的版本,并能够回滚到稳定版本。

 

使用Visual Studio 2010 创建DAC

为了演示方便,我们首先使用SQL Server Management Studio工具打开数据库DemoSqlServer,并导出创建数据库表的脚本,保存为Create DemoSqlServer Table.sql。开发人员可以使用Visual Studio 2010中的数据库项目模板创建数据应用层程序,如图2所示:

 

2 VS2010 创建数据应用层程序

右击解决方案,在弹出的菜单里选择导入脚本,我们选择已经创建好的脚本文件Create DemoSqlServer Table.sql导入,其界面如图3所示:

 

3 VS2010导入脚本到DAC

在图3中,可以直接写SQL 脚本来创建数据表,不仅如此,在DAC项目中,还可以创建的内容有:

在项目属性里设置项目版本、默认Schema

数据层应用属性,如DAC的名称、版本、描述

Schema 对象,如AssemblyTrigger、安全、服务、存储、表、视图、函数

所有数据库引擎实例级别的对象,例如错误信息、连接的服务器

其他辅助文档和一些脚本,如部署前准备脚本及部署后清理脚本等等

创建完成DAC项目后,需要把DAC项目打成DAC包,在项目属性选项卡里设置项目属性,在编译选项卡设置编译输出路径和编译输出文件名,注意这里输出的文件就是DAC包,鉴于篇幅,有关创建DAC的详细步骤,感兴趣的读者可以参考:

http://technet.microsoft.com/zh-cn/library/ee633765(SQL.105).aspx

打包完成后,我们需要把打包好的文件部署到目标服务器上,步骤如下。

步骤二:部署DAC

创建完成DAC以后,我们接下来演示部署DAC,部署DAC主要有两个步骤:
         1)配置SQL Server 实体

打开查看|使用工具资源管理器,打开配置SQL Server实体的操作的界面如图4所示:

 

4 配置SQL Server 实体

在此界面下,创建并连接到UCP,完成后就可以部署DAC包了。

2)部署DAC

部署DAC也有两种方式,一种是通过SQL Server 2008 R2 来部署DAC包,这种部署适用于使用SQL Server创建的DAC包,也可以部署适用Visual Studio 2010编译好的DAC包;另一种方式是通过Visual Studio 2010来部署,这种部署方式适用于使用VS 2010创建的DAC项目。

使用SQL Server 自带工具部署DAC包的界面如图5所示:

 

5 部署DAC

点击“部署应用层程序”后,会弹出向导,根据向导就可以把DAC包部署到SQL Server 服务器上。使用VS部署DAC也相当简单,在选择菜单:编译|部署DAC包。

数据库镜像

通过增强数据库镜像功能,Microsoft SQL Server 2008 R2数据库的可用性得到改进,可以使用数据库镜像创建双机热备,下面的案例演示了使用微软实例数据库AdventureWorks创建数据镜像,其界面如图6所示:

 

6 创建数据库镜像

注意在创建镜像之前需要配置安全性,点击“配置安全性”,如果数据库没有使用使用完整恢复模式,在“选项”页设置。在安全配置向导里可以设置主题数据库实例、镜像数据库实例、见证服务器实例(可选)、服务账户。创建完成后,运行模式选择高性能,开始镜像。

创建数据镜像的八大前提条件和建议:

(1)伙伴双方(主体服务器和镜像服务器)及见证服务器必须使用相同版本的Sql Server

(2)如使用见证服务器,择须确保其系统上安装 Sql Server 2005或更高版本

(3)镜像数据库的路径(包括驱动器号)应该与主体数据库的路径相同。如果文件布局必须互不相同(例如,如果主体数据库位于“F:”驱动器上,但镜像系统没有“F:”驱动器),则必须在 RESTORE 语句中加入 MOVE 选项

(4)镜像会话中的所有服务器实例都应该使用相同的主代码页和排序规则。在镜像服务器上创建镜像数据库时,确保制定相同的数据库名称WITH NOREBOVORY来还原主题数据库备份。另外,还必须通过 WITH NORECOVERY 应用在该备份执行后创建的所有日志备份。如果数据库镜像已经停止,则必须将对主体数据库执行的所有后续日志备份应用到镜像数据库中,然后才可以重新启动镜像。

(5)跨数据库事务和分布式事务均不支持数据库镜像

(6)估计故障转移数据库的时间,以确保系统配置能提供您需要的性能。

(7) 在异步、高性能模式下开始运行

(8) 为获得最佳性能,请为镜像使用专用网络接口卡 (NIC)。等待启用自动故障转移,直到确信不带自动故障转移功能的高安全性模式满足您的业务需要并且网络错误不会导致故障。

总结语

数据层应用程序提供了全新的方法来管理数据库,不仅可以通过SQL Server 2008 R2来创建、配置和管理DAC,也可以通过Visual Studio 2010 来创建和部署DAC,有了DAC,相信DBA们会减少不少工作量,DBA的烦恼也会越来越少。

对单一数据可以通过数据层应用来管理,对数据库则可以通过向导式的创建镜像来备份数据库,提高了SQL Server数据库的可用性。

 

IT168专稿:http://tech.it168.com/a2010/0506/882/000000882879_all.shtml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值