当前位置: 首页 > news >正文

数据库备份通用脚本

1.创建一个新库;
2.从旧库中导出生成表,视图,存储过程;(GpsExpiredData,GpsReceRealTime两张表不还原)
3.在新创建库中输入创建脚本;
4.数据迁移;
(迁移时注意:GpsExpiredData,GpsReceRealTime,GpsReceRealTime_buff1,GpsReceRealTime_buff2,
GpsOutEquipmentHistory_buff,GpsOutEquipmentHistory,report_开头的;不要导出数据);

5.新数据库备份\分离\脱机----->copy

/****** 对象: StoredProcedure [dbo].[Proc_InsertData] 脚本日期: 12/13/2011 10:46:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE [dbo].[Proc_InsertData](
@tbname varchar(50) ----目标数据库
,@sourcetbname varchar(200)) ----源数据库
AS
BEGIN

declare @Str varchar(max) , @sql varchar(max)
SELECT @Str=REPLACE(REPLACE(
(SELECT c.name
FROM sys.columns c JOIN sys.objects o ON (c.object_id = o.object_id)
WHERE o.name=@tbname FOR XML PATH('')
),'<name>','['),'</name>','],')
set @Str= LEFT(@str,LEN(@str)-1) ---获取表字段字符串

declare @mark int
Select @mark=OBJECTPROPERTY(OBJECT_ID(@tbname),'TableHasIdentity') ---判断是否含有标志列
if @mark = 1
set @sql= --'TRUNCATE TABLE '+ @tbname
' SET IDENTITY_INSERT '+ @tbname + ' ON '
+' INSERT '+@tbname+'('+@Str+') SELECT '+@Str +' FROM '+ @sourcetbname
+' SET IDENTITY_INSERT '+ @tbname + ' OFF '
else
set @sql = --'TRUNCATE TABLE '+ @tbname
' INSERT '+@tbname+'('+@Str+') SELECT '+@Str +' FROM '+ @sourcetbname

print @sql
exec(@sql) ----执行插入数据操作
END
GO

-------------------------------------------------------------------------

/****** 对象: StoredProcedure [dbo].[Proc_ImportDataFromDB] 脚本日期: 12/13/2011 10:45:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--在目标数据库中执行
CREATE PROCEDURE [dbo].[Proc_ImportDataFromDB] @DBName VARCHAR(40) --源数据库名称
AS
BEGIN
DECLARE @tbname VARCHAR(40) ,@sql VARCHAR(max)

DECLARE t_cursor CURSOR FOR
SELECT name FROM sysobjects WHERE TYPE = 'U ' ORDER BY name

OPEN t_cursor

FETCH NEXT FROM t_cursor INTO @tbname

WHILE @@FETCH_STATUS=0
BEGIN
IF (@tbname NOT IN ('Elec_CurrentPosInfo'
,'')) -- 相关轨迹数据或临时数据表,不进行导入
BEGIN
SET @sql= ' PROC_InsertData '''+ @tbname + ''' , '''+@DBName+'.dbo.' + @tbname +''''
PRINT @sql
EXEC(@sql)
END
FETCH NEXT FROM t_cursor INTO @tbname
END

CLOSE t_cursor
DEALLOCATE t_cursor
END

-----------------------------

exec [Proc_ImportDataFromDB] '--DB'

 

转载于:https://www.cnblogs.com/daizhipeng/p/6143797.html

相关文章:

  • ehcache memcache redis 三大缓存
  • 二十六、Jcreator使用初步
  • 访问修饰符和构造函数
  • YUV Player
  • 盒子模型-怪异模式和标准模式
  • Android开发--Socket通信
  • P1382 光棍组织
  • 1.2 lambda 表达式的语法
  • Lint Code——最多共线的点的个数
  • 【bzoj1433】 ZJOI2009—假期的宿舍
  • 【干货分享】前端面试知识点锦集01(HTML篇)——附答案
  • Liunx面试题
  • 关于面试别问及Spring如何回答思路总结!
  • Js 根据身份证号获取年龄-性别
  • linux下正确安装jsoncpp
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • CAP理论的例子讲解
  • Docker下部署自己的LNMP工作环境
  • Java IO学习笔记一
  • Java 最常见的 200+ 面试题:面试必备
  • Java读取Properties文件的六种方法
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • js中的正则表达式入门
  • MQ框架的比较
  • rc-form之最单纯情况
  • React组件设计模式(一)
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • tweak 支持第三方库
  • vue总结
  • webgl (原生)基础入门指南【一】
  • 阿里研究院入选中国企业智库系统影响力榜
  • 从setTimeout-setInterval看JS线程
  • 线性表及其算法(java实现)
  • 智能网联汽车信息安全
  • gunicorn工作原理
  • #《AI中文版》V3 第 1 章 概述
  • #define 用法
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Framework .NET Core与 .NET 的区别
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET中统一的存储过程调用方法(收藏)
  • ::before和::after 常见的用法