社区
应用实例
帖子详情
如何获取数据库日志的lsn 谢谢
camish
2005-03-04 12:17:44
我想获取数据库最后一条日志的lsn,请问如何获取?谢谢
...全文
336
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误区30日谈 第14天 清除
日志
后会将相关的
LSN
填零初始化
误区 #14.清除
日志
后会将相关的
LSN
填零初始化 错误 当
日志
文件在手动增长,自动增长和创建时都会进行填零初始化操作。但是请不要把这个过程和定期清除
日志
的过程搞混。
日志
截断仅仅意味着将一个或多个VLF标记为不活动以便被重复使用。在
日志
清除的过程中,并没有任何
日志
被清除或是填0。“清除
日志
”和”截断
日志
”意思是一样的,但都属于用词不当,因为在这个过程中
日志
的大小不会有任何改变。 你可以在我的博客中看到有关
日志
文件填零初始化的博文:Search Engine Q&A #24: Why can’t the transaction log use instant initializ
SQL Server事务
日志
备份内容研究.pdf
SQL Server事务
日志
备份内容研究.pdf
21-recovery -ARIES.pdf
经典数据恢复的论文ARISE,卡耐基梅隆大学教学文档。 文档结合了oracle的相关实现进行分析,肯定会有收获。
应用实例
27,581
社区成员
68,544
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章