Sql server 2008 r2 如何在SQL Server 2008 R2复制的架构中包括默认值设置

Sql server 2008 r2 如何在SQL Server 2008 R2复制的架构中包括默认值设置,sql-server-2008-r2,database-schema,windows-server-2008-r2,transactional-replication,Sql Server 2008 R2,Database Schema,Windows Server 2008 R2,Transactional Replication,我在运行SQL Server 2008 R2的两个单独的Windows 2008 R2服务器之间设置了事务复制。我正在使用发布服务器上的SSM设置复制 我在创建出版物文章时选择了数据库中的所有内容。表、存储过程、视图、索引视图和用户定义函数。我创建了快照,然后开始复制。一切似乎都运转正常。我没有得到任何错误 但是,当我在使用SSM的设计视图中查看订阅服务器上的一些复制表时,它们在发布服务器数据库中存在的默认值或绑定部分中缺少值 在发布属性中找不到任何有关默认值或绑定的设置。我在发布属性的订阅选项

我在运行SQL Server 2008 R2的两个单独的Windows 2008 R2服务器之间设置了事务复制。我正在使用发布服务器上的SSM设置复制

我在创建出版物文章时选择了数据库中的所有内容。表、存储过程、视图、索引视图和用户定义函数。我创建了快照,然后开始复制。一切似乎都运转正常。我没有得到任何错误

但是,当我在使用SSM的设计视图中查看订阅服务器上的一些复制表时,它们在发布服务器数据库中存在的默认值或绑定部分中缺少值

在发布属性中找不到任何有关默认值或绑定的设置。我在发布属性的订阅选项选项卡中将复制架构更改设置为true

我错过了什么?复制不应该将表架构中设置的任何默认值复制到订阅服务器上吗

作为一个例子,下面是复制脚本的一部分,它涉及一个特定的表,我在其中看到了这个问题

exec sp_addarticle @publication = N'Main_All', @article =    N'Piece_Details2', @source_owner = N'dbo', @source_object = N'Piece_Details', @type = N'logbased', @description = N'', @creation_script = N'', @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F, @identityrangemanagementoption = N'none', @destination_table = N'Piece_Details', @destination_owner = N'dbo', @status = 24, @vertical_partition = N'false', @ins_cmd = N'CALL [sp_MSins_dboPiece_Details]', @del_cmd = N'CALL [sp_MSdel_dboPiece_Details]', @upd_cmd = N'SCALL [sp_MSupd_dboPiece_Details]' 

提前感谢您的帮助。

我删除了上一个答案,因为我对您的复制类型给出了错误的响应。选择出版物的项目时,存在将默认值规范复制到订阅服务器的设置。默认值为false。将该值设置为true应确保约束应用于订阅服务器。选择文章时请参阅文章属性。您可以申请全部或一个。

谢谢您为我指明了正确的方向。您知道如何编辑现有出版物以应用此更改吗?您可以查看sp_changearticle,但是,要复制您的文章更改,将需要一个新的快照。我决定按照您的建议重新创建出版物并选择正确的属性。谢谢你的帮助。