本文將說明一個改善,此改進允許將包含作為事務性複製發佈中之專案的資料表從資料庫和發佈中刪除。 只有在擁有資料表的所有發佈中,將 [ allow_drop ] 屬性設定為 TRUE ,才能刪除表格。 如果針對包含該文章的任何發佈,屬性都設定為 FALSE ,則 DROP TABLE 作業將會失敗,並報告無法刪除複製的文章。如果發佈不支援 DROP TABLE DDL ,則 [ 刪除資料表 ] 作業會將資料表從發佈和資料庫中刪除。 記錄讀取器代理程式會針對刪除的資料表發佈 [發佈資料庫] 的 [清理] 命令,並清除發行者中繼資料。 如果記錄讀取器尚未處理參照已除去之資料表的所有記錄記錄,則會忽略與刪除的資料表相關聯的新命令。 已處理的記錄會傳送到發佈資料庫。 如果分發代理程式在處理過時的(已刪除)文章前進行處理,則它們可能會套用到訂閱者資料庫上。啟用投影用表格支援的命令:exec sp_changepublication @publication = '<Publication Name>', @property = 'allow_drop', @value = 'true' 建立出版物時啟用 drop table 支援的命令:exec sp_addpublication @publication = '<Publication Name>', ..., @allow_drop = N'true' [ Allow_drop ] 屬性的預設值會設定為 [ False]。

解決方案

此問題已在下列 SQL Server 累計更新中修正:

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2016 的最新累計更新

Service pack 資訊此功能是在下列 SQL Server service pack 中第一次推出:

關於 SQL Server 的 Service packService pack 是累加的。 每個新的 service pack 都包含舊版 service pack 中的所有修正程式,以及任何新的修正程式。 我們建議您將最新的 service pack 和該 service pack 的最新累計更新套用。 您在安裝最新的 service pack 之前,您不需要安裝舊版的 service pack。 使用下列文章中的表格1,尋找最新 service pack 和最新累計更新的詳細資訊。如何判斷 SQL Server 及其元件的版本、版本與更新層級

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×