Sql server SQL Server合并复制-从复制中排除列

Sql server SQL Server合并复制-从复制中排除列,sql-server,Sql Server,环境:一个总部(HO)和两个门店(S1和S2),SQL Server 2008 R2 目标: 我需要从表用户上的合并复制中排除列密码(varchar(30))。Password列需要位于最初创建它的位置(HO或S1或S2)。POS应用程序需要Users表中的Password列对用户进行身份验证。我们需要在其他位置将此列复制为NULL 我尝试过的事情: 我从表Users上的合并发布中排除了列Password,但当快照代理第一次在S1或S2上工作时,它会在订阅服务器上删除此列。我们需要这个专栏 我尝

环境:一个总部(HO)和两个门店(S1和S2),SQL Server 2008 R2

目标

我需要从表
用户
上的合并复制中排除列
密码
varchar(30)
)。
Password
列需要位于最初创建它的位置(HO或S1或S2)。POS应用程序需要
Users
表中的
Password
列对用户进行身份验证。我们需要在其他位置将此列复制为NULL

我尝试过的事情:

我从表
Users
上的合并发布中排除了列
Password
,但当快照代理第一次在S1或S2上工作时,它会在订阅服务器上删除此列。我们需要这个专栏

我尝试在使用快照后快照脚本应用快照后添加列,但失败的原因是无法在订阅服务器上更改对象

有解决办法吗


感谢

复制在订阅服务器数据库中创建用于插入数据的存储过程。示例存储过程如下所示:

create procedure [dbo].[sp_MSins_dboTable]
    @c1 int,
    @c2 int,
    @c3 varchar(256)
as
begin  
    insert into [dbo].[Table](
        [ID],
        [User],
        [Password]
    ) values (
    @c1,
    @c2,
    @c3 ) 
end  
在上面的示例中,您可以更改存储过程并插入NULL而不是@c3。现在需要注意的是,下次修改表的模式时,将重新创建存储过程,因此您必须确定这是否适合您