在SQL Server Management Studio中的表编辑之后保存更改

如果我想保存表中以前保存在SQL Server Management Studio中的任何更改(表中没有数据),则会收到一条错误消息:

保存更改是不允许的。 您所做的更改需要删除并重新创build以下表格。 您要么对无法重新创build的表进行更改,要么已启用“禁止保存需要重新创build表的更改”选项。

什么可以防止表容易编辑? 或者,是SQL Server Management Studio需要重新创build表进行编辑的常用方法吗? 这是什么 – 这个“选项防止保存更改”

进入工具 – >选项 – >devise器 – >取消选中“防止保存需要重新创build表的更改”。 瞧。

发生这种情况是因为有时需要删除并重新创build表格才能更改某些内容。 这可能需要一段时间,因为所有数据都必须复制到临时表中,然后重新插入到新表中。 由于SQL Server默认不会信任你,所以你需要说“好的,我知道我在做什么,现在让我做我的工作”。

工具>选项

在这里输入图像描述

取消上面的选项

要解决此问题,请使用SQL语句对表的元数据结构进行更改。

“禁止保存需要重新创build表的更改”选项已启用时,会发生此问题。

源: 尝试在SQL Server 2008中保存表时出现错误消息:“保存更改是不允许的”

去SSMS并尝试这个

菜单>>工具>>选项>>devise师>>取消选中“保存需要重新创build表单的更改”。

这是一个很好的解释: http : //blog.sqlauthority.com/2009/05/18/sql-server-fix-management-studio-error-saving-changes-in-not-permitted-the-changes -你具备的,虚构的要求最下桌,待删和重新创build的,你具备的,无论是制作,修改到一个标签/

而不是取消选中框(一个不好的解决scheme),你应该停止编辑数据的方式。 如果数据必须更改,那么使用脚本来完成,以便您可以轻松地将其移植到生产环境中,以便在源代码控制之下。 这也使得在生产推迟开发之后刷新testing更改变得更容易,使开发人员能够处理更新的数据。

在SQL Server Management Studio中的表编辑器中,可以非常容易地进行许多更改实际上需要SSMS在后台删除表并从头开始重新创build表。 即使像重新排列列这样简单的东西也不能用标准的SQL DDL语句来表示 – 所有SSMS可以做的就是删除并重新创build表。

这个操作可能是a)在大型表上非常耗时,或者b)由于各种原因(如FK约束和东西)可能会失败。 因此,SQL Server 2008中的SSMS引入了其他答案已经确定的新选项。

起初,防止这种变化似乎是违反直觉的 – 而且这对开发者服务器来说肯定是一种麻烦。 但是在生产服务器上,这个选项及其防止这种改变的默认值成为潜在的救命!

这是closures此选项的风险。 如果您启用了更改跟踪(您的表格),则可能会丢失更改。

克里斯

http://chrisbarba.wordpress.com/2009/04/15/sql-server-2008-cant-save-changes-to-tables/