--MSSqlServer数据库降级及数据转移
--MS SQL SERVER高版本数据库(Database_A)恢复数据到低版本数据库(Database_B)中
--1、数据库结构对象(包含表、视图、函数、存储过程等)导出:高版本MS SQL SERVER中,Database_A -- 任务 -- 生成脚本 -- 执行 -- 保存为 DBObject_Create.sql;
--2、修改DBObject_Create.sql中数据库名称(避免重名,用查找替换方式)、数据文件保存路径(按Database_B的路径);
--3、低版本MS SQL SERVER中,执行DBObject_Create.sql,创建与Database_A数据库相同的表、视图、存储过程、函数等对象;
--4、将Database_B中表的外键置为“不检查约束”:

SET XACT_ABORT ON
BEGIN TRAN
DECLARE @SQL VARCHAR(99)
DECLARE CUR_FK CURSOR LOCAL FOR
SELECT 'ALTER TABLE '+ OBJECT_NAME(FKEYID) + ' NOCHECK CONSTRAINT ALL ' FROM SYSREFERENCES
OPEN CUR_FK
FETCH CUR_FK INTO @SQL
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC(@SQL)
FETCH CUR_FK INTO @SQL
END
CLOSE CUR_FK
DEALLOCATE CUR_FK;
--执行完毕后关闭窗口,提示提交数据

--5、禁用Database_B中表的触发器:

SET XACT_ABORT ON
BEGIN TRAN
DECLARE @SQL VARCHAR(99)
DECLARE CUR_TRI CURSOR LOCAL FOR
SELECT 'ALTER TABLE '+ OBJECT_NAME(FKEYID) + ' DISABLE TRIGGER ALL ' FROM SYSREFERENCES
OPEN CUR_TRI
FETCH CUR_TRI INTO @SQL
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC(@SQL)
FETCH CUR_TRI INTO @SQL
END
CLOSE CUR_TRI
DEALLOCATE CUR_TRI;
--执行完毕后关闭窗口,提示提交数据

--6、数据导入:低版本MS SQL SERVER中,Database_B -- 任务 -- 导入数据 -- 源数据库(Database_A)-- 目标数据库(Database_B)-- 执行;
--或者在高版本数据库上执行:导出数据
--导入对象中不要选择视图(系统会提示视图对象已存在)

--7、将Database_B中表的外键置为“检查约束”:

SET XACT_ABORT ON
BEGIN TRAN
DECLARE @SQL VARCHAR(99)
DECLARE CUR_FK CURSOR LOCAL FOR
SELECT 'ALTER TABLE '+ OBJECT_NAME(FKEYID) + ' CHECK CONSTRAINT ALL ' FROM SYSREFERENCES
OPEN CUR_FK
FETCH CUR_FK INTO @SQL
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC(@SQL)
FETCH CUR_FK INTO @SQL
END
CLOSE CUR_FK
DEALLOCATE CUR_FK;
--执行完毕后关闭窗口,提示提交数据

--8、启用Database_B中表的触发器:

SET XACT_ABORT ON
BEGIN TRAN
DECLARE @SQL VARCHAR(99)
DECLARE CUR_TRI CURSOR LOCAL FOR
SELECT 'ALTER TABLE '+ OBJECT_NAME(FKEYID) + ' ENABLE TRIGGER ALL ' FROM SYSREFERENCES
OPEN CUR_TRI
FETCH CUR_TRI INTO @SQL
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC(@SQL)
FETCH CUR_TRI INTO @SQL
END
CLOSE CUR_TRI
DEALLOCATE CUR_TRI;
--执行完毕后关闭窗口,提示提交数据

--9、数据库比较:Database_A Vs Database_B

转自:上海-戴优辰

MSSqlServer 数据库降级及数据转移的更多相关文章

  1. sql server 2008 把远程的数据库的数据转移到本地数据数据库里

    如题:把远程的数据库对应表里的数据转移到本地数据数据库的对应表里 比如把192.168.188.160的DB的A表的数据转移到本地的DB的A表里 第一步:连接远程服务器前准备 exec sp_addl ...

  2. sqlite升级--浅谈Android数据库版本升级及数据的迁移

    Android开发涉及到的数据库采用的是轻量级的SQLite3,而在实际开发中,在存储一些简单的数据,使用SharedPreferences就足够了,只有在存储数据结构稍微复杂的时候,才会使用数据库来 ...

  3. 云服务器 ECS Linux 系统盘数据转移方法

    转自:https://help.aliyun.com/knowledge_detail/41400.html 问题描述 购买云服务器 ECS Linux 服务器时,未购买数据盘,使用一段时间后,随着业 ...

  4. sql server2008数据库复制实现数据同步常见问题

    sql server2008数据库复制实现数据同步常见问题 在原作者基础上追加 sql server2008数据库复制实现数据同步常见问题 23.发布 'xx' 的并发快照不可用,因为该快照尚未完全生 ...

  5. MySQL数据转移至SQL Server详解

    最近有个活是mysql数据转移到sql server 2012,直接手动转工作量太大,发现网上有工具教程,则记录一下. 一.安装MySQL ODBC驱动为MySQL安装Connector/ODBC驱动 ...

  6. SQLServer2012数据库降级至SQLServer2008R2的方法

      一.  背景 因为对方的客户的服务器安装的数据版本2012,公司开发同事需要客户数据库的备份数据,但是公司数据版本是2008R2的,无法还原. 由于2012备份无法直接还原至2008R2(MSSQ ...

  7. 轻松快速实现MySql数据向SQLServer数据转移

    转移数据的方式其实园子里各位亲友已经写过不少了,这里挑一种常用的ODBC数据转移,主要是把每个步骤尽可能完善讲到,下次直接按文章从头到尾看一遍,可以在最短时间完成数据转移. 这里用到的工具有MYSQL ...

  8. finedb(内置的HSQL数据库)迁移数据到MySQL

    finedb(内置的HSQL数据库)迁移数据到MySQL 1. 前言 在FineBI中,决策平台的数据(用户.角色.组织机构.权限等信息)是存储在finedb数据库中的,默认情况下finedb是一个内 ...

  9. sql server 数据库复制实现数据同步常见问题(不定期更新)

    sql server2008数据库复制实现数据同步常见问题 在原作者基础上追加 sql server2008数据库复制实现数据同步常见问题 23.发布 'xx' 的并发快照不可用,因为该快照尚未完全生 ...

随机推荐

  1. [HNOI2004]宠物收养所

    题目链接:戳我 其实也就是一个splay而已了. 但是一定要注意这种需要计算的,刚开始insert的时候插入极大值极小值的时候不要让它爆掉int.......(比如我刚开始就写了一个214748364 ...

  2. 691. Stickers to Spell Word

    We are given N different types of stickers. Each sticker has a lowercase English word on it. You wou ...

  3. 921. Minimum Add to Make Parentheses Valid

    Given a string S of '(' and ')' parentheses, we add the minimum number of parentheses ( '(' or ')', ...

  4. PHP程序执行流程

    1, PHP文件一定放在服务器的,但是PHP中不同的内容会在不同的地方执行.下图演示了浏览器请求一个php页面的流程. 2,时序图如下所示,在浏览器中输入url后,首先去本机hosts文件中解析ip地 ...

  5. ubuntu->错误

    1.dpkg *** locked 原因:安装某个包不成功, 可以使用命令 dpkg --configure -a 来重启中断的安装过程 如果屡次安装不成功放弃安装,则删除 lock 2.flashp ...

  6. Beautiful Soup解析网页

    使用前步骤: 1.Beautiful Soup目前已经被移植到bs4,所以导入Beautiful Soup时先安装bs4库. 2.安装lxml库:如果不使用此库,就会使用Python默认的解析器,而l ...

  7. 简述Dubbo

    目前处于实习期间,白天工作,网上自主学习.最近没事逛了一下当前招聘网上的招聘要求,其中dubbo这个关键字出现的比较多,因此花了点时间学习了一番,在这写写自己的理解. 说起Dubbo,得先聊聊RPC, ...

  8. Visual Studio 2019 激活码

    Visual Studio 2019 Enterprise BF8Y8-GN2QH-T84XB-QVY3B-RC4DF Visual Studio 2019 Professional NYWVH-HT ...

  9. 项目中git的使用

    通常一个项目的开发周期相对较长,为了便于对过程中的项目版本进行管理,以及方便多人合作进行开发,常需要使用到版本管理控制软件,本篇介绍常用的版本控制器git,记之共享. 一.git是什么?有何特点? 用 ...

  10. http-https php文件下载

    http: function httpDownload($url, $path = '', $filename = '', $timeout = 60,$type = 0) { if ($url == ...