none
无法枚举 RRS feed

  • 问题

  • 合并进程无法枚举“Publisher”上的更改。进行故障排除时,请使用详细的历史日志记录来重新启动同步,并指定要写入的输出文件。 (源: MSSQL_REPL,错误号: MSSQL_REPL-2147200999)
    获取帮助: http://help/MSSQL_REPL-2147200999
    无法在 Publisher“a-65DEF89”上执行查询,因为该连接已被选作死锁牺牲品。如果在合并进程执行内部重试之后仍然出现此错误,请重新运行合并进程。 (源: MSSQLServer,错误号: 1205)
    获取帮助: http://help/1205

    请问以上内容是什么意思?出现这个问题怎么解决?另外表里没有"Publisher”这么一列呀。

    2010年9月7日 2:25

答案

  • 死锁, 一般重试就可以了.

    具体死锁的原因, 你可以用 profile 跟踪一下死锁的事件(死锁基本上无法事后分析, 因为这个时候你不知道死锁的资源, 除非你事先有记录)

    • 已标记为答案 员工 2010年9月10日 3:23
    2010年9月7日 4:47
  • 如果你使用的是SQLServer2008,可以用下面的代码看下具体是死锁原因。
    SELECT CAST (
      REPLACE (
        REPLACE (
          XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'),
          '<victim-list>', '<deadlock><victim-list>'),
        '<process-list>', '</victim-list><process-list>')
      AS XML) AS DeadlockGraph
    FROM (SELECT CAST (target_data AS XML) AS TargetData
      FROM sys.dm_xe_session_targets st
      JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address
      WHERE [name] = 'system_health') AS Data
    CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
      WHERE XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report';
    
    • 已标记为答案 员工 2010年9月10日 3:23
    2010年9月7日 5:38
    版主
  • Publisher 指的就是复制里面的发布者
    • 已标记为答案 员工 2010年9月10日 3:23
    2010年9月7日 14:00
    版主

全部回复

  • 死锁, 一般重试就可以了.

    具体死锁的原因, 你可以用 profile 跟踪一下死锁的事件(死锁基本上无法事后分析, 因为这个时候你不知道死锁的资源, 除非你事先有记录)

    • 已标记为答案 员工 2010年9月10日 3:23
    2010年9月7日 4:47
  • 如果你使用的是SQLServer2008,可以用下面的代码看下具体是死锁原因。
    SELECT CAST (
      REPLACE (
        REPLACE (
          XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'),
          '<victim-list>', '<deadlock><victim-list>'),
        '<process-list>', '</victim-list><process-list>')
      AS XML) AS DeadlockGraph
    FROM (SELECT CAST (target_data AS XML) AS TargetData
      FROM sys.dm_xe_session_targets st
      JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address
      WHERE [name] = 'system_health') AS Data
    CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
      WHERE XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report';
    
    • 已标记为答案 员工 2010年9月10日 3:23
    2010年9月7日 5:38
    版主
  • 您好!我用的是sql server 2005。不过他说的这个“Publisher”是指的什么?
    2010年9月7日 6:40
  • 您好!这个提示已经没有了。不过提示的“Publisher”指的是什么呢?数据库里没有这一列呀。
    2010年9月7日 6:41
  • Publisher 指的就是复制里面的发布者
    • 已标记为答案 员工 2010年9月10日 3:23
    2010年9月7日 14:00
    版主