社区
应用实例
帖子详情
如何获取数据库日志的lsn 谢谢
camish
2005-03-04 12:17:44
我想获取数据库最后一条日志的lsn,请问如何获取?谢谢
...全文
341
8
打赏
收藏
如何获取数据库日志的lsn 谢谢
我想获取数据库最后一条日志的lsn,请问如何获取?谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
camish
2005-03-04
打赏
举报
回复
非常感谢。
如果我想获取的是 operation为COMMIT_XACTD的最后一条日志呢?
NinGoo
2005-03-04
打赏
举报
回复
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
参数:
Dbid or dbname - 任一数据库的ID或名字
type - 输出结果的类型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常详细的信息(plus object name, index name,page id, slot id)
3 - 每种操作的全部信息
4 - 每种操作的全部信息加上该事务的16进制信息
默认 type = 0
NinGoo
2005-03-04
打赏
举报
回复
dbcc log (dbname)
camish
2005-03-04
打赏
举报
回复
其实我这里想问的是 DBCC Log 命令的运行机理。
DBCC Log 返回的是数据库日志的最后若干条日志记录。那么每次运行它时,它是如何决定这一次应该返回几条记录?它如何决定某个日志记录之后的日志记录返回,而该日志记录之前的记录不返回呢?
谢谢
camish
2005-03-04
打赏
举报
回复
谢谢邹建大哥。但是我的意思是:
例如有一次,我执行DBCC log(RepTest,2)命令,结果返回的是2条记录。那么为什么我这一次获取的是2条,而不是3条,或是1条。这时候数据库日志里面肯定不止2条日志。这里面是否有什么机制或者原因呢?
谢谢
zjcxc
2005-03-04
打赏
举报
回复
create table #t([Current LSN] char(22),Operation varchar(50),Context varchar(50),[Transaction ID] char(13))
insert #t exec('dbcc log (库名,4)')
这个已经把结果输出到临时表了,至少条件,你自己在查临时表的时候加吧
camish
2005-03-04
打赏
举报
回复
非常感谢。
我试了一下。DBCC Log 返回了最后若干条日志记录。
那么它返回的日志记录符合那些条件?
肯定不是数量,因为有时候返回的条数多,有时候返回的条数少。
zjcxc
2005-03-04
打赏
举报
回复
create table #t([Current LSN] char(22),Operation varchar(50),Context varchar(50),[Transaction ID] char(13))
insert #t exec('dbcc log (库名,4)')
select top 1
*
from #t
where Operation='COMMIT_XACTD'
order by [Current LSN] desc
drop table #t
SQL Server
数据库
错误9003(
LSN
无效)的处理方法
SQL Server作为一个中大型
数据库
是不应该在桌面系统上运行的,小规模企业一般不使用专用服务器,大部分直接使用XP系统+桌面引擎MSDE作为SQL
数据库
的后台服务。这种方案当然就谈不上什么稳定性和可靠性了,最糟的是在死机、重启或意外掉电后
数据库
会出现打不开的现象,其中错误9003
论文研究-一种工程
数据库
日志
管理系统的设计与实现.pdf
探讨了一种工程
数据库
管理系统中的
日志
管理子系统的设计和实现方法。该方法以
LSN
(Log Sequence Number)来组织
日志
记录,用于实现
日志
记录的高效存储和读取,提高
数据库
实例恢复和事务回滚的速度,在此基础上可以实现ARIES协议。
SQL Server事务
日志
备份内容研究.pdf
SQL Server事务
日志
备份内容研究.pdf
21-recovery -ARIES.pdf
经典数据恢复的论文ARISE,卡耐基梅隆大学教学文档。 文档结合了oracle的相关实现进行分析,肯定会有收获。
重塑SQL Server
数据库
的
LSN
历史数据拉取(Debezium系列)
在本文中,我们将探讨如何使用Debezium来重置SQL Server
数据库
的
LSN
(
日志
序列号)历史数据拉取。Debezium是一个开源的数据变更捕获和传输平台,它能够监视
数据库
的变更并以实时流的形式传递给下游消费者。Debezium会将
数据库
的历史变更记录保存在一个专用的topic中,我们需要删除这些历史数据。我们需要将
LSN
重置为一个较早的值,以便从历史数据更改开始拉取。通过执行以上步骤,您可以成功重置SQL Server
数据库
的
LSN
历史数据拉取,并使用Debezium进行变更捕获和传输。
应用实例
27,580
社区成员
68,545
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章