返回顶部
首页 > 资讯 > 数据库 >MSSQL通用还原脚本
  • 512
分享到

MSSQL通用还原脚本

2024-04-02 19:04:59 512人浏览 独家记忆
摘要

MSsql还原脚本SQL Server通用还原脚本,只需修改第二步中,需要还原的数据库名称和路径执行完脚本后会生成对应的还原命令,直接新建查询后执行即可-- 2 - Initi

MSsql还原脚本

SQL Server通用还原脚本,只需修改第二步中,需要还原的数据库名称和路径

执行完脚本后会生成对应的还原命令,直接新建查询后执行即可

MSSQL通用还原脚本


-- 2 - Initialize variables 

SET @dbName = 'Customer' 

SET @backupPath = 'D:\SQLBackups\' 


脚本如下:


--open-- xp_cmdshell

sp_configure 'show advanced options',1

reconfigure

Go

sp_configure 'xp_cmdshell',1

reconfigure

go

 

 

USE Master; 

GO  

SET NOCOUNT ON 

 

-- 1 - Variable declaration 

DECLARE @dbName sysname 

DECLARE @backupPath NVARCHAR(500) 

DECLARE @cmd NVARCHAR(500) 

DECLARE @fileList TABLE (backupFile NVARCHAR(255)) 

DECLARE @lastFullBackup NVARCHAR(500) 

DECLARE @lastDiffBackup NVARCHAR(500) 

DECLARE @backupFile NVARCHAR(500) 

 

-- 2 - Initialize variables 

SET @dbName = 'Customer' 

SET @backupPath = 'D:\SQLBackups\' 

 

-- 3 - get list of files 

SET @cmd = 'DIR /b ' + @backupPath 

 

INSERT INTO @fileList(backupFile) 

EXEC master.sys.xp_cmdshell @cmd 

 

-- 4 - Find latest full backup 

SELECT @lastFullBackup = MAX(backupFile)  

FROM @fileList  

WHERE backupFile LIKE '%.BAK'  

   AND backupFile LIKE @dbName + '%' 

 

SET @cmd = 'RESTORE DATABASE ' + @dbName + ' FROM DISK = '''  

       + @backupPath + @lastFullBackup + ''' WITH NORECOVERY, REPLACE' 

PRINT @cmd 

 

-- 4 - Find latest diff backup 

SELECT @lastDiffBackup = MAX(backupFile)  

FROM @fileList  

WHERE backupFile LIKE '%.DIF'  

   AND backupFile LIKE @dbName + '%' 

   AND backupFile > @lastFullBackup 

 

-- check to make sure there is a diff backup 

IF @lastDiffBackup IS NOT NULL 

BEGIN 

   SET @cmd = 'RESTORE DATABASE ' + @dbName + ' FROM DISK = '''  

       + @backupPath + @lastDiffBackup + ''' WITH NORECOVERY' 

   PRINT @cmd 

   SET @lastFullBackup = @lastDiffBackup 

END 

 

-- 5 - check for log backups 

DECLARE backupFiles CURSOR FOR  

   SELECT backupFile  

   FROM @fileList 

   WHERE backupFile LIKE '%.TRN'  

   AND backupFile LIKE @dbName + '%' 

   AND backupFile > @lastFullBackup 

 

OPEN backupFiles  

 

-- Loop through all the files for the database  

FETCH NEXT FROM backupFiles INTO @backupFile  

 

WHILE @@FETCH_STATUS = 0  

BEGIN  

   SET @cmd = 'RESTORE LOG ' + @dbName + ' FROM DISK = '''  

       + @backupPath + @backupFile + ''' WITH NORECOVERY' 

   PRINT @cmd 

   FETCH NEXT FROM backupFiles INTO @backupFile  

END 

 

CLOSE backupFiles  

DEALLOCATE backupFiles  

 

-- 6 - put database in a useable state 

SET @cmd = 'RESTORE DATABASE ' + @dbName + ' WITH RECOVERY' 

PRINT @cmd 

 

 

 

 


 


您可能感兴趣的文档:

--结束END--

本文标题: MSSQL通用还原脚本

本文链接: https://lsjlt.com/news/41201.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MSSQL通用还原脚本
    MSSQL还原脚本SQL Server通用还原脚本,只需修改第二步中,需要还原的数据库名称和路径执行完脚本后会生成对应的还原命令,直接新建查询后执行即可-- 2 - Initi...
    99+
    2024-04-02
  • dbeaver怎么还原写的sql脚本
    在DBeaver中,可以使用以下步骤来还原已经写好的SQL脚本: 打开DBeaver并连接到数据库。 在DBeaver中打开SQL...
    99+
    2024-04-09
    SQL dbeaver
  • shell 脚本--备份、还原mysql数据库
    备份mysql数据库#! /bin/bashBPATH=/home/backup/mysql_bakUSER="root"PASSWD="123456"HOST="192.168.1.5"DATE=$(da...
    99+
    2024-04-02
  • MySQL热备份与还原---利用mysqldump---备份脚本
    对extmail数据库进行每天01:00完全热备份,并可以完全恢复!一、先建立备份脚本,如下:vi mysql_extmail_bak.sh #!/bin/bash # Program ...
    99+
    2024-04-02
  • 如何备份和还原MSSQL数据库
    这篇文章主要讲解了“如何备份和还原MSSQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何备份和还原MSSQL数据库”吧! 如何备份、还原MSS...
    99+
    2024-04-02
  • ORACLE RMAN自动备份还原脚本设计
    很多时候,我们DBA需要定时对生产环境进行整体备份,并恢复到测试环境,供开发人员调试或测试,如果数据量比较大的情况下,RMAN方式比较高效省时,下面策略是在生产环境部署备份任务,并在测试模拟环境进行定时还原的脚本。 生产库源端每周日全...
    99+
    2017-05-10
    ORACLE RMAN自动备份还原脚本设计
  • sqlserver数据库还原存储过程脚本
      存储过程必须要创建在系统数据库的master里 #from fhadmin.cn create proc killspid (@dbname varchar(20)) as begin ...
    99+
    2022-02-07
    sqlserver数据库还原存储过程脚本
  • 如何实现alwayson的备份还原脚本
    这篇文章主要介绍如何实现alwayson的备份还原脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、 备份数据库 在主副本上,将需要做AlwaysOn的数据库做一次全备和日...
    99+
    2024-04-02
  • 分享攒了多年的mssql脚本
    分享攒了多年的mssql脚本 脚本类别包括:备份还原表分区常用函数错误日志定时自动抓取耗时SQL并归档发邮件脚本模块镜像批量脚本数据库收缩数据库损坏数据库账号统计数据库大小性能作业 脚本数量:54个   github地址:http...
    99+
    2015-12-08
    分享攒了多年的mssql脚本
  • mssql sqlserver 使用sql脚本实现相邻两条数
    摘要:下文讲述使用sql脚本实现相邻两条数据相减的方法,如下所示:实验环境:sql server 2008 R2 实现思路:1.使用cte表达式,对当前表进行重新编号2.使用左连接对 表达式 生成的临时表进...
    99+
    2024-04-02
  • SQL Server2019数据库备份与还原脚本(批量备份)
    前言最近公司服务器到期,需要进行数据迁移,而数据库属于多而繁琐,通过图形化界面一个一个备份所需时间成本很大,所以想着写一个sql脚本来执行。 开始 数据库单个备份 ...
    99+
    2024-04-02
  • python脚本 通过rsa priva
    说明:蓝色=命令名称    浅绿=命令参数    浅蓝=选项    紫色=目录    系统环境:CentOS  5.5 x86_64    python版本:Python 2.7.3参考paramiko和pycrypto官方文档写了一个通过...
    99+
    2023-01-31
    脚本 python priva
  • Linux下shell通用脚本启动jar
    Linux下shell通用脚本启动jar?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。vim app_jar.sh#!/bin/bash#source /etc/...
    99+
    2023-06-09
  • git还原到指定版本还能恢复吗
    在使用Git进行项目开发过程中,我们经常会遇到需要还原到某一个版本的情况。但是,如果已经使用了git reset指令或者git revert指令进行了版本回退,想要再次恢复到之前的版本,是否还有可能实现呢?本文将为大家详细分析这一问题。首先...
    99+
    2023-10-22
  • SQL Server生成sql脚本并执行还原数据库的示例分析
    这篇文章将为大家详细讲解有关SQL Server生成sql脚本并执行还原数据库的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。上次介绍过如何通过ba...
    99+
    2024-04-02
  • Mysql5.7怎么通过mysqldump还原数据库
    这篇文章主要讲解了“Mysql5.7怎么通过mysqldump还原数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql5.7怎么通过mysqldu...
    99+
    2024-04-02
  • 免费主机屋空间mysql和mssql数据库备份和还原技巧
    2016-08-28     免费主机屋空间,打开http://www.zhujiwu.com,然后操作说明:1.登录会员中心->虚拟主机产品列表->选择主机点击'...
    99+
    2024-04-02
  • git如何还原前一个版本
    git如何还原前一个版本Git是一款开源的分布式版本控制系统,可以为程序员管理代码的历史版本。当我们想要回到代码的上一个版本时,Git可以很容易地让我们还原到之前的版本。接下来,我们将介绍如何在Git中还原前一个版本。第一步:查看版本历史在...
    99+
    2023-10-22
  • Linux下shell通用脚本启动jar(微服务)
    vim app_jar.sh #!/bin/bash #source /etc/profile # Auth:Liucx # Please change these parameters according to y...
    99+
    2022-06-04
    shell 脚本启动jar linux shell jar
  • 通过Jython调用Python脚本的实现方法
    前言 前面在 BeanShell 里面是通过 java 脚本实现请求的预处理,jmeter里面也可以调用python的脚本,需安装 jython.jar 的插件. Jython 是 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作