`
canofy
  • 浏览: 829741 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

数据库还原(ms sql server)

阅读更多
@ECHO off

ECHO database bakup start!

REM Backup Database Script Log Files
SET dbbak_source_dir=d:\cnad_online\
SET dbbak_source_dir2=d:\cnad_online
SET target_dir=d:\
SET database_dir=e:\database\
if not exist %dbbak_source_dir% mkdir %dbbak_source_dir%

REM Backup Database Name
SET Database_Name=cnad
SET Date_Today=%date:~0,4%%date:~5,2%%date:~8,2%


cd %dbbak_source_dir2%

ECHO download file
REM 下载文件
REM echo wget -c http://ip地址/log/%Database_Name%_%Date_Today%.rar

if not exist %Database_Name%_%Date_Today%.rar wget -c http://218.30.126.163/log/%Database_Name%_%Date_Today%.rar

REM 解压缩文件
rar x -y  %dbbak_source_dir%%Database_Name%_%Date_Today%.rar %target_dir%


ECHO restore start!
REM 删除数据库
ECHO use master >%dbbak_source_dir%restore_%Date_Today%.sql
ECHO go >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO drop database %Database_Name%>>%dbbak_source_dir%restore_%Date_Today%.sql

REM 还原数据库
ECHO use master >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO go >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO restore database %Database_Name% >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO FROM DISK = '%dbbak_source_dir%%Database_Name%_%Date_Today%.bak' >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO WITH NORECOVERY,>>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO MOVE 'cnad' TO '%database_dir%cnad.mdf',>>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO MOVE 'cnad_log' TO '%database_dir%cnad_log.ldf';>>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO go >>%dbbak_source_dir%restore_%Date_Today%.sql
REM 使用末move参数是因为现在的服务器上数据库的路径为g盘,因此需要移动到备份机器存放数据库的盘上

REM 还原数据库
ECHO use master >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO go >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO restore database %Database_Name% >>%dbbak_source_dir%restore_%Date_Today%.sql
ECHO WITH RECOVERY;>>%dbbak_source_dir%restore_%Date_Today%.sql

REM osql.exe path
SET OSQL_PATH=C:\Program Files\Microsoft SQL Server\90\Tools\Binn\

REM Database user name and password
SET DBUser=***
SET DBpassword=***
ECHO RESTORE DATABASE 

REM ECHO RESTORE DATABASE
"%OSQL_PATH%osql.exe" -U %DBUser% -P %DBpassword% -i %dbbak_source_dir%restore_%Date_Today%.sql -o %dbbak_source_dir%%Database_Name%_%Date_Today%.log

ECHO restore complete!



REM 删除文件
ECHO del start!

REM DEL /Q %dbbak_source_dir%backup_%Date_Today%.sql
DEL /Q %dbbak_source_dir%%Database_Name%_%Date_Today%.log
DEL /Q %dbbak_source_dir%%Database_Name%_%Date_Today%.bak
DEL /Q %dbbak_source_dir%restore_%Date_Today%.sql
REM DEL /Q %dbbak_source_dir%%Database_Name%_%Date_Today%.log

REM 删除1天以前的数据 测试用,正式使用7天
REM FORFILES的目录必须不能以\结尾
FORFILES /P %dbbak_source_dir2% /D -1 -M %Database_Name%*.rar /C "cmd /c del @file"



REM 把信息都记录到日志里
ECHO Date_Today=%date:~0,4%%date:~5,2%%date:~8,2%>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
ECHO if not exist %Database_Name%_%Date_Today%.rar wget -c http://218.30.126.163/log/%Database_Name%_%Date_Today%.rar>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
ECHO rar x -y  %dbbak_source_dir%%Database_Name%_%Date_Today%.rar %target_dir%>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
ECHO "%OSQL_PATH%osql.exe" -U %DBUser% -P %DBpassword% -i %dbbak_source_dir%restore_%Date_Today%.sql -o %dbbak_source_dir%%Database_Name%_%Date_Today%.log>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
REM ECHO DEL /Q %dbbak_source_dir%backup_%Date_Today%.sql>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
ECHO DEL /Q %dbbak_source_dir%%Database_Name%_%Date_Today%.log>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
ECHO DEL /Q %dbbak_source_dir%%Database_Name%_%Date_Today%.bak>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
ECHO DEL /Q %dbbak_source_dir%restore_%Date_Today%.sql>>%dbbak_source_dir%%Database_Name%_%Date_Today%.log
ECHO FORFILES /P %dbbak_source_dir2% /D -1 -M %Database_Name%*.rar /C "cmd /c del @file">>%dbbak_source_dir%%Database_Name%_%Date_Today%.log




分享到:
评论

相关推荐

    只能还原ms sql 数据库

    标题中的“只能还原MS SQL数据库”表明这是一个专为恢复Microsoft SQL Server数据库而设计的应用程序。在IT领域,数据库是存储和管理数据的核心组件,而SQL Server是微软公司提供的一种关系型数据库管理系统,广泛...

    SQLServer数据库备份再还原之后登录名丢失解决方法

    ### SQL Server 数据库备份后登录名丢失问题及解决方法 #### 背景与问题概述 在进行SQL Server数据库的备份与恢复操作时,经常会出现一个棘手的问题:原本数据库中的登录名在恢复到另一台服务器后消失不见,导致...

    MS SQL SERVER 数据库技巧总结

    在IT行业中,MS SQL Server是微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。本篇文章将深入探讨一些MS SQL Server的关键数据库技巧,帮助你优化工作流程,提高效率。 一、查询优化 ...

    MS SQL SERVER2005 SP1镜像高可用性实施手册

    ### MS SQL SERVER2005 SP1镜像高可用性实施关键知识点 #### 一、镜像技术概览 **MS SQL Server 2005**的**镜像功能**是一项重要的高可用性和灾难恢复机制,它允许在主服务器与备用服务器之间同步数据,从而在主...

    基于SQLServer的数据库备份与还原

    ### 基于SQL Server的数据库备份与还原 #### 一、引言 在现代信息技术领域,数据库系统作为数据管理的核心部分,在企业运营和个人信息管理中扮演着至关重要的角色。然而,无论是硬件故障还是软件错误,都可能对...

    Acronis Recovery for MS SQL Server+SN

    Acronis Recovery for MS SQL Server 是一款专门针对微软SQL Server数据库管理系统设计的备份与恢复解决方案。这款工具旨在确保企业能够迅速、有效地恢复SQL Server数据库,从而保护关键业务数据免受意外损失,例如...

    教你轻松恢复修复SQL Server的MDF文件

    在SQL Server环境中,MDF文件(主数据文件)是构成数据库的重要组成部分之一。当MDF文件出现损坏或丢失时,可能会导致整个数据库无法正常运行。本文将详细介绍如何仅通过MDF文件来恢复数据库,并解决在恢复过程中...

    Sql Server数据库自动全备份的脚本(带7z压缩)

    在SQL Server数据库管理中,定期备份是确保数据安全的关键步骤。本话题主要涉及如何使用脚本实现自动全备份,并结合7-Zip进行压缩,以节省存储空间和提高备份效率。以下将详细介绍相关知识点: 1. **SQL Server ...

    sql server 还原工具

    这款工具的主要功能是针对Microsoft SQL Server数据库管理系统(MS SQL Server)的核心文件,即主数据文件(mdf)和事务日志文件(ldf),提供高效且便捷的还原操作。同时,它也支持直接从备份文件进行恢复,这对于...

    MS SQL 数据库备份和还原的几种方法

    本篇文章将详细介绍在MS SQL中如何进行数据库的备份和还原,以便于在数据丢失或系统故障时能迅速恢复。 一、通过企业管理器进行单个数据库备份 这是最基础的备份方式,适合于偶尔需要备份的情况。首先,打开SQL ...

    Programming MS SQL Server 2008

    《编程Microsoft SQL Server 2008》是针对微软数据库管理系统SQL Server 2008的一本详尽指南。SQL Server 2008作为一款强大的企业级数据库平台,提供了丰富的功能,包括数据存储、查询优化、安全性管理、数据集成等...

    MS SQLSERVER 常用知识,方法

    在IT行业中,数据库管理系统(DBMS)是至关重要的组成部分,特别是Microsoft SQL Server(MS SQL Server)作为企业级的关系型数据库系统,广泛应用于数据存储、分析和处理。本篇将深入探讨MS SQL Server的一些常用...

    ms sql server检测修复工具

    1. 下载并安装提供的`SQLSERVER数据库检测修复工具_cr.exe`文件。 2. 运行工具,连接到出现问题的SQL Server实例。 3. 执行全面的数据库扫描,识别潜在问题。 4. 查看工具报告,了解数据库的健康状况和存在的问题。 ...

    PB中对MS SQL SERVER数据库进行联接,创建、备份、恢复数据库,创建ODBC数据源

    此外,PB支持SQLAnywhere、Oracle、DB2等多种数据库,但这里我们关注的是与MS SQL Server的连接。确保选择正确的驱动程序,如SQL Native Client或ODBC驱动,以便正确通信。 接下来是**创建数据库**。在PB中,你可以...

    MS-sql数据库密码忘了还原数据库命令

    在IT行业中,MS-SQL Server作为一款广泛使用的数据库管理系统,其安全性与数据完整性至关重要。然而,在实际操作过程中,用户可能会遇到忘记数据库管理员密码的情况,这无疑会给数据库的管理和维护带来不便。本文将...

    ORACLE中BLOB字段导入到SQL SERVER中的IMAGE字段

    本篇文章将详细探讨如何将ORACLE数据库中的BLOB(Binary Large Object)字段导入到SQL SERVER中的IMAGE字段,这通常涉及到数据转换、数据迁移以及可能的数据类型兼容性问题。 首先,让我们了解BLOB和IMAGE字段的...

    SQL Server 2000 日志浏览器

    4. **日志备份与还原**:SQL Server支持完整备份、差异备份和日志备份。日志备份仅备份事务日志,可以实现更细粒度的恢复策略,比如点-in-time恢复。 5. **日志截断**:为了避免日志文件无限增长,管理员需要定期...

    MS SQL2000 数据库附加/备份/还原工具

    本篇文章将详细介绍如何使用SQL Server 2000进行数据库的附加、备份和还原操作,这些都是数据库管理员日常工作中不可或缺的部分。 首先,我们来讨论数据库的“附加”操作。当一个数据库文件(MDF)和日志文件(LDF...

    MS+SQL+SERVER+数据库技巧总绍

    MS SQL Server数据库技巧总绍与T-SQL主要语句详解 在IT领域,数据库管理是至关重要的,尤其在企业级应用中,Microsoft SQL Server(MS SQL Server)作为一款广泛使用的数据库管理系统,其强大的功能和高效的性能...

    MS SQL Server 2008 服务器配置

    ### MS SQL Server 2008 服务器配置详解 #### 一、说明 本文旨在深入探讨与性能相关的SQL Server配置(基于SQL Server 2008)设置,并介绍如何使用SQL Server Management Studio或系统过程`sp_configure`来调整...

Global site tag (gtag.js) - Google Analytics