zoukankan      html  css  js  c++  java
  • Replication--将LSN转换成16进制

    在复制中经常会使用到16进制的LSN,但在日志fn_dblog中的LSN是数字形式,于是从网上找到以下转换函数
    CREATE FUNCTION dbo.fn_convertnumericlsntobinary(
    @numericlsn numeric(25,0)
    ) returns binary(10)
    AS
    BEGIN
    -- Declare components to be one step larger than the intended type
    -- to avoid sign overflow problems. For example, convert(smallint, convert(numeric(25,0),65535)) will fail but convert(binary(2),
    -- convert(int,convert(numeric(25,0),65535))) will give the
    -- intended result of 0xffff.
    declare @high4bytelsncomponent bigint,
    @mid4bytelsncomponent bigint,
    @low2bytelsncomponent int
    select @high4bytelsncomponent = convert(bigint, floor(@numericlsn / 1000000000000000))
    select @numericlsn = @numericlsn - convert(numeric(25,0), @high4bytelsncomponent) * 1000000000000000
    select @mid4bytelsncomponent = convert(bigint,floor(@numericlsn / 100000))
    select @numericlsn = @numericlsn - convert(numeric(25,0), @mid4bytelsncomponent) * 100000
    select @low2bytelsncomponent = convert(int, @numericlsn)
    return convert(binary(4), @high4bytelsncomponent) +
    convert(binary(4), @mid4bytelsncomponent) +
    convert(binary(2), @low2bytelsncomponent)
    END

  • 相关阅读:
    NeatUpload 同时选择并上传多个文件
    前言
    11:连续出现的字符(1.9)
    06笨小猴(1.9)
    05:最大值和最小值的差(1.9)
    02:输出最高分数的学生姓名(1.9)
    04:谁拿了最多奖学金(1.9)
    03 不高兴的津津(1.9)
    01:查找特定的值(1.9)
    1813(2.1)
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3521245.html
Copyright © 2011-2022 走看看