【发布时间】:2008-09-15 16:00:00
【问题描述】:
我使用的是 SQL Server 2000,并且我有两个数据库,它们都复制(事务推送订阅)到单个数据库。我需要知道记录来自哪个数据库。
所以我想将发布中指定的固定列添加到我的表中,这样我就可以知道该行来自哪个数据库。
我该怎么做?
我想避免更改主数据库,主要是因为我需要这样做很多表。我希望有一些内置的复制功能可以在某些地方为我做到这一点。除此之外,我会采用视图的想法。
【问题讨论】:
我使用的是 SQL Server 2000,并且我有两个数据库,它们都复制(事务推送订阅)到单个数据库。我需要知道记录来自哪个数据库。
所以我想将发布中指定的固定列添加到我的表中,这样我就可以知道该行来自哪个数据库。
我该怎么做?
我想避免更改主数据库,主要是因为我需要这样做很多表。我希望有一些内置的复制功能可以在某些地方为我做到这一点。除此之外,我会采用视图的想法。
【问题讨论】:
您可以使用计算列在两个数据库上使用以下内容:
ALTER TABLE TableName ADD
MyColumn AS 'Server1'
然后只需定义单个“主”数据库以使用您使用计算的列值填充的 VARCHAR 列(或任何您想要的)。
【讨论】:
您可以创建一个视图,添加“常量”列,并将其用作复制源。
【讨论】:
所以我的解决方案是设置复制发布以允许转换并为每个站点创建一个 DTS 包,将 siteid 附加到表中以保持 id 唯一,因为我不能使用 guid。
【讨论】: