在项目的开发中,备份是一个很重要的操作和良好的开发习惯,下面我们就针对BI相关项目的备份说一下备份策略

前端:Cognos

后端:SSIS+View+Procedure

服务器A装了Cognos内容库,Cognos 相关组件

服务器B部署了DW和ETL

下面我们就来说一说备份步骤

1:备份Cognos相关内容

Cognos内容库+cognos模型文件(FM/TR)

Cognos用户认证

2:备份DW相关内容

ODS库+DW库+SSIS工程文件

----------------------------------------------可能用到的相关技术1---------------------------------------------------------------------------------------

备份SQLSERVER数据库的存储过程脚本

USE [Cognos_Logn]
GO /****** Object: StoredProcedure [dbo].[BackupDatabase] Script Date: 08/13/2015 15:47:21 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO CREATE PROCEDURE [dbo].[BackupDatabase]
as
DECLARE @FullPath varchar()
DECLARE @FolderPath varchar()
set @FolderPath='E:\cognos_backup\'
set @FullPath = @FolderPath+ 'Cognos_Logn_'+replace(CONVERT(char(),GETDATE(),),'-','')+ '.bak'
backup database [Cognos_Logn] to disk=@FullPath WITH INIT
return GO

把需要备份的模型文件copy到指定目录的DOS命令,文件名按20150813的格式

@echo off
echo 备份开始...
echo 开始时间 %date% %time% >E:\cognos_backup\Model_%date:~,%%date:~,%%date:~,%.log
xcopy/e/h/r/y "D:\EWELL_BI\ewell_projects" "E:\cognos_backup\Model_%date:~0,4%%date:~5,2%%date:~8,2%\" >>E:\cognos_backup\Model_%date:~0,4%%date:~5,2%%date:~8,2%.log
echo 备份结束...
echo 结束时间 %date% %time% >>E:\cognos_backup\Model_%date:~,%%date:~,%%date:~,%.log

----------------------------------------------可能用到的相关技术1---------------------------------------------------------------------------------------

有了上面的代码再加上SQLServer的代理服务以及window的任务计划。我们1和2的备份都可以实现在A和B上面分别把Cognos相关备份的数据库文件每天备份到A服务器的E:\cognos_backup,以及把DW相关的ETL程序和数据

仓库备份到B服务器的E:\dw_backup下面

截止目前我们已经完成了在serverA和serverB上面的本地不同目录备份,增加了开发过程的安全性,那么这样的话还是不安全的,如果A和B有一台挂掉,或者硬盘不可恢复

的话,还是会给项目带来很大的麻烦,接下来我们就要实现在ServerA和ServerB上面实现对对应用服务器和数据服务器的相互备份

效果:即ServerA上面有cognos_backup+dw_backup ,ServerB上面也有cognos_backup+dw_backup

so,go!

经过上面的操作,我们已经实现了ServerA上面有cognos_backup,ServerB上面有dw_backup的效果

接下来我们要做的就是

1:每天定时把ServerB上面的dw_backup复制到ServerA上面

2:每天定时把ServerA上面的cognos_backup复制到ServerB上面

那么接下来我们就需要window 定时远程复制的脚本

----------------------------------------------可能用到的相关技术2---------------------------------------------------------------------------------------

echo 注册远程会话开始时间 %date% %time% >E:\bi_backup\dw_backup.log
net use \\serverB\dw_backup /user:"admin" "" >>E:\bi_backup\dw_backup.log
echo 注册远程会话结束时间 %date% %time% >>E:\bi_backup\dw_backup.log
echo 复制开始时间 %date% %time% >>E:\bi_backup\dw_backup.log
xcopy /e /y \\serverB\dw_backup\* E:\bi_backup\dw_backup >>E:\bi_backup\dw_backup.log
echo 复制结束时间 %date% %time% >>E:\bi_backup\dw_backup.log
net use * /del /y >>E:\bi_backup\dw_backup.log
echo 注销远程会话 %date% %time% >>E:\bi_backup\dw_backup.log

代码解释1:

net use \\serverB\dw_backup /user:"admin" "123"
上面的命令是注册远程会话信息到服务器所分享的目录,需要注意的是

代码解释2:

echo 注册远程会话开始时间 %date% %time% >E:\bi_backup\dw_backup.log

上面的命令是把执行时间相关信息输出到指定日志文件中,需要注意的是>是代表覆盖原来文件的内容.>>是在原来文件中追加内容

由于上面的命令是文件中的第一个写入操作所以这里是覆盖,后面的写入为追加>>

代码解释3:

xcopy /e  /y \\serverB\dw_backup\* E:\bi_backup\dw_backup >>E:\bi_backup\dw_backup.log

上面的命令是复制serverB上目录dw_backup下面的所有内容到本地的E:\bi_backup\dw_backup目录下

/e是复制所有目录和子目录,包括空目录的内容

/y是默认覆盖,如果存在相同的文件或者文件夹

具体可参考

代码解释4:

net use * /del /y

上面的命令是注销远程会话信息,需要注意的是这一步骤是不可缺少的,如果我们执行了上面的命令,不注销远程会话信息,那么就会对远程服务造成安全隐患

/y 是每次都默认注销,如果不设置此参数,DOS窗口会提示我们手工选择是否确认注销会话信息

----------------------------------------------可能用到的相关技术2---------------------------------------------------------------------------------------

经过上面的操作,加上window系统的任务计划,我们就可以实现serverA 和 serverB互相备份,以达到ServerA上面有cognos_backup+dw_backup ,ServerB上面也有cognos_backup+dw_backup 的效果

我们看serverA 上面cognos的相关备份

dw的相关备份

BI项目简单备份策略的更多相关文章

  1. 《BI项目笔记》增量ETL数据抽取的策略及方法

    增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据.在ETL使用过程中.增量抽取较全量抽取应用更广.如何捕获变化的数据是增量抽取的关键.对捕获方法一般有两点要求:准确性,能够将 ...

  2. 一个成功的BI项目实施需要注意哪些?

    BI是所有IT系统中最适合于管理层和决策层使用的信息系统. ERP等各类信息系统中的数据,只有通过BI才能将隐藏在数据中的信息挖掘出来.转化为事实. BI的实施也需要依据企业情况进行“定制”.如何实施 ...

  3. BI项目记笔记索引

    这个笔记系列主要记录了在BI项目中,如何搭建环境进行源代码管理以及文档管理. 用到的产品包括: TFS Express Sharepoint Visual Studio SQL Server   配置 ...

  4. 记录一则RMAN备份策略修正案例

    背景:在给某客户处理问题时,发现客户数据库的备份空间即将用尽,进一步查看发现是用户数据库的当前RMAN备份策略存在潜在问题,需要修改备份策略. 环境:SunOS 5.10 + Oracle 11.2. ...

  5. [BI项目记]-搭建代码管理环境之签入代码

    此篇主要介绍如何基于TFS环境创建进行BI项目最简单的代码签入和签出工作. 首先介绍BI项目中的SSAS项目.SSAS项目主要包含Cube多维数据集和数据挖掘模型,是在微软BI产品体系中重要的一个组件 ...

  6. 《BI项目笔记》——微软BI项目笔记连载

    本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块:  准备工作: <BI项目笔记>基于雪 ...

  7. Oracle备份及备份策略

    第二章. 了解备份的重要性 可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片.主板电路.内 ...

  8. Oracle RMAN备份策略

    建立增量备份:如果数据库运行于不归档模式下,只能在数据库干净关闭的情况下 ( 以 normal .immediate . transactional 方式关闭 ) 才能进行一致性的增量备份,如果数据库 ...

  9. SVN服务器几种备份策略---重点svnsync备份---OK

    配置管理的一个重要使命是保证数据的安全性,防止服务器应硬盘损坏.误操作造成数据无法恢复的灾难性后果.因此制定一个完整的备份策略非常重要. 一般来说,备份策略应规定如下几部分内容:备份频度.备份方式.备 ...

随机推荐

  1. EOJ 3247 铁路修复计划

    二分,最小生成树. 二分一下$k$,然后每次算最小生成树验证即可,事实证明,$cmp$函数,参数用引用还是能提高效率的,不引用一直$TLE$,时限有点卡常. 然后错误的代码好像$AC$了啊,$L$和$ ...

  2. Python并发编程-生产消费模型

    生产消费模型初步 #产生两个子进程,Queue可以在子进程之间传递消息 from multiprocessing import Queue,Process import random import t ...

  3. react篇章-React 组件-向组件传递参数

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  4. PHP设置会话(Session)超时过期时间实现登录时间限制[转]

    用户登录系统60分钟后如果没有操作就自动退出 第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也 ...

  5. Sheldon Numbers GYM -- 枚举

    Sheldon Numbers GYM 题意:定义Sheldon Number为其二进制数是ABA……ABA型的或者ABAB……AB的,其中A全为1,B全为0(A>0, B>0),问[m, ...

  6. Circular dependencies cannot exist in RelativeLayout

    循环布局错误!!! <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  7. PHP 笔记——基础

    一.PHP 简介 1. PHP是什么 PHP:Hypertext Preprocessor,即超文本预处理器. PHP是一种跨平台.服务器端.可嵌入HTML文件的脚本语言. 嵌入了PHP代码的HTML ...

  8. 2015 百度之星 1004 KPI STL的妙用

    KPI Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acdream.info/problem?pid=1754 Description 你 ...

  9. hihocoder155周 任务分配

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定 N 项任务的起至时间( S1, E1 ), ( S2, E2 ), ..., ( SN, EN ), 计算最少需要多 ...

  10. KD100遥控生成仪

    KD100是KEYDIY公司开发的一个强大的车用/民用遥控器生成工具,所生成的遥控器都具备不重码,质量稳定的特点. 通过采用英飞凌和NXP等公司开发的超级芯片,KD100巧妙的解决了各类型遥控器的兼容 ...