Sql 是否在ALTERTABLE drop列上删除并重新创建表?

Sql 是否在ALTERTABLE drop列上删除并重新创建表?,sql,sql-server,tsql,Sql,Sql Server,Tsql,这个问题对于sql server和t-sql更为具体,但想知道其他db产品中会发生什么情况是很有意思的。不总是这样,如果您启用了某种隐藏选项,sql server会强制您在必要时显式执行此操作。此选项位于: Tools / Options / Designers / Table and Database Designers "Prevent saving changes that requiere table re-creation" 对于缩小的图像,很抱歉,所以似乎正在这样做,但这里是

这个问题对于sql server和t-sql更为具体,但想知道其他db产品中会发生什么情况是很有意思的。

不总是这样,如果您启用了某种隐藏选项,sql server会强制您在必要时显式执行此操作。此选项位于:

Tools / Options / Designers / Table and Database Designers 
  "Prevent saving changes that requiere table re-creation"
对于缩小的图像,很抱歉,所以似乎正在这样做,但这里是项目


我在第二章中详细讨论了这个问题。答案是否,拖放列不会重新创建表

但是,有些工具可能会在公开“简化”表管理界面时重新创建表,如SSMS表设计器或模式差异工具,但这实际上意味着该工具正在发出T-SQL以创建新表、复制数据,然后删除旧表。这正是我为什么不使用所有这些工具(包括SSMS表设计器)的原因,我不喜欢所有基于diff的模式比较工具,而是喜欢使用