2017-08-01 79 views
-2

我在第一DB一个表,我做事务复制,创建第二DB此表,但我想改变第一列名在用户table.I改变它,但是当我插入,更新或删除第一DB复制的表是失败。请帮我如何更改SQL Server中订阅者表中的列名?

+1

您是否尝试过的研究甚至一个基本量?请使用您的确切问题标题查看此链接。有几个链接有详细的解释。 https://www.google.com/search?q=How+to+change+column+name+in+subscriber+table+in+SQL+Server&ie=utf-8&oe=utf-8 –

+0

@SeanLange:是​​的,我谷歌,但我无法找到确切的答案或确切的方法来解决它 – AP4MH

+2

天哪赞一个。 https://www.mssqltips.com/sqlservertip/2396/steps-to-rename-a-subscriber-database-for-sql-server-transactional-replication/对谷歌的第二个链接。您的具体问题与如何解决它的详细说明。 –

回答

2

要对事务复制用户不同的表架构并不简单。

首先,你必须使用自定义存储过程来将复制更改,按Transactional Articles - Specify How Changes Are Propagated

然后,你必须运行一个脚本后,每个初始化/重新初始化重新应用架构更改,可能使用Execute Scripts During Synchronization

更简单的替代方法是在发布者上创建索引视图并将其作为表发布。请参阅:https://docs.microsoft.com/en-us/sql/relational-databases/replication/publish/publish-data-and-database-objects

+0

我从来没有想过我们可以修改那些存储过程,谢谢你的链接 – TheGameiswar

+0

我改变了我的列名并修改了3个存储过程sql server创建** sp_MSdel_dboUsers ** ** sp_MSins_dboUsers ** ** sp_MSup_dboUsers **只需将用户ID更改为ID即可,但是我不知道它的正确方法 – AP4MH

相关问题