CREATE  PROCEDURE [dbo].[SP_DBBackup_EveryNight_Local]
@cycle INT, ---保存周期
@IsLocal INT, ---是否为本地 0表示是 1表示否
@SavePath NVARCHAR(100), ---文件保存路径 \\192.168.19.1\DataBaseBack
@DBPrefix NVARCHAR(50), ---生成文件的前缀
@Server VARCHAR(50), ---服务器IP 192.168.19.1
@UserName VARCHAR(50), ---登录服务器用户名 administrator
@PassWord VARCHAR(20) ---登录服务器密码 2016
AS
BEGIN
DECLARE @backpath2 VARCHAR(100)
DECLARE @command VARCHAR(200) --创建临时表
CREATE TABLE #Filetabel
(
FILEPATH VARCHAR(100) NULL
)
--调用dos命令登录服务器
IF @IsLocal = 1
BEGIN
SET @command = 'net use ' + @SavePath + ' ' + @PassWord + ' /user:' + @Server + '\' + @UserName
EXEC master..xp_cmdshell @command
END
--将共享目录所有文件名添加至临时表
SET @command = 'dir /b ' + @SavePath
INSERT INTO #Filetabel
EXEC master..xp_cmdshell @command DELETE FROM #Filetabel
WHERE FILEPATH IS NULL WHILE EXISTS ( SELECT *
FROM #Filetabel )
BEGIN
DECLARE @fileName VARCHAR(100)
SET @fileName = ( SELECT TOP 1
*
FROM #Filetabel
ORDER BY FILEPATH
)
--定义变量获取文件时间
DECLARE @fileTime VARCHAR(20)
DECLARE @fDateTime DATETIME
IF @fileName IS NOT NULL
BEGIN
SET @fileTime = SUBSTRING(@fileName, 17, 8)
SET @fDateTime = CONVERT(DATETIME, @fileTime)
DECLARE @lastTime DATETIME
SET @lastTime = DATEADD(DAY, -@cycle,
CONVERT(VARCHAR(10), GETDATE(), 111))
IF @fDateTime <= @lastTime
BEGIN
--删除备份
DECLARE @filePath VARCHAR(100)
SET @filePath = 'del ' + @SavePath + '\' + @fileName
EXEC master..xp_cmdshell @filePath
END --删除该条数据
DELETE FROM #Filetabel
WHERE FILEPATH = @fileName
END
END --删除临时表
DROP TABLE #Filetabel
--将数据库备份到服务器
SET @backpath2 = @SavePath + '\' + @DBPrefix + '_' + REPLACE(CONVERT(VARCHAR(10), GETDATE(), 120),
'-', '') + '_back.bak'
BACKUP DATABASE [LGS] TO DISK=@backpath2 WITH INIT ,FORMAT
END
GO

  

执行EXEC [dbo].[SP_DBBackup_EveryNight_Local] 5,0,'F:\LGS_Back','LGS','','',''

sql server 定时备份数据库的更多相关文章

  1. SQL Server 2008备份数据库失败,拒绝访问的原因

    原文:SQL Server 2008备份数据库失败,拒绝访问的原因 备份数据到特定目录是出现拒绝访问,然后测试备份到C盘根目录正常. 查了下原因: 是因为那个目录没有Authenticated Use ...

  2. SQL Server 远程备份数据库

    在一些涉及到数据库的项目中,经常会有定时备份数据库的需要.定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里. ...

  3. Sql Server自动备份数据库,定期删除备份

    //实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...

  4. sql server 压缩备份数据库

    转自 https://www.cnblogs.com/527289276qq/p/6273291.html 今天需要把一个省外项目的数据库从服务器上备份.拷贝到本机(跨地域传输数据库备份文件). 连上 ...

  5. sql server 批量备份数据库

    很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: --开启文件夹权限 ...

  6. sql server 批量备份数据库及删除N天前的备份数据

    很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: 1 2 3 4 5 ...

  7. sql server异地备份数据库

    --注意:异地备份数据库,需要先开启备份文件夹的网络共享,数据库选择master --打开允许执行xp_cmdshell exec master..xp_cmdshell 'net use \\192 ...

  8. sql server 定时备份 脚本

    ) DECLARE @date DATETIME SELECT @date = GETDATE() SELECT @filename = 'G:\backup\NewPlulishSQL-' + CA ...

  9. SQL Server 2008 备份数据库

    1.打开SQL , 找到要备份的数据库 , 右键 >> 任务 >>备份 2.弹出 [ 备份数据库对话框 ] ,如图: 3.点击加入 [ button ] . 例如以下图: 4. ...

随机推荐

  1. Android 开发--CMakeList调用本地so文件

    这里写代码片Android开发常常遇到Java调用so文件的情况,本文介绍一下Google最近新推出的应用在android studio中的方法–cmakelist.txt格式调用. so文件分为jn ...

  2. 【t049】&&【u001】足球

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 我们当中有很多热爱中国足球的同学,我们都知道中超(中国足球超级联赛)的规则: 一场比赛中,若获胜(即你 ...

  3. Popup 解决位置不随窗口/元素FrameworkElement 移动更新的问题

    原文:Popup 解决位置不随窗口/元素FrameworkElement 移动更新的问题 Popup弹出后,因业务需求设置了StaysOpen=true后,移动窗口位置或者改变窗口大小,Popup的位 ...

  4. 检索08- SQL语句中的go与use用法

    GO 1. 作用:向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.2. 语法:一批 Transact-SQL 语句 GO 如 Select 1 Select 2 ...

  5. [GeekBand] STL vector 查找拷贝操作效率分析

    本文参考文献::GeekBand课堂内容,授课老师:张文杰 :C++ Primer 11 中文版(第五版) :网络资料: 叶卡同学的部落格  http://www.leavesite.com/ htt ...

  6. scala 通过apply创建类的对象

    package cn.scala_base.oop.scalaobject; class Boy(name: String) { private var age: Int = 0; println(n ...

  7. maven Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

    如果你可以确认你的maven Dependencies中已经导入了如下的jar包,那么你就要检查下Deployment Assembly 选中项目 alt+enter,然后查看maven依赖有没有被添 ...

  8. XSS攻击之基础篇:HTML标签与字符串的渲染

    <body> XSS攻击之基础篇:HTML标签与字符串的渲染 测试 <div class="a1"> </div> <div class= ...

  9. CUDA软件架构—网格(Grid)、线程块(Block)和线程(Thread)的组织关系以及线程索引的计算公式

    网格(Grid).线程块(Block)和线程(Thread)的组织关系 CUDA的软件架构由网格(Grid).线程块(Block)和线程(Thread)组成,相当于把GPU上的计算单元分为若干(2~3 ...

  10. win10 开机启动vmware并自动启动虚机

    思路 先实现程序或者命令启动VM并启动虚机,然后再开机启动这个程序. 1.实现一键启动VM和虚机 找了一圈的资料,有两个方法,都测试了,最终比较有效的是下面这个命令 "C:\Program ...