原文:SQL Server 数据备份存储过程

今天开园,分享一下我一直在使用的数据备份存储过程,欢迎转载!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
 
CREATE Proc [dbo].[SQL_Backup]
    @DataBase Nvarchar(50)
AS
DUMP TRANSACTION @DataBase WITH  NO_LOG
BACKUP LOG @DataBase WITH NO_LOG
DBCC SHRINKDATABASE (@DataBase)
 
---------------------------- 原创SQL备份数据库 ----------------------------
--DECLARE @DataBase Nvarchar(100)
DECLARE @DataPath Nvarchar(100)
DECLARE @FileName Nvarchar(100)  
DECLARE @BackupFileName Nvarchar(100)
DECLARE @DataDescription Nvarchar(200)
DECLARE @DataMediaName Nvarchar(50)
DECLARE @DataMediaDescription Nvarchar(200)
DECLARE @OkInfo Nvarchar(300)
DECLARE @str Nvarchar(300)
DECLARE @Rnd Nvarchar(11)
DECLARE @dir Nvarchar(15)
DECLARE @dirin bit
DECLARE @Temp Nvarchar(500)
-- Author: im531...
-- Description: SQL_Backup
-- http://im531.cnblogs.com/
-- Date: 2005-02-06
 
--SET @DataBase = 'test'
SET @Temp = ''
SET @DataPath = 'C:\www\SQL_Backup\'
SET @Rnd = (SELECT Left(Newid(),4) + Right(Newid(),4)) + (SELECT Right(Datepart(ms,Getdate()),3))
SET @str = RTRIM(CONVERT(CHAR(10),GETDATE(),112)) + '_' + RTRIM(DATEPART(HOUR,GETDATE())) + '_' + LTRIM(DATEPART(MINUTE,GETDATE()))
SET @dir = RTRIM(CONVERT(CHAR(10),GETDATE(),112)) + '_' + RTRIM(DATEPART(HOUR,GETDATE()))
SET @FileName = @DataPath + @dir + '\'+ @DataBase + '_Backup_'
SET @BackupFileName = @FileName + @str  + '_' + @Rnd
 
CREATE TABLE [#tb](a bit,b bit,c bit)
SET @Temp = @DataPath + @dir
INSERT INTO [#tb] EXECUTE master..xp_FileExist @Temp
IF Exists(SELECT 1 FROM [#tb] WHERE b = 1)
    SET @dirin = 1
ELSE
    SET @dirin = 0
DROP TABLE [#tb]
 
SET @Temp = 'md ' + @DataPath + @dir
IF @dirin = 0
    BEGIN
        EXEC master..xp_cmdshell @Temp
    END
 
SET @DataDescription = 'SQL语句产生的备份,备份时间:' + CONVERT(CHAR(19),GETDATE(),121)
SET @DataMediaName = 'im531 Backup ...'
SET @DataMediaDescription = 'Author im531 ... '
SET @OkInfo = '数据库 ' + @DataBase + ' 成功备份至 ' + @BackupFileName
 
BACKUP DATABASE @DataBase TO DISK = @BackupFileName
WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10 , NOFORMAT ,
NAME = @DataBase , DESCRIPTION = @DataDescription ,
MEDIANAME = @DataMediaName , MEDIADESCRIPTION = @DataMediaDescription
 
 
-- 7z 压缩
IF @DataBase = 'DataName'
    BEGIN
        SET @Temp = 'C:\7-zip\7z.exe a -t7z ' + @DataPath + @dir + '.7z ' + @DataPath + @dir + '\* -mx9 -r'
        EXEC master..xp_cmdshell @Temp
        SET @Temp = 'rd ' + @DataPath + @dir + ' /s/q'
        EXEC master..xp_cmdshell @Temp
    END
 
SELECT @OkInfo AS BackupInfo
------------------- End ---------------------
GO
 
EXEC SQL_Backup @DataBase = N'DataName'

SQL Server 数据备份存储过程的更多相关文章

  1. SQL Server自动备份存储过程和视图的方法

    1 建立备份数据表 CREATE TABLE [dbo].[ProcBackup]( ,) NOT NULL, [name] [sysname] NOT NULL, ) NULL, [obj_id] ...

  2. Sql Server 维护计划 备份覆盖

            之前在设置服务器Sql Server 维护计划 备份的sql server 数据库,都是累加的,后来也没有仔细看过,后台回过头来考虑到服务器的存储空间,只好做sql server 数据 ...

  3. SQL Server数据库备份(本机)

    基础的SQL Server数据库备份存储过程 /**************************************************************************** ...

  4. sql server数据库备份单个表的结构和数据生成脚本

    1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...

  5. SQL server数据异地备份到OSS

    背景需求: 某部门需要将windows机器上的SQL server数据做一个异地备份,经过对现有的软硬件资源评估,决定使用阿里云的OSS存储 方法:利用SQLserver自带的维护计划做指定数据库的备 ...

  6. sql server数据库备份单个表的结构和数据生成脚本【转】

    1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...

  7. SQL Server的备份

    原文:SQL Server的备份 0.参考文献 1.恢复模式 SQL Server 备份和还原操作发生在数据库的恢复模式的上下文中. 恢复模式旨在控制事务日志维护. “恢复模式”是一种数据库属性,它控 ...

  8. SQL Server基础之存储过程

      简单来说,存储过程就是一条或者多条sql语句的集合,可视为批处理文件,但是其作用不仅限于批处理.本篇主要介绍变量的使用,存储过程和存储函数的创建,调用,查看,修改以及删除操作. 一:存储过程概述 ...

  9. SQL SERVER 临时表导致存储过程重编译(recompile)的一些探讨

    SQLSERVER为了确保返回正确的值,或者处于性能上的顾虑,有意不重用缓存在内存里的执行计划,而重新编译执行计划的这种行为,被称为重编译(recompile).那么引发存储过程重编译的条件有哪一些呢 ...

随机推荐

  1. 终于结束的起点——Adios

    准退役了一年,终于还是要结束了,整个高中的OI生涯就这么过去了. 今年的CSP-S又一次提醒我,我真的只是个蒟蒻,学了两年多还是这么个样.不过,这段OI生涯或许确实给我带来了许多. 一切的起点 17年 ...

  2. HZOJ 20190818 NOIP模拟24题解

    T1 字符串: 裸的卡特兰数题,考拉学长讲过的原题,就是bzoj3907网格那题,而且这题更简单,连高精都不用 结论$C_{n+m}^{n}-C_{n+m}^{n+1}$ 考场上10min切掉 #in ...

  3. 第四章 Python数据分析-描述性分析

    Python基础统计 统计函数:describe() 常用的统计指标函数: 统计函数 注释 (@数据分析-jacky) size 计算 sum 求和 mean 平均值 var 方差 std 标准差

  4. fiddler无法生成证书

    在win7有可能无法生成证书打开安装Fiddler的路径下,按住shift   右击在此处打开命令行窗口 输入以下命令 makecert.exe -r -ss my -n "CN=DO_NO ...

  5. 梯度提升树GBDT总结

    提升树的学习优化过程中,损失函数平方损失和指数损失时候,每一步优化相对简单,但对于一般损失函数优化的问题,Freidman提出了Gradient Boosting算法,其利用了损失函数的负梯度在当前模 ...

  6. postman设置环境变量,实现一套接口根据选择的环境去请求不同的url

    一个系统,有本地,开发,测试,生产等不同的环境,如果写不同的url配置多套会比较麻烦,可以设置不同的环境实现不同的url之间的切换.配置之后如下: 第一步: 第二步: 添加环境变量 ps::不同的环境 ...

  7. mysql 首次安装后 简单操作与语句 新手入门

    首先cd到安装目录中bin路径:这是我的安装路径以管理员身份打开cmd(防止权限不足)cd E:\>cd E:\mysql\mysql-5.5.40-winx64\bin 首次安装需要输入 my ...

  8. HttpURLConnection提交数据

    使用GET方式向服务器端提交数据 * 原理:把要提交的数据组拼到Url后面 * http协议规定数据长度不超过4kb,IE浏览器超过1kb就会丢弃掉后面的数据 * 缺点:数据不安全 * 优点:代码书写 ...

  9. Swift3.0添加桥接文件

    注意是在target下不是project !!!纠结了好久表示...... 都这里一直编译错误,找不到该桥接文件,这里也是纠结了好久......最后原因是不能使用下划线就可以了....<表示这是 ...

  10. mgo连接池

    package main import ( "log" "sync" "time" "gopkg.in/mgo.v2" ...