sqlserver2008日志收缩
A. sql SERVER2008 R2 求教,故障日志不断增大,撑爆
一、简单回答:
1、改你的SQL SERVER2008 R2中的工作数据库的模式为简单。(打开SQL的管理器,对相关数据库点右键,点 属性 -》选项-》“恢复模式”右边的下拉,改为“简单”)。
2、对相关数据库点右键,点“任务”-》“收缩”-》“文件”-》文件类型 那儿 改 日志,然后点“确定”。
3、如果需要每天让SQL SERVER2008 R2自个清理,请编写SQL的定时任务SQL Server代理 里的(作业)。关键语句:
DBCCSHRINKFILE(N'你的数据库的Log文件的名称',宏禅0,TRUNCATEONLY)
---------------------------------------------------------
4、特别提示,如果你的数据库需要高级别的安全,那就不要随意改动蔽颂尘“恢复模式”,或在收缩清理完日志后改回“恢复模式”为“完全”。在“完全”模式下,SQL SERVER2008 R2的日志文件无法被清理收缩。日志文件一但收缩,以前的日志记录就不在了,超级高手也无法对数据库中数据近期的改动进行分析。
二、相关知识:
1、SQL SERVER2008 R2没有故障日志,它有的只是日志,默认情况下,SQL SERVER2008 R2会记录数据库的所有变化到日志中。所以,请不说它是故障日志。
2、对于绝大多普通级别的数人来说,这个日志基本上没什么用。仅少数超级高手在特定情况下可以用这些日志还原早先的数据。比如数据库某个表被人恶意改动了,要找回到没有改动前的状态。特别说明,这樱缓只是理论上说可行,实际上,要视具体情况,因为不是你问的话题在这里就不进一步讨论。
B. sql server怎么收缩日志
1、首先选中数据库右键--属性 点击
C. 数据库日志文件过大如何收缩
网页链接我是用这个方法收缩的,可以将日志收缩到1MB
守得云开见月明,花了一个上午结合前辈的博客,终于弄好了sqlserver2008的数据库日志收缩到1MB,分享给大家
# 方法步骤
1、执行SQL语句改成“简单模式”
2、收缩数据库
3、执行SQL语句改回“完全模式”
## 第一步:执行SQL语句改成“简单模式”
USE [master]
GO
ALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE --改成简单模式
GO
## 第二步:进行数据库操作
相关界面截图和操作
假定:
数据库名:SlowXWebDB
日志文件名:SlowXWebDB_Log
## 第三步:执行SQL语句改成“完全模式”
USE [master]
GO
ALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名)SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE datebaseName(改成你需要进行收缩的数据库名)SET RECOVERY FULL --还原为完全模式
GO
==最后不要忘记实测下数据库是否能够正常使用==
网页链接
D. sql server怎么收缩日志
一、确认恢复模式。以下是使用 SQL Server Management Studio 检查数据库的恢复模式。
E. Sql server2008的ldf文件过大怎么收缩
在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:
- 第一步:清空日志
DUMP TRANSACTION
databasename
WITH
NO_LOG
-- 第二步:截断事务日志
BACKUP LOG
databasename
WITH
NO_LOG
-- 第三步:收缩数据库
DBCC SHRINKDATABASE(databasename)
需要说明几点:
1. 上面的SQL命令需要按照顺序执行;
2. 执行上面的命令通常比直接使用右键菜单中的“收缩”命令要快很多
参考资料:
SQL SERVER 数据库日志已满,如何收缩数据库日志
http://blog.csdn.net/faintbear/archive/2005/02/06/283316.aspx
如何收缩数据库日志
F. sqlserver2008和sqlserver2012日志文件过大,有什么方法清理吗
清理sql server 2008日志步骤如下: 1.将数据库设置成 简单神嫌或 模式 选择要收缩的数据库,点右键 属性->选项,选择 简单模式 2.选择任务->收缩->文件 3.选择日志 或者用如下语句 代码 USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY SIMPLE GO USE DNName GO DBCC SHRINKFILE (N'LogFileName' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY FULL GO SQL Server 2000要清理日志使用的是mp语句,但是在SQL Server2008里,这个语句不管用了,如果日志文件很大,比如超过1G,就需要截断一下日志文件以加快sqlserver的运行速度,在SQL Server2008里者旁,方法改为: 有数据库 xxdb 在 SQL Server 2008 下,日志文件已经超游伍过1G。 以往使用BACKUP语句-BACKUP LOG xxdb WITH NO_LOG 已经失效,在查阅 MSDN 之后发现 MS 提供的标准截断日志语句已经变为了 “BACKUP LOG 语句不指定 WITH COPY_ONLY” 使用语句 BACKUP LOG xxdb to disk='x:\work\1.bak' 成功将日志文件备份,并截断日志文件。这里x:代表你想要备份文件的盘符。 然后使用 DBCC SHRINKFILE (xxdb_log,10) 收缩日志文件到 10M 总结: 完整的收缩日志文件的 T-SQL 语句: BACKUP LOG xxdb to disk='x:\work\1.bak' DBCC SHRINKFILE (xxdb_log,10) GO -- BACKUP LOG <db_name> to disk=<'backupfilename'> DBCC SHRINKFILE (<log_filename>,10) GO 里面的x:\work是随意设置的。当然也可以收缩到比如5M或1M。 在用的: USE[master] GO _WAIT GO --简单模式 GO USEYHDB GO DBCCSHRINKFILE(N'YHDB_log', 11,TRUNCATEONLY) GO USE[master] GO _WAIT GO --还原为完全模式 GO
G. sql server 2008 r2如何收缩数据库和文件
1、右击数据库选择,打开Files窗口
2、Files窗口,File type 选择 Log,单击OK完成日志收缩。
按以上方法操作没有效果,原因是数据库的恢复模式不是简单模式,只需要将恢复模式改为简单模式即可用以上操作来收缩日志,方便又好用。
将数据库恢复模式改为简单模式方法:
1、羡行右击数据库选择属性,弹出窗口如下图,选择Options选项,将 Recovery Model 改为 Simple 即可。
按如下方法操作也可收缩日志:
1、当数据库恢复模式为简单时。使用dbcc shrinkfile (logfile_name,target_size)命令来完成。如
use mydb
dbcc shrinkfile (mydb_log,10) --将mydb_log收缩至10m
2、当数据库恢复模式为完全兄带哗时。可以先将数据库模式改为简单模式,再使用上述方法来进行。
use master
alter database mydb set recovery simple
dbcc shrinkfile (mydb_log,10) --将mydb_log收行仔缩至10m
也可以直接备份事务日志文件后再收缩:
use master
backup log mydb to disk='d:/dd.bak'
use mydb
dbcc shrinkfile (mydb_log,10) --将mydb_log收缩至10m;
3、通过分离数据库,然后再删除事务日志文件,再附加mdf数据文件,也可以达到某种意义上的事务日志收缩。
以下是有关日志文摘
对于每一个数据库来讲,都需要至少一个事务日志文件。事务日志文件是整个数据库的血液,如果没有事务日志的话,那么将无法进行任何操作。
事务日志有什么东西?
事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息。
事务日志与数据库恢复(recovery)是密切相关的,其实数据库在启动时,便会进行相关的恢复(recovery)操作,如下所示。当然,在数据库还原时,也可以指定手工恢复(recovery).任何在数据库上的改变,如果在事务日志内被标记为已提交,并用一个LSN(LOG SEQUENCE NUMBER)来标识,同时相关改变就会体现在数据文件上,而被标记为未提交的改变将不会体现在数据文件上。
2010-01-12 18:31:48.72 spid7s Recovery is complete. This is an informationa message only. No user action is required.
事务日志文件还存储着数据库需要回滚的相关信息。在SQL Server数据库上,默认是隐式提交的,也就是说在查询分析器里面进行的每一个操作,在操作完成后,都是默认已经commit,但如果通过指定begin tran 和rollback tran的命令来标识事务时,rollback tran就需要使用事务日志内的相关信息才可以回滚。当然,如果SQL Server遇到相关错误时,如死锁,那么也会产生一个内部回滚,这些都需要用到事务日志文件。
为什么要收缩事务日志?
收缩日志的原因有很多种,有些则是考虑空间不足,有些则是应用程序限制导致的,一般情况下,是不建议对事务日志进行其他改变的,如需要控制事务日志的大小,则可以通过安排
H. sql server 2008 日志收缩
1天增加7G,不算不正常。日志有完全日志和简单日志的分别,在数据库属性中设置为简单日志,可以降低增长。
自动收缩日志可以,代码如下:
backup log tempdb with NO_LOG
dbcc shrinkdatabase (tempdb,10)
I. 如何压缩SQL Server 2008数据库的日志文件
您好,我来为您解答:
SQL 2005 企业管理器实现方式
任务-》收缩-》文件
2008下两种方法压缩日志
1).
BACKUP LOG xxx TO DISK='xxx.trn'
收缩日志文件
2)
ALTER DATABASE SET RECOVERY SIMPLE
收缩日志文件
ALTER DATABASE SET RECOVERY FULL
如果我的回答没能帮助您,请继续追问。
J. 如何压缩SQL Server 2008数据库的日志文件
首先将你要将压缩的数据库设置为简单日志模式(这带正个就不用说了吧)蠢凳悔,然后右击你的数据库名称,选择任务粗如-收缩-文件,即可打开数据库压缩窗口,后面的你就会操作了,你可以压缩到你想到的比例。