Sql server SQL Server合并复制-从复制中排除列
环境:一个总部(HO)和两个门店(S1和S2),SQL Server 2008 R2 目标: 我需要从表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上工作时,它会在订阅服务器上删除此列。我们需要这个专栏 我尝
用户
上的合并复制中排除列密码
(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。现在需要注意的是,下次修改表的模式时,将重新创建存储过程,因此您必须确定这是否适合您