社区
MS-SQL Server
帖子详情
执行截断事务日志提示该日志未截断,为什么?
hbhuo2008
2007-12-23 10:14:36
我在SQL查询分析器执行backup log midi with no_log 或执行backup log midi with truncate_only 后下面提示该日志未截断,因为其开始处的记录是挂起的复制操作。请确保日志读取器代理正在运行,或使用sp_repldone将事务标记为分布式的。
我下一步要什么操作?
请指点,谢谢!
...全文
524
12
打赏
收藏
执行截断事务日志提示该日志未截断,为什么?
我在SQL查询分析器执行backup log midi with no_log 或执行backup log midi with truncate_only 后下面提示该日志未截断,因为其开始处的记录是挂起的复制操作。请确保日志读取器代理正在运行,或使用sp_repldone将事务标记为分布式的。 我下一步要什么操作? 请指点,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
中国风
2007-12-25
打赏
举报
回复
回2,3楼。。
---------------
一看就知
是提供的方法给楼主参照
看问题要从多角度...
中国风
2007-12-25
打赏
举报
回复
hbhuo2008
hbhuo
等 级:
发表于:2007-12-23 23:12:426楼 得分:0
操作1楼说的吗?
--------------------------------------
以上提供的操作日志方法,
楼主只能停代理,再操作..
----------
rouqu
2007-12-25
打赏
举报
回复
如果确认发布数据库挂起的事务已经同步到订阅服务器 手动执行sp_repldone也是可以的
hbhuo2008
2007-12-25
打赏
举报
回复
也就是说我必须在发布数据库midi上执行存储过程sp_repldone
w2jc
2007-12-24
打赏
举报
回复
启用发布的数据库不能随便备份(并截断)日志。
数据库引擎必须确保日志被发布出去之后才能备份(或截断)。
使用 sp_repldone 将需要备份的日志标记为“已发布”。
-狙击手-
2007-12-23
打赏
举报
回复
sp_repldone
更新标识服务器的上次分布式事务的记录。此存储过程在发布服务器的发布数据库上执行。
语法
sp_repldone [ @xactid = ] xactid
, [ @xact_seqno = ] xact_seqno
[ , [ @numtrans = ] numtrans ]
[ , [ @time = ] time
[ , [ @reset = ] reset
hbhuo2008
2007-12-23
打赏
举报
回复
操作1楼说的吗?
hbhuo2008
2007-12-23
打赏
举报
回复
没错,midi数据库做了发布,数据库是一直在发布复制,备份还原采用完全模式的.
那我现在要怎么操作才能顺利截断呢? 要停止分布式事物日志再截断还是像2楼说的那样操作?
谢谢了!
Limpire
2007-12-23
打赏
举报
回复
midi做了发布,而订阅服务器没有订阅,所以分布式事务日志属于活跃状态,当然不能截断。
-狙击手-
2007-12-23
打赏
举报
回复
没错,好像楼主的库在进行分发复制吧
Limpire
2007-12-23
打赏
举报
回复
能不能做一些针对性的回答呢,楼主的语句错了吗,没错吧
中国风
2007-12-23
打赏
举报
回复
压缩日志及数据库文件大小
/*--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
--*/
--下面的所有库名都指你要处理的数据库的库名
1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)
4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a.分离
EXEC sp_detach_db @dbname = '库名 '
b.删除日志文件
c.再附加
EXEC sp_attach_single_file_db @dbname = '库名 ',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名.mdf '
5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择 "自动收缩 "
--SQL语句设置方式:
EXEC sp_dboption '库名 ', 'autoshrink ', 'TRUE '
6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 库名 modify file(name=逻辑文件名,maxsize=20)
SQL 数据库2014 数据库
事务
日志
截断
配置
如果SQL 数据库
日志
已比较大,务必先做一次
事务
日志
收缩。 本文档属于已收缩
事务
日志
后编写的文档,切记切记
为什么完整备份不能
截断
事务
日志
导言 完整备份不能
截断
事务
日志
,这是所有SQL Server DBA的一个常识, 为此,当数据库处于完整恢复模式时(非特别说明,下文所提到都是完整恢复模式下的数据库),DBA们必须频繁地使用
事务
日志
备份的方式来防止
日志
文件变得过大。 这几乎成为了DBA们的一个定理,但,作为一个DBA,你证明过这个定理吗?你知道为什么完整备份不能
截断
事务
日志
吗? 一个...
SQL Server
事务
日志
截断
、回绕与收缩(转载)
每个 SQL Server 数据库都具有
事务
日志
,用于记录所有
事务
以及每个
事务
对数据库所做的修改。 必须定期
截断
事务
日志
以避免它被填满。 但是,一些因素可能延迟
日志
截断
,因此监视
日志
大小很重要。 某些操作可以最小
日志
量进行记录以减少其对
事务
日志
大小的影响。
事务
日志
是数据库的重要组件,如果系统出现故障,则可能需要使用
事务
日志
将数据库恢复到一致状态。 删除或移动
事务
日志
以前,必须完...
数据库
事务
日志
截断
VDI项目中,与用户一起讨论,数据库
事务
增长的原理结合misrosoft的官方资料,经过测试,总结一下数据库
事务
日志
的增长原理,个人经验总结,分享一下,相互学习如有不明之处,可以进行第6点的测试,测试结果对比后就明白了,可能个人表达能力不够完善。希望大家可以包容,谢谢!一、什么是数据库
事务
日志
每个 SQL Server 数据库都具有
事务
日志
,用于记录所有
事务
以及每个
事务
对数据...
事务
日志
的
截断
与收缩
截断
事务
日志
自动
截断
操作: 1、备份
事务
日志
2、设置简单模式再设置回来 3、使用backup log with no_log或 backup log with truncate_only 4、从
未
对数据库进行过完全(full)备份 概要总结:所谓的
截断
(truncated)只是将可恢复状态的VLF转换到可重用状态 因此,VLF的状态是...
MS-SQL Server
34,594
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章