1. 如何清除SQLserver 日志
如何清除数据库日志
1
打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG
2
再打开企业管理器–右键你要压缩的数据库–所有任务–收缩数据库–收缩文件–选择日志文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
END
清除Log有两种方法
自动清除法:
开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQLServer自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。
手动清除法
执行命令“mp transaction”来清除Log。以下两条命令都可以清除日志:
mp transaction with truncate_onlymp transaction with no_log
通常删除事务日志中不活跃的部分可使用“mp transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“mp transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQLServer会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它 作为“最后一招”
2. 如何压缩SQL Server 2005指定数据库文件和日志的大小
下面有两个SQL语句可以达到在SQL
Server
2005/2008压缩指定数据库文件和日志的大小的效果:
1、DBCC
SHRINKDATABASE
(Transact-SQL)
收缩指定数据库中的数据文件和日志文件的大小。
语法
DBCC
SHRINKDATABASE
(
'database_name'
|
database_id
|
0
[
,target_percent
]
[
,
{
NOTRUNCATE
|
TRUNCATEONLY
}
]
)
[
WITH
NO_INFOMSGS
]
参数
'database_name'
|
database_id
|
0
要收缩的数据库的名称或
ID。如果指定
0,则使用当前数据库。
target_percent
数据库收缩后的数据库文件中所需的剩余可用空间百分比。
NOTRUNCATE
通过将已分配的页从文件末尾移动到文件前面的未分配页来压缩数据文件中的数据。target_percent
是可选参数。
文件末尾的可用空间不会返回给操作系统,文件的物理大小也不会更改。因此,指定
NOTRUNCATE
时,数据库看起来未收缩。
NOTRUNCATE
只适用于数据文件。日志文件不受影响。
TRUNCATEONLY
将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动。数据文件只收缩到最近分配的区。如果与
TRUNCATEONLY
一起指定,将忽略
target_percent。
TRUNCATEONLY
只适用于数据文件。日志文件不受影响。
3. SQL Server 快速清除日志文件的方法
SQL Server 2000快速清除日志文件的方法
SQL Server 2000 数据库日志太大!
如何清理SQL Server 2000的日志呢?
如何压缩SQL Server 2000的日志呢?
如何让SQL Server 2000的日志变小呢?
据我所知,办法有很多很多,总结起来算有3类吧:
1、点几下鼠标,用SQL Server 2000管理工具中的企业管理器即可实现,待会儿详解;
2、用SQL语句,在SQL Server 2000管理工具中的查询分析器可以实现,此法高级人士喜欢用;
3、用第三方工具实现,原理嘛,我觉得应该是用SQL语句来实现的,这方法好,简单易用,网上不乏精品工具,待会儿介绍一款。
一、现在我们详细描述一下如何用企业管理器清理SQL 2000的日志:
1、打开企业管理器,右击要处理的数据库--》属性--》选项--》故障还原,选“简单”--》确定。如图:
2、右击要处理的数据库--》所有任务--》收缩数据库--》什么也不动,默认第一个是0%,其它两个未选中,点确定--》如果您以前数据库日志文件大于1M那么现在再看看,是不是只有1M了呢。
3、操作完后--》按第一步,把“故障还原”,选“完全”,传说中SQL Server 2000 有自动还原功能,说是如果非法关机等因素造成数据丢失可以自动回滚,另外可以用程序来实现操作回滚,所以最好是让故障还原是“完全”。
4、这样便实现了“SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它”中的清除,变小,压缩了,至于怎么管理,自己看着办吧,我一般只会用到这些,再有深入研究的话我会写上来的`。
二、现在我们介绍用第三方SQL Server 日志清理工具来清理日志,简单易用高效,推荐用这个方法。
我喜欢用 SqlServer日志清除专家 v3.5 来实现这个功能。界面如下:
数据库那里一般会将整个服务器的数据库名都列举出来,需要选择为自己账户能管理到的那个,我这里DB_iszip账户能管理的是 iszip ,选择好之后,点“清除日志”按钮,然后SQL Server 2000的日志就被清理好了,此时你去服务器看你数据库日志占用空间就只有1M了。
;4. 怎样缩小SQLServer数据库日志文件
先收缩一下数据库,日志文件如果有用,先做个备份
网络上有相关的日志清理软件,随便下载一个清理一下就行了
5. 如何清除SQLserver 日志
方法一:
1)打开查询分析器,输入命令 BACKUP LOG databasename WITH NO_LOG ;
2)打开企业管理器-->右键要压缩的数据库-->所有任务-->收缩数据库-->收缩文件-->选择日志文件-->在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
方法二:
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
1)设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->选择你的服务器-->打开数据库目录-->选择你的数据库名称-->右击选择属性-->选项-->在故障还原的模式中选择“简单”,然后按确定“保存 ”
2)在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用修改,直接点确定
3)收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第1点,因为日志在一些异常情况下往往是恢复数据库的重要依据 。
6. 怎样压缩数据库的日志文件
具体方法有3种。
方法一:
第一步:
backup
log
database_name
with
no_log
或者
backup
log
database_name
with
truncate_only
--
no_log和truncate_only是在这里是同义的,随便执行哪一句都可以。
第二步:
1.收缩特定数据库的所有数据和日志文件,执行:
dbcc
shrinkdatabase
(database_name,[,target_percent])
--
database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比。
2.收缩一次一个特定数据库中的数据或日志文件,执行
dbcc
shrinkfile(file_id,[,target_size])
--
file_id是要收缩的文件的标识
(ID)
号,若要获得文件
ID,请使用
FILE_ID
函数或在当前数据库中搜索
sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc
shrinkfile
将文件大小减少到默认文件大小。两个dbcc都可以带上参数notruncate或truncateonly,具体意思查看联机帮助.
方法二:
第一步:
先备份整个数据库以备不测
。
第二步:
备份结束后,在Query
Analyzer中执行如下的语句:
exec
sp_detach_db
yourDBName,true
--卸除这个DB在MSSQL中的注册信息
第三步:
到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录
第四步:
在Query
Analyzer中执行如下的语句:
exec
sp_attach_single_file_db
yourDBName,'
d:\mssql\data\yourDBName_data.mdf
'
--以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。
方法三:
1.
进入企业管理器,选中数据库,比如demo
2.
所有任务->分离数据库
3.
到数据库文件的存放目录,将MuOnline_log.LDF文件删除,以防万一,你可以拷出去
4.
企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个叉,不要紧,继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。
5.
记得数据库重新附加后用户要重新设置一下。
如果以后,不想要它变大:
SQL2000下使用:
在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用SQL语句:
alter
database
数据库名
set
recovery
simple
7. sql server 日志文件ldf的压缩
不要压缩。直接转移日志文件。将来要用,再全部转回来,和帐套的时间不必匹配的。
8. SqlServer日志文件过大问题的解决方法
直接用SQL的收缩数据库功能,就可以收缩日志了。
具体操作:企业管理器-具体数据库-右键-所有任务-收缩数据库