--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. 【Selenium专题】 FAQ_对象识别_Compound class names are not supported

    测试代码 public void login(){ WebDriver driver = new ChromeDriver(); driver.get("http://IP:Port/cli ...

  2. 极大似然估计MLE 极大后验概率估计MAP

    https://www.cnblogs.com/sylvanas2012/p/5058065.html 写的贼好 http://www.cnblogs.com/washa/p/3222109.html ...

  3. sizeWithFont:的替代方法

    sizeWithFont:的替代方法 -(CGFloat)changeStationWidth:(NSString *)string{ UIFont * textFont = [UIFont syst ...

  4. Windows下Anaconda安装 python + tensorflow GPU版

    这里首先确认没有安装CPU版本,并默认已经安装了CUDA和Cudnn以及anaconda. 安装gpu版本的tensorflow 接下来需要安装GPU版本的tensorflow: 打开cmd并输入: ...

  5. selenium(python)登录时账号密码错误提示语

    selenium(python)登录时账号密码错误提示语的获取 可以用text

  6. 【笔记】Django的视图

    [笔记]Django的视图 Python Django  Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应 ...

  7. 知了课堂 Python Flask零基础 笔记整理

    目录 起步 安装Python2.7: Python虚拟环境介绍与安装: pip安装flask: 认识url: URL详解 web服务器和应用服务器以及web应用框架: Flask 第一个flask程序 ...

  8. golang (2) package

    综述 golang package是基本的管理单元,package是golang最基本的分发单位和工程管理中依赖关系的体现. 每个golang源代码文件开头都拥有一个package声明,表示该gola ...

  9. 【Python】子域名查询脚本

    脚本学习,多写写就会啦,来一发个人编写的超级无敌low的子域名查询脚本 #coding:utf-8 import re import requests import urllib import url ...

  10. makedown学习笔记(以后可能会用makedown写博客)

    学习手册 https://www.zybuluo.com/mdeditor?url=https%3A%2F%2Fwww.zybuluo.com%2Fstatic%2Feditor%2Fmd-help. ...