利用DAC(Data-tier Application)实现数据库结构迁移
来源:互联网 发布:网络投诉电话 编辑:程序博客网 时间:2024/05/16 11:44
从一个存在的库,抽取其表结构,对象,权限等,再部署成一个不包含数据的”空库“的方法有很多种。如自带的Generate Scripts功能,自定义脚本提取创建脚本等。
在实际使用中,我更喜欢使用DAC的方式。特别是它能跟PowerShell结合使用。
什么是DAC,它能干什么?
%26nbsp;%26nbsp;%26nbsp;%26nbsp;%26nbsp; 数据层应用程序 (DAC) 可以简化支持客户端-服务器或多层应用程序的数据层元素的开发、部署和管理。每个 DAC 都作为单个管理单元运行,贯穿于关联应用程序的开发、测试和生产生命周期。DAC 定义支持应用程序所需的所有数据库对象(如表和视图)以及与数据库关联的实例对象(例如登录名)。DAC 还包括用于定义 DAC 的部署先决条件的策略。%26nbsp;%26nbsp;%26nbsp;%26nbsp;%26nbsp;%26nbsp;
它能实现的功能很,官方说明:数据层应用程序
%26nbsp;
下面简单介绍一下利用DAC迁移数据结构的步骤:
1. 创建测试库和登录。然后提取库为DAC包,这个过程有向导,很简单,基本一路Next。
use mastergocreate database DAC_Testgocreate login DAC_User with password='P@ssword123'gouse DAC_Testgoselect * into tb1 from sys.objectsselect * into tb2 from sys.objectsgocreate user DAC_User for login DAC_Userexec sp_addrolemember 'db_owner','DAC_User'go
2. Application name需要注意,后面会用到。
3. 提取DAC并不是所有对象都受支持,支持类型限制在BOL中有说明。我曾经就遇到过数据库有Synonyms不能提取,只能先删除之,再提取。
%26nbsp;%26nbsp;%26nbsp; 然后一路Next,得到一个生成的DAC包。
4. 在目标实例上创建一个空库,不一定要同名。首先将这个库注册成DAC。
5. 注册的Application name要与2.中的一致。
6. 注册成功后, 在Management—%26gt;Data-tier Application会看到此DAC。
7. 将前面生成DAC包,拷到一个目标实例上能访问的位置。然后使用Upgrade Data-tier Application将这个包导入。一路Next.
8. 完成后,源库中的各种对象都有了。有一点要注意,目标实例被导入的Login是被禁用的,并且在目标库上对应User的Role,并不是原来的db_owner,而是public。
需要使用则要手动设定之。
%26nbsp;
总结
1. DAC是很强大的一个工具,还有很多功能。
2. SQL Server要是能提供Backup Database ….WITH NO_DATA,也就不会有这么多事了。
- 利用DAC(Data-tier Application)实现数据库结构迁移
- 利用DAC(Data-tier Application)实现数据库结构迁移
- 利用DAC(Data-tier Application)实现数据库结构迁移
- 利用DAC(Data-tier Application)实现数据库结构迁移
- muliti tier application
- 3-tier Application csdn
- WP01 – 为什么实现Multi-Tier, 为什么使用 Data Abstract?
- WP01 – 为什么实现Multi-Tier, 为什么使用 Data Abstract?
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'包解决方法
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'包
- vs2010未能正确加载vsts for database professional sql server data-tier application这个错误
- 未能正确加载“VSTS for Database Professionals Sql Server Data-tier Application”包。
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'
- WIN8安装VS2010'VSTS for Database Professionals Sql Server Data-tier Application‘ didn't load correctly
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'
- vs2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'包
- 两法解决:'未能正确加载VSTS for Database Professionals Sql Server Data-tier Application
- SQL递归查询(with cte as)
- 2015小米校园招聘笔试题
- easyui分页问题
- 矩阵连乘
- vs2008下用MFC读写excel文件
- 利用DAC(Data-tier Application)实现数据库结构迁移
- tomcat Context 不起作用
- Android 下音频播放<一> MediaPlayer
- RobotFramework+Selenium2Library环境安装
- 多线程服务器的常用编程模型
- 虚拟机中实现Ubuntu上网功能
- docker;创建/分享镜像
- leetcode-Longest Valid Parentheses
- android开发,R,java文件丢失如何找回