在 Sql Server 2005 中,我们发布了几个表。该出版物有 3 个对 DB2 数据库的推送订阅(使用来自 HIS2009 的连接器)并且已经订阅了几个月。尝试添加另一个订阅,除了它是一个不同的服务器外,几乎与现有订阅相同,我们得到:
SQL Server could not create a subscription for Subscriber 'MY-DATABASE-2'.
An exception occurred while executing a Transact-SQL statement or batch.
OLE DB or ODBC Subscribers cannot subscribe to article 'my_table_1' in publication
'my_publication' because the article has a timestamp column and the publication is
'allow_queued_tran' (allows queued updating subscriptions).
The subscription could not be found.
Microsoft SQL Server, Error 21249
然而:
- my_table_1 不包含时间戳列
- 该出版物有allow_queued_tran = False
- 此出版物上还有其他成功的 OLE-DB DB2 订阅
- 发布中的其他表不包含时间戳。其中一些包含日期列,其 DB2 等效类型是“timestamp”,但 DB2 中的“timestamp”仅表示(日期和时间)——而不是系统生成的时间标记。