what can we do if just only want to truncate transaction log without backup ?
n some circumstances, we just want to truncate transaction log without backup and refuce change database mode to "Simple".
You may want to say "You are make an unnecessary move".
Yes, that is true. However,. our customer just want to keep current setting and release transaction log usage and also refuse to backup them.
Here we can go to solve the problem:
You just can exec that procedure what ever your exist databases and their recover mode are.
CREATE PROCEDURE [dbo].[truncatetlog]
AS
BEGIN
DECLARE @m int
DECLARE @n int
DECLARE @SQL VARCHAR(MAX)
DECLARE @SQL2 VARCHAR(MAX)
DECLARE @SQL3 VARCHAR(MAX)
DECLARE @SQL4 VARCHAR(MAX)
DECLARE @SQL5 VARCHAR(2)
--DECLARE @SQL5 VARCHAR(MAX)
DECLARE @createtable VARCHAR(MAX)
DECLARE @createtable2 VARCHAR(MAX)
DECLARE @createtable3 VARCHAR(MAX)
DECLARE @createtable4 VARCHAR(MAX)
--DECLARE @droptableList TABLE (id int IDENTITY(1,1) NOT NULL,contents nvarchar(MAX) NOT NULL)
DECLARE @droptableList TABLE (databaseid int ,name nvarchar(MAX) ,logfile_name nvarchar(MAX),recovery_model_desc nvarchar(MAX))
SET NOCOUNT ON
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
SET ANSI_PADDING ON
set @m=(SELECT MAX(database_id) from sys.databases where database_id >4)
set @n=5
--
while @n<=@m
begin
INSERT @droptableList (databaseid,name,recovery_model_desc) select database_id,name,recovery_model_desc from sys.databases where database_id = @n
update @droptableList set logfile_name = ( select name from sys.database_files where type=1 )where databaseid = @n
SELECT @SQL = (SELECT name from @droptableList where databaseid=@n)
SELECT @SQL2 = (SELECT logfile_name from @droptableList where databaseid=@n)
SELECT @SQL3 = (SELECT recovery_model_desc from @droptableList where databaseid=@n)
SELECT @SQL4 = 'checkpoint'
set @createtable4='use ['+@SQL+'];'
exec(@createtable4)
--print @createtable4
set @createtable='ALTER DATABASE ['+@SQL+'] SET RECOVERY SIMPLE;'
exec(@createtable)
--print @createtable
set @createtable2='DBCC SHRINKFILE (N''' + @SQL2 + ''',50,TRUNCATEONLY);'
--print @SQL4
exec(@SQL4)
exec(@createtable2)
--print @createtable2
set @createtable3='ALTER DATABASE ['+@SQL+'] SET RECOVERY ' +@SQL3 +';'
exec(@createtable3)
--print @createtable3
set @n=@n+1
end
END
if that successed ?. just execute them, you also can make an schedule on it. Then that id OK
what can we do if just only want to truncate transaction log without backup ?的更多相关文章
- In-Memory:内存数据库
在逝去的2016后半年,由于项目需要支持数据的快速更新和多用户的高并发负载,我试水SQL Server 2016的In-Memory OLTP,创建内存数据库实现项目的负载需求,现在项目接近尾声,系统 ...
- 01.SQLServer性能优化之---水平分库扩展
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 第一次引入文件组的概念:http://www.cnblogs.com/dunitian/ ...
- 关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- H5实现摇一摇技术总结
摇一摇遇到的问题 一.如何对摇晃效果进行反馈 刚开始的处理方式是,摇晃过程中不做任何处理,但后来反馈说这种效果不好,好像就没有摇动一样,如果声音也不响的话,就真的和什么都没发生一样. 后来想了想,加入 ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 自定义基于 VLC 的视频播放器
前言(蛋疼的背景故事) 前段时间,接了一个小项目,有个需求是要在系统待机一段时间以后,循环播放 MV(类似于 Windows 系统的屏幕保护). 听到这个需求,我首先想到的是 MediaPlayer ...
- webp图片实践之路
最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- In-Memory:内存优化表的事务处理
内存优化表(Memory-Optimized Table,简称MOT)使用乐观策略(optimistic approach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Row ve ...
随机推荐
- SQL练习题(一)
目录 题目一:交换性别(简单) 实现思路 提交代码 题目二:连续出现的数字(中等) 实现思路 方式一 方式二 提交代码 方式一 方式二 题目三:换座位(中等) 实现思路 方式一 方式二 提交代码 方式 ...
- 30.strftime参数
附:strftime参数 strftime(format[, tuple]) -> string 将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出 python中时间 ...
- 【原创】(十六)Linux内存管理之CMA
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- 百度地图开发API
JavaScript API http://lbsyun.baidu.com/index.php?title=jspopular
- STM32动态内存分配需要注意的地方
STM32进行动态内存分配是需要注意动态内存分配大小不要超过.S文件中设置Heap Size大小 如图所示: 0x4000 :可以分配得最大字节是16384bytes 这个地方malloc的大小超过了 ...
- P2365 任务安排 batch 动态规划
batch ★☆ 输入文件:batch.in 输出文件:batch.out 简单对比时间限制:1 s 内存限制:128 MB 题目描述 N个任务排成一个序列在一台机器上等待完成(顺序不 ...
- python 生成器,迭代器,闭包,装饰器
1.生成器,迭代器,闭包,装饰器的优点 生成器就是一类特殊的迭代器 迭代器的优点也即生成器的优点: 1.节约内存.python在使用生成器时对延迟操作提供了支持. 2.迭代到下一次的调用时,所使用的参 ...
- css 透明度
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- 编程基础系列--之--浅谈List、Set、Map和泛型(一)——单列集合
之前在学习Java时对于泛型,集合的理解一直模模糊糊,随着时间的推移,对泛型和集合有了一些浅显的认知,打算写出来巩固一下,也希望各位大佬能指出理解不当之处,万分感谢!!! 在Java语言中,集合分为两 ...
- 关于PDF阅读器
获取流程 1.点击下载xodo 2.跳转到如下界面,单击箭头所指的版本: 3.单击转到 中国-中文 4.点击获取 5.在跳出来的界面点击红框 6.打开本机的Microsoft Store下载应用 介绍 ...