“防止保存需要重新创建表的更改”负面影响
-
只有在 SQL Server 的 Management Studio 被编程为知道如何执行此操作的唯一方法时,才会删除并重新创建该表。
在某些情况下,它会在不需要时执行此操作,但也存在您在 Management Studio 中所做的编辑 不会 删除和重新创建的情况,因为它不必这样做。
问题是枚举所有案例并确定它们落在哪一边将是相当乏味的。
这就是为什么我喜欢
ALTER TABLE
在查询窗口中使用,而不是隐藏他们正在做的事情的视觉设计师(坦率地说有错误)——我确切地知道会发生什么,我可以为唯一可能发生的情况做准备是删除并重新创建表(这比
SSMS 对您执行此操作的频率要少一些)。这样做有什么负面影响/可能的缺点吗?
当然。如果您可以自己编写更改脚本而不重建整个表,那就更好了 - 考虑表为 10TB 并且数据库记录大量日志(想想同步
AG、更改跟踪、复制、编写不佳的触发器)和表的情况被高度访问-这是灾难的潜在秘诀。如果您的更改是您可以应用在线提示或添加列并批量复制数据而不是 GUI
将执行的全部或全部操作,那么这会更好。取消选中此框时,表实际上是否会自动删除并重新创建?
它 可能 。有一系列方案,结果取决于 SSMS 的版本、SQL Server 的版本,有时甚至是版本。您可以通过选中该框并尝试首先将更改
应用于无意义的数据库副本来进行 检查,但是使用实际的 ALTER TABLE 脚本而不是尖利的点击 GUI 是恕我直言的方法。如果是这样,该表是否是源表的 100% 精确副本?
是的,如果 SSMS 必须重建表,它在完成后将是 100%
精确的副本(当然更改除外),但这可能是下周三。该过程创建表的新版本,将所有数据复制到其中,然后删除旧表并重命名新表。
-
Sql Server 'Saving changes is not allowed' 错误——阻止保存需要重新创建表的更改
2022-03-22 关注 0 浏览42 1答案
-
如何使用Django Migrations重新创建已删除的表?
2021-01-29 关注 0 浏览99 1答案
-
为什么在重新启动线程时需要重新创建实例?
2021-01-29 关注 0 浏览81 1答案
-
删除和重新创建数据库后强制休眠以创建表
2021-02-01 关注 0 浏览123 1答案
-
Django 1.7迁移不会重新创建删除的表,为什么?
2021-01-29 关注 0 浏览73 1答案
-
拖放并重新创建一个表(在Heroku上)
2021-05-10 关注 0 浏览45 1答案
-
从 IEnumerable 重新创建字典>
2022-07-28 关注 0 浏览17 1答案
-
Java Spring重新创建特定的Bean
2021-01-30 关注 0 浏览129 1答案
-
创建错的表格我可以删除重新创建。
2022-05-22 关注 0 浏览14 1答案
-
阻止TabControl重新创建其子级
2021-02-02 关注 0 浏览103 1答案