SQL数据库的日志文件太大的烦恼! 各位大侠: 我用的是SQL数据库,每做一次查询或是其它的操作后,发现其的日志文件会增大,现在日志文件比数据文件大的多了,请问有何解决方法? 在线等待,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用'管理'->'数据库维护计划'来做选择数据库->从数据库文件中删除未使用的空间当数据库的大小超过n MB 时收缩数据库 保留 10 % 的数据空间作为可用空间,这样可以调度执行,不需要手工操作。在维护日志备份序列时,调度 BACKUP LOG 语句按间隔发生,以使事务日志不致增长到超过预期的大小。 *当不维护日志备份序列时,指定简单恢复模式。 详情请参考 MS SQL Server 2000 联机丛书: 目录--> SQL Server构架-->数据库构架-->物理数据库构架-->事务日志构架-->收缩事务日志 目录--> SQL Server构架-->数据1: 删除LOG 1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库 2:删除LOG文件 3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库 此法生成新的LOG,大小只有500多K 再将此数据库设置自动收缩 或用代码: 下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = 'pubs'EXEC sp_attach_single_file_db @dbname = 'pubs', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'2:清空日志DUMP TRANSACTION 库名 WITH NO_LOG 再:企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了清空日志DUMP TRANSACTION 库名 WITH NO_LOG 或截断日志:backup log 数据库 with no_log--清除日志方法1、--在查询分析器,选中所要清理日志的数据库,执行如下SQLbackup log 数据库名 with no_logDBCC SHRINKFILE ( 日志文件名或日志文件ID,要缩小的目标大小) 在当前数据库下select fileid,groupid,name from sysfiles where groupid=0----------------------------------------得到以下结果fileid groupid name 2 0 test_log 以上结果,fileid为日志文件ID,name为test_log你可以backup log test with no_logdbcc shrinkfile (2,2)orbackup log test with no_logdbcc shrinkfile ('test_log',2)如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复 模型 选择 简单模型就可以了!或用SQL语句alter database 数据库名 set recovery simple方法2、SQL SERVER企业管理器-》SQL SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。展开服务器组,然后展开服务器。展开"数据库"文件夹,右击要从中删除数据或日志文件的数据库,然后单击"属性"命令。若要删除数据文件,单击"常规"选项卡。若要删除日志文件,单击"事务日志"选项卡。在"文件名"列中,单击要删除的文件名旁边的箭头,再按 DELETE 键。文件名旁出现十字光标,表明将删除此文件。 说明 只能删除空文件。从数据库中删除文件之前,应先删除文件中的所有对象,并收缩该数据库 VB中关于图像处理的问题 问个问题.如何获得后台弹出窗口的句柄 添加 删除 记录 错误 DBGrid能否绑定数组,和改变某一符合条件的行的颜色? 显示、打印上下标问题? 怎么样在打开excel文件的时候 不让宏自动运行??? 急!!! 关于VB类 SOS啊!!ListView 这个控件 如何显示从数据库里提取出来2个字段的数据????????? 各位大虾,哪有vb拨号控制程序源码?。。。。。。急急急急急 2个问题,看看。 怎么使一个窗口成为响应式窗口 msflexgrid中的列问题
选择数据库->从数据库文件中删除未使用的空间
当数据库的大小超过n MB 时收缩数据库 保留 10 % 的数据空间作为可用空间,这样可以调度执行,不需要手工操作。
在维护日志备份序列时,调度 BACKUP LOG 语句按间隔发生,以使事务日志不致增长到超过预期的大小。 *当不维护日志备份序列时,指定简单恢复模式。 详情请参考 MS SQL Server 2000 联机丛书: 目录--> SQL Server构架-->数据库构架-->物理数据库构架-->事务日志构架-->收缩事务日志 目录--> SQL Server构架-->数据1: 删除LOG
1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
2:清空日志
DUMP TRANSACTION 库名 WITH NO_LOG 再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
清空日志
DUMP TRANSACTION 库名 WITH NO_LOG 或截断日志:
backup log 数据库 with no_log--清除日志
方法1、
--在查询分析器,选中所要清理日志的数据库,执行如下SQL
backup log 数据库名 with no_log
DBCC SHRINKFILE ( 日志文件名或日志文件ID,要缩小的目标大小)
在当前数据库下
select fileid,groupid,name from sysfiles where groupid=0
----------------------------------------
得到以下结果
fileid groupid name
2 0 test_log 以上结果,fileid为日志文件ID,name为test_log你可以
backup log test with no_log
dbcc shrinkfile (2,2)
or
backup log test with no_log
dbcc shrinkfile ('test_log',2)
如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复 模型 选择 简单模型就可以了!
或用SQL语句
alter database 数据库名 set recovery simple方法2、
SQL SERVER企业管理器-》SQL SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,
然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。
展开服务器组,然后展开服务器。
展开"数据库"文件夹,右击要从中删除数据或日志文件的数据库,然后单击"属性"命令。
若要删除数据文件,单击"常规"选项卡。若要删除日志文件,单击"事务日志"选项卡。
在"文件名"列中,单击要删除的文件名旁边的箭头,再按 DELETE 键。文件名旁出现十字光标,表明将删除此文件。
说明 只能删除空文件。从数据库中删除文件之前,应先删除文件中的所有对象,并收缩该数据库