sql server 清理日志存储过程
2011-01-25 09:33
232 查看
代码ALTER PROC [dbo].[CleanTranLog]
AS
BEGIN
DECLARE @num TINYINT --执行次数
DECLARE @backLogName VARCHAR(100) ;--备份日志文件名称
DECLARE @backLogPath VARCHAR(100) ; --备份日志文件的路径
SET @num = 0 ;
SET @backLogPath = N'C:\SQLBackup' ;--设定备份日志的路径
--备份3次镜像日志文件,同时删除
WHILE( @num < 3 )
BEGIN
DECLARE @LogPath VARCHAR(100)
SET @backLogName = CAST(@num as VARCHAR(2)) + '.trn' ;
SET @LogPath = @backLogPath + '\' + @backLogName
BACKUP LOG Mirror TO DISK = @LogPath WITH NOFORMAT, NOINIT,
NAME= @backLogName, SKIP, REWIND, NOUNLOAD,STATS = 10
SET @num = @num + 1
--删除刚备份的trn日志文件结束的备份日志文件
EXECUTE master.dbo.xp_delete_file 0, @LogPath ;
end
--收缩日志文件到200M
DBCC SHRINKFILE (mirror_Log, 2) ;
END
AS
BEGIN
DECLARE @num TINYINT --执行次数
DECLARE @backLogName VARCHAR(100) ;--备份日志文件名称
DECLARE @backLogPath VARCHAR(100) ; --备份日志文件的路径
SET @num = 0 ;
SET @backLogPath = N'C:\SQLBackup' ;--设定备份日志的路径
--备份3次镜像日志文件,同时删除
WHILE( @num < 3 )
BEGIN
DECLARE @LogPath VARCHAR(100)
SET @backLogName = CAST(@num as VARCHAR(2)) + '.trn' ;
SET @LogPath = @backLogPath + '\' + @backLogName
BACKUP LOG Mirror TO DISK = @LogPath WITH NOFORMAT, NOINIT,
NAME= @backLogName, SKIP, REWIND, NOUNLOAD,STATS = 10
SET @num = @num + 1
--删除刚备份的trn日志文件结束的备份日志文件
EXECUTE master.dbo.xp_delete_file 0, @LogPath ;
end
--收缩日志文件到200M
DBCC SHRINKFILE (mirror_Log, 2) ;
END
相关文章推荐
- Sql Server 清除日志的存储过程 Procedure of cleaning sql server's log
- Sql server 2008R2 日志文件清理
- 配置 SQL Server 2005 远程调试存储过程
- SQL SERVER存储过程中使用事务
- SQL Server 存储过程的经典分页
- SQL SERVER 存储过程中变量的作用域
- SQL Server在存储过程中编写事务处理代码的三种方法
- JSP调用SQL Server存储过程的实例
- SQL Server 2005 - 实作CLR存储过程
- 怎样对SQL Server 2005加密的存储过程进行解密
- 使用SQL Server版本控制找回存储过程定义
- SQL SERVER 存储过程示例
- SQL SERVER 2008的错误日志清理
- 怎样在Sql server中创建、执行和删除存储过程
- SQL Server之存储过程基础知识
- sql server 根据身份证号计算出生日期和年龄的存储过程
- SQL Server 存储过程的分页方案比拼
- SQL Server可按任意字段排序的分页存储过程(不用临时表的方法)
- SQL Server 存储过程解析XML传参
- Sql Server 存储过程分页大全(2005,2000)