我想更改表中的StudentPerformance
列
要更改的列是 -
StudentName varchar(50) to StudentName varchar(100)
Percentage decimal(18,0) to Percentage decimal(18,2)
它被配置为合并复制。
- 它会使我当前的快照过时吗?
- 我必须重新初始化所有订阅吗?
- 它会更新表中的所有记录,并且在我运行 alter 语句时会增加复制流量吗?
我想更改表中的StudentPerformance
列
要更改的列是 -
StudentName varchar(50) to StudentName varchar(100)
Percentage decimal(18,0) to Percentage decimal(18,2)
它被配置为合并复制。
您需要在 Publisher 中使用ALTER TABLE ALTER COLUMN语法来执行此操作。默认情况下,架构更改将在下一次同步时传播,发布属性@replicate_ddl必须设置为 true。大多数情况下不需要新的快照或重新初始化。
例如,我可以通过在发布数据库上执行将我的 SalesLT.Customer Title 列从 nvarchar(8) null 更改为 nvarchar(10) null:
ALTER TABLE SalesLT.Customer ALTER COLUMN Title NVARCHAR(10) NULL
在大多数情况下,架构更改将在下一次同步时复制出来,在发布数据库上进行架构更改中涵盖了一些例外情况。