太阳集团2138备用网址

  • 防弹少年团金泰亨蓝发登各国热搜 玩儿转红粉金黑棕各种发色实力演绎“有颜任性”【组图】 2019-04-25
  • 龙烨为袁竹逍遥画派配画诗欣赏之三 2019-04-25
  • 因应增值税下调 多个豪车品牌在华降价 2019-04-25
  • “小屏论”话两会:“习语”暖人心 2019-04-25
  • 低价 贴心 保障 国美3.15,为消费者保驾护航低价贴心保障 国美315,为消费者保驾护航-国美 2019-04-25
  • 中央政治局同志向党中央和习近平总书记述职 2019-04-25
  • China Daily Website 2019-04-25
  • 【守护好我们的美丽家园】新疆的明天一定会更好 2019-04-25
  • 22年后紫霞仙子归来 可至尊宝已经不是他了 2019-04-25
  • 【独家V观】你好 意大利 2019-04-25
  • 合肥一文化公司人去楼空老板跑路 老人购买保健品被骗上万元 2019-04-25
  • 北京二手房交易实现一网通办 20分钟就办完 ——凤凰网房产北京 2019-04-25
  • NBA史上最牛的9大名帅 波波在这里只能排倒三 2019-04-25
  • 《阿丽塔》要和《流浪地球》抢票房 2019-04-24
  • 百城住宅均价环比涨幅持续收窄 变化大多在1%内 2019-04-24
  • 欢迎来到 黑吧太阳集团2138备用网址 是业内专业的游戏平台,为你提供各式各样的精品游戏,最全的游戏项目,同时还为您提供各种游戏专题游戏攻略人气论坛。

    SQL Server事件记载信息研究探讨

    来源:本站整理 作者:佚名 时间:2017-09-08 TAG: 我要投稿

    太阳集团2138备用网址 www.r-island.com fn_dblog()和fn_dump_dblog()函数简介

    SQL Server有两个未地下的函数fn_dblog()和fn_dump_dblog()异常有效而且供给的信息量很大。你能够利用这些函数来获得100多列大批的有效信息。
    fn_dblog()用于阐发数据库以后的事件日记文件,它必要两个参数,分别为事件开端LSN和停止LSN,默觉得NULL,表现前往事件日记文件的一切日记记载。
    比方:

    SELECT * FROM fn_dblog(null,null);
    fn_dump_dblog()用于阐发数据库的事件日记备份文件,该函数必要的参数许多,但咱们只必要传入备份文件的完备门路称号,其余参数利用默认值DEFAULT。
    比方:
    SELECT *
    FROM fn_dump_dblog (
    NULL, NULL, 'DISK', 1, 'D:\Pay\Pay_201707280400_LOG.trn',
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT);
    再来看看下图多个事件操纵写入到事件日记文件的表现:

    紧张数据输入列值
    咱们再来阐发下100多列输入中的几个紧张列:
    [Transaction Name]
    该列描写该事件操纵的范例,重要值有:
    INSERT、UPDATE、DELETE、DROPOBJ
    主要值有:
    AllocPages、SplitPage、AllocHeapPageSysXactDML、UpdateQPStats、Backup:CommitLogArchivePoint、BTree Split/Shrink等。
    典型的利用是经由过程DROPOBJ值来查找工具删除操纵。
    [Operation]
    该列描写日记里记载的操纵的详细范例,重要值有:
    LOP_BEGIN_XACT、LOP_COMMIT_XACT、LOP_INSERT_ROWS、LOP_DELETE_ROWS、LOP_MODIFY_ROW、LOP_MODIFY_COLUMNS
    主要值有:
    LOP_BEGIN_CKPT、LOP_END_CKPT、LOP_XACT_CKPT、LOP_LOCK_XACT、
    LOP_DELETE_SPLIT、LOP_EXPUNGE_ROWS、LOP_MODIFY_HEADER、LOP_FORMAT_PAGE、LOP_COUNT_DELTA、LOP_HOBT_DELTA、LOP_INSYSXACT、LOP_INVALIDATE_CACHE、LOP_MIGRATE_LOCKS、LOP_SET_BITS、LOP_SET_FREE_SPACE、LOP_SHRINK_NOOP、LOP_TEXT_INFO_BEGIN、LOP_TEXT_INFO_END
    [Begin Time]
    事件操纵的开端光阴。
    [PartitionID]
    详细操纵的哪一个分区,能够联系关系查问到详细影响的哪一个表或索引。
    [TRANSACTION SID]
    该事件操纵的用户SID,能够经由过程SUSER_SNAME()函数转换为用户名。
    详细示例阐发
    再来看一个详细事件操纵:
    SELECT [Current LSN], [Transaction ID], [Transaction Name], [Operation], [Begin Time], [PartitionID], [TRANSACTION SID]
    FROM fn_dump_dblog (
    NULL, NULL, 'DISK', 1, 'D:\Pay\Pay_201707280400_LOG.trn',
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
    DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
    WHERE [Transaction ID]='0000:5c9b41e2';

    依据[Transaction Name]为INSERT晓得这是一个拔出操纵,详细哪条是拔出的数据行,哪条是索引行,能够依据后面的PartitionID再去联系关系查问到。
    依据[TRANSACTION SID]能够查问到操纵的用户:

    SELECT SUSER_SNAME(0x017017A631B52141B2338990DCFFADCC);
    依据[PartitionID]查问到操纵的工具:
    SELECT so.name
    FROM sys.objects so
    INNER JOIN sys.partitions sp on so.object_id = sp.object_id
    WHERE partition_id in(
    72057594041204736,
    72057594070630400);

    依据partition_id还能够更详细的检查是数据行照样索引行:
    --检查某个表的详细数据散布
    SELECT DISTINCT so.name AS 'table_name', so.object_id,sp.partition_id,si.name AS 'index_name',internals.type_desc,internals.total_pages, internals.used_pages, internals.data_pages,first_iam_page, first_page, root_page
    FROM sys.objects so
    INNER JOIN sys.partitions sp ON so.object_id = sp.object_id
    INNER JOIN sys.indexes si ON sp.object_id = si.OBJECT_ID AND sp.index_id = si.index_id
    INNER JOIN sys.allocation_units sa ON sa.container_id = sp.hobt_id
    INNER JOIN sys.system_internals_allocation_units internals ON internals.container_id = sa.container_id

    [1] [2]  下一页

    【声明】:太阳集团2138备用网址(http://www.r-island.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@www.r-island.com,我们会在最短的时间内进行处理。
    • 最新更新
      • 相关阅读
        • 本类热门
          • 最近下载