SQL Server数据库收缩日志的方法
SQL Server数据库收缩日志的方法:
方法一
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大。
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存。
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据。
方法二
以下为引用的内容:
set nocount on
declare @logicalfilename sysname,
@maxminutes int,
@newsize int
use tablename
-- 要操作的数据库名
select @logicalfilename = 'tablename_log',
-- 日志文件名
@maxminutes = 10,
-- limit on time allowed to wrap log.
@newsize = 1
-- 你想设定的日志文件的大小(m)
-- setup / initialize
declare @originalsize int
select @originalsize = size
from sysfiles
where name = @logicalfilename
select 'original size of ' + db_name() + ' log is ' +
convert(varchar(30),@originalsize) + ' 8k pages or ' +
convert(varchar(30),(@originalsize*8/1024)) + 'mb'
from sysfiles
where name = @logicalfilename
create table dummytrans
(dummycolumn char (8000) not null)
declare @counter int,
@starttime datetime,
@trunclog varchar(255)
select @starttime = getdate(),
@trunclog = 'backup log '
+ db_name() + ' with truncate_only'
dbcc shrinkfile (@logicalfilename, @newsize)
exec (@trunclog)
-- wrap the log if necessary.
while @maxminutes > datediff
(mi, @starttime, getdate()) -- time has not expired
and @originalsize =
(select size from sysfiles where name = @logicalfilename)
and (@originalsize * 8 /1024) > @newsize
begin -- outer loop.
select @counter = 0
while ((@counter < @originalsize / 16) and (@counter < 50000))
begin -- update
insert dummytrans values ('fill log')
delete dummytrans
select @counter = @counter + 1
end
exec (@trunclog)
end
select 'final size of ' + db_name() + ' log is ' +
convert(varchar(30),size) + ' 8k pages or ' +
convert(varchar(30),(size*8/1024)) + 'mb'
from sysfiles
where name = @logicalfilename
drop table dummytrans
set nocount off
转载于:https://blog.51cto.com/aizzw/425347
SQL Server数据库收缩日志的方法相关推荐
- SQL Server 数据库清除日志的方法
方法一: 1.打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_LOG 2.再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件- ...
- asp教程连接sql server数据库教程二种方法
asp教程连接sql server数据库教程二种方法 ,sql server ole db连接方法:,本人链接sql2012已经成功,想可以帮助大家 本教程主要是讲了asp与mssql server ...
- 正文内容 SQL Server 数据库清除日志
SQLSERVER的数据库日志占用很大的空间,下面提供三种方法用于清除无用的数据库日志文件 方法一: 1.打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_L ...
- SQL Server数据库六种数据移动方法
1. 通过工具DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然, ...
- 编写SQL Server数据库对象脚本的方法
In this article, we will explore various ways for scripting SQL Server database objects. 在本文中,我们将探索编 ...
- sql server数据库导入导出bcp方法
微软的官方文档: http://msdn.microsoft.com/zh-cn/library/ms162802.aspx 以下示例均在sql server 2005上测试过,完全ok可用的. 1. ...
- SQL Server 2008 收缩日志 清空删除大日志文件
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) BackupLog DNName ...
- sql server数据库事务日志已满请参阅log_reuse_wait_desc怎么解决?
数据库使用时,莫名其妙出现关于事务日志已满的报错.具体报错如下: 数据库中的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅sys.databases中的log_reuse_wait_desc ...
- 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程(Transact-SQL)方法总结...
作者:liigo 日期:2010/8/25 Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接 ...
最新文章
- iOS项目预处理器环境变量设置
- 如何给腾讯云域名申请免费的SSL证书
- Java的HashCode,Equal和==
- python绘制余弦曲线散点图_python中如何用matlibplot画正弦曲线?
- 安装详细步骤win7_windows安装器怎么安装原版win7【详细教程】
- python wx包_python的wxpython包
- 《JavaScript权威指南》读书笔记一
- 科技部再公布网络安全等10项国家重点研发计划
- javawebJSP餐厅点餐系统源码JSP点餐系统JSP网上订餐系统JSP在线订餐系统JSP外卖系统
- 非常好的Struts2教程
- 小米8使用usb连接计算机,小米怎么连接电脑usb(小米8连接电脑看不到文件)
- ROS:TF,机器人坐标管理神器
- android tv 下载地址,Android TV获取所有的应用apk
- 打不开磁盘*或它所依赖的某个快照磁盘
- c/c++ 二分法拓展,解决函数零点问题。
- 数据如何变成知识,第 2 部分 数据湖和数据沼泽
- #小何不断努力# Day1
- java多态app_【Java基础】Java中的多态
- html圆圈里边有个c,三个c标志可以扯掉-图标含义?一个圆圈里面有三个C代表什么含义 – 手机爱问...
- Siri创始人正式展示Viv助手 比想象中要强大
热门文章
- python websocket异步高并发_Python3.5异步和多个websocket服务器
- plsql执行command命令控制台出现乱码_设计模式系列 — 命令模式
- axios get请求_Axios使用指南
- Linux磁盘挂载和docker安装
- 7/15 我的第一篇博客-写给自己
- HDU3970(Dijstra算法)
- 【学习笔记】超简单的多项式除法(含完整证明)
- UVA10003 切木棍 Cutting Sticks(区间DP、细节)
- C语言入门练习 - 第三期 数组(题解)
- python requests 重定向_认识Python最最最常用语重要的库Requests