2、可以通过日志文件进行数据的恢复。
3、如果ldf过大,可以将数据库属性中的模式设置为简单,然后右键收缩数据库进行日志文件清理,清理完成后再将数据库模式改回原模式。
1、LDF文件是SQL数据库的一部分,不能进行删除,但是可以对它日志进行清除,即对日志文件进行Shrink *** 作。
2、MDF文件这么大,而生成的备份这么小,一的原因是备份文件在存储的时候就考虑了压缩,二可能是你的表设计的问题,例如用了很多的CHAR类型,三可能是数据库的表进行很多的DELETE *** 作,存在很多空闲空间。
3、对于上面的第三点,你也可以对MDF文件进行Shrink,这样也能减掉很多空间。
4、要对远程的SQLSERVER进行 *** 作,你只要在本机安装一个SQLSERVER的个人版,将远程机加入你的节点,这样你就能像 *** 作本机一样 *** 作远程机。
可以先分离数据库。
删除ldf日志文件。
可以使用Create语句在mdf的基础上重新创建数据库(如:CREATE DATABASE qc3 on (FileName='D:\Data\qc3mdf') FOR ATTACH_REBUILD_LOG)
建议更改数据库的事务日志,限制文件增长的最大值和定期备份日志和数据。在以下处理之前,最好整体备份整个数据库:
1:由小的事务引起日志溢出,系统能正常启动。
解决办法:
扩大数据库日志空间:
alter database 数据库名 on 设备名=数量(M为单位)
sp_logdevice 数据库名,设备名
清除日志
dump transaction 数据库名 with no_log(no_truncate)
2:由大的事物引起日志溢出,系统较长时间内无法正常启动或数据库无法恢复
解决办法:
强行清空日志。
在实在无法恢复数据库或有近期备份的情况下,可采用强行清空日志的方法。采取这种方法的后果有可能彻底破坏数据库。执行步骤如下:
Ⅰ 以-v 方式启动SQL SERVER(不检测日志)
Ⅱ 修改数据库状态为-32768(阻塞状态)
update sysdatabases set status=-32768 where name=数据库名
Ⅲ 授权sybase_ts_role权限(sybase_ts_role为SQL SERVER特殊管理员权限,在日常的数据库管理中,不需要这个角色)
sp_role “grant”,”sybase_ts_role”,sa
set role “sybase_ts_role”
Ⅳ 清除日志
dbcc rebuild_log(数据库名,1,1)
完成以上步骤后,重新启动SQL SERVER即可。如果数据库能正常启动,数据库就恢复完成;如果无法启动,只能重新创建数据库。
2截断事务日志:BACKUP LOG 数据库名WITH NO_LOG3收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了也可以用SQL语句来完成--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfilesDBCC SHRINKFILE(1) 代码如下复制代码backup, log, 模式-- 第一步:清空日志DUMP TRANSACTION [YZGA] WITH NO_LOG-- 第二步:截断事务日志BACKUP LOG [YZGA] WITH NO_LOG-- 第三步:收缩数据库尽管可用该选项手动截断事务日志,但是我们极力建议您不要这样做,因为这会将日志链断开。在下一次完整备份或完整差异备份之前,将无法为数据库提供媒体故障保护。只在非常特殊的情况下才手动截断日志,并立即创建数据备份。 删除日志方法二1、进入企业管理器,选中数据库,比如it,所有任务->分离数据库。2、如果数据库正在连接使用,要先点清除,才可以选确定。3、到数据库文件的存放目录,将it_logLDF文件删除,不放心可以先拷到别的地方。4、进入企业管理器,数据库->所有任务->附加数据库。5、选择it_DataMDF,这个时候你会看见日志文件这项是一个红叉,不要紧点确定。6、此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。
处理方法:
1、用BACKUP LOG database WITH NO_LOG清除日志
把数据库属性中的故障还原模型改为“简单”可以大大减慢日志增长的速度。
用BACKUP LOG database WITH NO_LOG命名后,会截断不活动日志,不减小物理日志文件的大小,但逻辑日志会减小,收缩数据库后会把不活动虚拟日志删除来释放空间,不会损坏数据。
如果日志被截断并收缩数据库后,就不能直接用最近的一个全库备份做时间点还原,建议立即备份数据库,以防万一。
2、sql server运行中,删除主数据库事务日志文件,步骤如下:
(1)、分离数据库管理器-数据库-右击要删除日志的数据库-所有任务-分离数据库
(2)、然后删除日志文件
(3)、然后再附加数据库
企业管理器-数据库-右击数据库-所有任务-附加数据库时只附加mdf
3、压缩SQL数据库及日志的详细方法
可以在数据库属性选项中选择“Auto shrink”选项,让系统自动压缩数据库,也可以用人工的方法来压缩。
没戏,bak文件是原有数据库的备份文件,所以只能以还原的方式把这个文件还原,只有通过附加的方式才可以抛掉日志文件的。
所以你只能老老实实的把备份文件还原了,占用空间很大,然后使用分离数据库把数据文件和日志文件分离,然后日志文件就可以删除了。
这样就可以通过附加的方式只附加数据文件,日志文件自动生成一个就很小了。
但是,无论怎么做,你首先还是要完完整整的还原才行。
以上就是关于ldf是什么文件全部的内容,包括:ldf是什么文件、SQL2000里面的日记怎么删除就是格式为LDF 我的数据库bak的还原后,为什么MDF和LDF都这么大、SQLserver数据库备份数据文件过大怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)