sql server 定时备份数据库
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 定时备份数据库的更多相关文章
- SQL Server 2008备份数据库失败,拒绝访问的原因
原文:SQL Server 2008备份数据库失败,拒绝访问的原因 备份数据到特定目录是出现拒绝访问,然后测试备份到C盘根目录正常. 查了下原因: 是因为那个目录没有Authenticated Use ...
- SQL Server 远程备份数据库
在一些涉及到数据库的项目中,经常会有定时备份数据库的需要.定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里. ...
- Sql Server自动备份数据库,定期删除备份
//实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...
- sql server 压缩备份数据库
转自 https://www.cnblogs.com/527289276qq/p/6273291.html 今天需要把一个省外项目的数据库从服务器上备份.拷贝到本机(跨地域传输数据库备份文件). 连上 ...
- sql server 批量备份数据库
很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: --开启文件夹权限 ...
- sql server 批量备份数据库及删除N天前的备份数据
很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: 1 2 3 4 5 ...
- sql server异地备份数据库
--注意:异地备份数据库,需要先开启备份文件夹的网络共享,数据库选择master --打开允许执行xp_cmdshell exec master..xp_cmdshell 'net use \\192 ...
- sql server 定时备份 脚本
) DECLARE @date DATETIME SELECT @date = GETDATE() SELECT @filename = 'G:\backup\NewPlulishSQL-' + CA ...
- SQL Server 2008 备份数据库
1.打开SQL , 找到要备份的数据库 , 右键 >> 任务 >>备份 2.弹出 [ 备份数据库对话框 ] ,如图: 3.点击加入 [ button ] . 例如以下图: 4. ...
随机推荐
- Mac OSX 下配置 LNMP开发环境
不久前负责了一个项目需要配置PHP7的开发环境,因为之前所有的项目用的是PHP5的,所以研究了这些东西,但是很遗憾,电脑出了问题,不得已重装了系统,然后你懂得...什么都没有了,要重新来过.. 虽然本 ...
- poj2151之概率DP
Check the difficulty of problems Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 4403 ...
- Android开发和測试实践 - 接入友盟统计
这两年一直在做无线的測试,兴许还会继续去做无线的測试,可是之前由于时间的原因一直都没有非常细致的了解到代码层面. 最近抽出时间自己做了些app的开发,决定假设想把移动的測试做好做深入.有一定的app开 ...
- [Angular] Wrap a third party lib into service
- [Ramda] Difference between R.converge and R.useWith
So what is Point-free function. Take a look this example: const getUpdatedPerson = (person) => R. ...
- for, for..in, in, for...of的区别
for是ES5里做数组循环里最常用的 for (var i = 0; i < array.length; i++) { // todo } for...in是ES5里用来遍历对象属性用的 var ...
- droid开发中监听器的三种实现方法(OnClickListener)
Android开发中监听器的实现有三种方法,对于初学者来说,能够很好地理解这三种方法,将能更好地增进自己对android中监听器的理解. 一.什么是监听器. 监听器是一个存在于View类下的接口,一般 ...
- Less小总结
= 导航 顶部 变量 混合 继承 函数 顶部 变量 混合 继承 函数 Less 是一个Css 预编译器,意思指的是它可以扩展Css语言,添加功能如允许变量(variables),混合(mi ...
- 更改linux的最大文件描述符限制
To ensure good server performance, the total number of client connections, database files, and log f ...
- POJ3280 Cheapest Palindrome 【DP】
Cheapest Palindrome Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6013 Accepted: 29 ...