工作中由于个别数据库比较大,生成的备份文件也比较大,不方便存储或者转移,可以将文件备份为多个小的bak文件。

比如一个200G的数据库,可以拆分备份为10个bak文件,则每个bak文件约在20G左右。

备份代码:

/************************************************************* 拆分备份dbName数据库 ,数据库比较大,为了方便备份,将每个备份文件拆分为多个bak文件* Time:  ************************************************************/USE [master]------删除旧数据-------------------------------------------------------------
--1. xp_delete_file
--优点:兼容性好
--缺点:不能删除SQL Server之外创建的文件,包括RAR
--备注:维护计划中的“清理维护”也是调用此 扩展存储过程 来删除文件。
DECLARE @oldDate DATETIME
SET @oldDate = GETDATE() -0
--EXECUTE MASTER.dbo.xp_delete_file
--        0,    --0: 备份文件,1: 维护计划文本报告
--     N'D:\DataBak\dbName\', --文件路径
--     N'bak',    --文件扩展名
--     @oldDate,   --在此时间之前的文件一律删除
--     1                             --删除子文件夹中的文件  EXEC xp_cmdshell 'rd D:\DataBak\dbName',no_output   --删除文件夹,为了清理旧备份
EXEC xp_cmdshell 'mkdir D:\DataBak\dbName',no_output   --重新创建文件夹 DECLARE @BakCount INT
DECLARE @n INT
DECLARE @Sql NVARCHAR(MAX)
DECLARE @FILENAME VARCHAR(500)
DECLARE @DATABaseName VARCHAR(500)
DECLARE @DATABakPath VARCHAR(500)SET @DATABakPath = 'D:\DataBak\'
SET @BakCount = 5  --要拆分的数据库个数
SET @DATABaseName = 'dbName'SET @n = 1
SET @FILENAME = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120), '-', ''),' ',''),':','') + '';DECLARE @exeText VARCHAR(100)SET @exeText = 'mkdir ' + + @DATABakPath + @DATABaseName + '\' + @FILENAME --创建备份目录
EXEC xp_cmdshell @exeText,no_output    SET @Sql = 'BACKUP DATABASE dbName
TO DISK = N''' + @DATABakPath + @DATABaseName + '\' + @FILENAME + '\' + @DATABaseName + '_' + @FILENAME + '_0.bak'''WHILE @n < @BakCount
BEGINSET @Sql = @Sql + ',DISK = N''' + @DATABakPath + @DATABaseName + '\' + @FILENAME + '\' + @DATABaseName + '_' + @FILENAME + '_' + CONVERT(VARCHAR, @n) + '.bak'''SET @n = @n + 1
END
EXEC (@Sql) PRINT '-----------备份' + @DATABaseName + '完成---------------------' + CONVERT(VARCHAR(100), GETDATE(), 126)
+ '---------------'

还原代码:


/***还原拆分备份的文件  文件如果比较多 可以参考备份代码 循环处理*****/RESTORE DATABASE dbName FROM
DISK = 'E:\DataBak\dbName\20181101201523\dbName_20181101201523_0.bak',
DISK = 'E:\DataBak\dbName\20181101201523\dbName_20181101201523_1.bak',
DISK = 'E:\DataBak\dbName\20181101201523\dbName_20181101201523_2.bak',
DISK = 'E:\DataBak\dbName\20181101201523\dbName_20181101201523_3.bak',
DISK = 'E:\DataBak\dbName\20181101201523\dbName_20181101201523_4.bak'
WITH MOVE 'dbName' TO 'D:\SqlDataBase\dbName.mdf', MOVE 'dbName_log' TO 'D:\SqlDataBase\dbName_log.ldf',STATS = 5

拆分备份(还原)比较大的数据库为多个bak文件相关推荐

  1. php7数据库备份还原,基于thinkphp的数据库在线备份还原

    搜索了不少资料,东拼西凑总算完成了.下面贴出来代码,原理就不讲解了,代码挺简单的,重要部分我都做了注释.<?php use Think\Db; /** * 数据库备份还原类 * @author  ...

  2. php mysql 备份还原_PHP执行Mysql数据库的备份和还原

    使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先查出需要备份的表的 ...

  3. 使用网上成熟的【MySqlBackup】组件,通过WEB网页操作,备份远程计算机中的数据库到C:\inetpub\wwwroot文件夹下,系统汇报错误(访问被拒绝),该如何解决呢?

    解决方法: 将C:\inetpub\wwwroot文件夹的权限修改为Everyon都可以完全控制. 下面是修改C:\inetpub\wwwroot文件夹的权限为完全控制的具体步骤. 1. 2. 3. ...

  4. .bak 服务器备份文件,如何从SQL Server Management Studio中的多个备份(bak)文件还原数据库...

    本文概述 在带有SSMS的SQL Server中, 还原数据库(至少对于小型数据库而言)非常容易.无论当前的原因是什么, 例如在生产环境中进行还原, 在本地环境中进行还原以检查数据库完整性等等, 你都 ...

  5. SQL数据库中BAK文件的备份和还原

    对于数据库的恢复非常建议采用BAK文件的方法进行备份和还原,因为该种方法相对于SQL脚本文件不仅简单而且高效.具体步骤如下: 1.备份Bak文件 1.右键需要备份的数据库(这里以 MyDB 为例)–& ...

  6. lvm 逻辑卷的快照及备份 还原

    为什么80%的码农都做不了架构师?>>>    1. LVM的快照概述 LVM机制还提供了对LV做快照的功能,以此来获得文件系统的状态一致性备份.LVM采用写时复制技术(Copy-O ...

  7. Sql server 备份还原后出现“受限制用户”问题

    http://jingyan.baidu.com/article/eb9f7b6dcbf1ea869264e856.html SQL数据库作备份和还原操作几乎是日常性事务了.但某次在对Sql Serv ...

  8. bak文件如何还原数据库文件

      bak文件介绍: 后缀是bak文件是备份文件,默认情况下,保存的时候,会自动的把原来的版本备份一下.当你修改了原来文件的内容的时候,保存修改后的内容,那么修改前的内容会自动保存为后缀为bak的备份 ...

  9. mysql数据库特别大怎么备份_如何备份还原mysql数据库 mysql数据库太大备份与还原方法...

    本篇文章小编给大家分享一下mysql数据库太大备份与还原方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 命令:mysqlhotcopy 这个命令会在拷贝文件之前会把表锁 ...

最新文章

  1. Hadoop学习笔记一
  2. 使用MATLAB如何生成jar包
  3. 干货盘点:神策数据深度用户案例传送门
  4. 登陆用友服务器超时未响应,用友T3软件10.8plus1普及版服务器提示“客户端已经较长时间未连接加密服务器,超时2880秒,请退出产品重新登录”?-用友T3...
  5. 后端:Java 中 10 大坑爹功能!
  6. centos7 nginx+php5.6+mysql安装与配置
  7. 南京江南贡院值得去吗_这12个地方是一种瘾,值得一去再去,有你想要去的吗?...
  8. MyBatis框架 基本配置及运行原理
  9. 华为软件开发云发布管理测评报告
  10. 随想录(学习使用virtualbox软件)
  11. 1.bootstrapTable data-table
  12. 最快理解使用CSS弹性盒子
  13. PLC可编程控制器实验箱QY-JXSY31
  14. Ubuntu安装teamviewer12
  15. 为什么大数据工程师比Java程序员工资高50%?
  16. 更换python的pip下载国内源
  17. 小程序云原生数据库的设计与应用,想要知道的都在这里!
  18. 强连通分量(Tarjan算法)和缩点
  19. canvas实现粒子特效
  20. python图片分析中央气象台降水量预报_获取中央气象台网的气象数据 全流程技术解析(python 爬虫)...

热门文章

  1. 跟本菜菜一起去体验Microsoft Windows Server Code Name Longhorn Server Core
  2. Kubernetes:全面了解 Deployment
  3. Ant Design Blazor 组件库的路由复用多标签页介绍
  4. 雪花算法Snowflake
  5. 移动建模平台元数据存储架构演进
  6. 一个static和面试官扯了一个小时,舌战加强版
  7. Sql Server之旅——第八站 看公司这些DBA们设计的这些复合索引
  8. .NET中的内存管理
  9. 【NServiceBus】什么是Saga,Saga能做什么
  10. 在树莓派4上安装 .NET Core 3.0 运行时及 SDK