如果我想将任何更改保存在表中(以前保存在SQL Server Management Studio中)(表中没有数据),我会收到一条错误消息:
不允许保存更改。您所做的更改要求删除并重新创建下表。您已经对无法重新创建的表进行了更改,或者启用了“防止保存需要重新创建该表的更改”选项。
什么会使表格不容易编辑?还是SQL Server Management Studio要求重新创建表进行编辑的通常方法?这是什么-这个“防止保存更改的选项”?
如果我想将任何更改保存在表中(以前保存在SQL Server Management Studio中)(表中没有数据),我会收到一条错误消息:
不允许保存更改。您所做的更改要求删除并重新创建下表。您已经对无法重新创建的表进行了更改,或者启用了“防止保存需要重新创建该表的更改”选项。
什么会使表格不容易编辑?还是SQL Server Management Studio要求重新创建表进行编辑的通常方法?这是什么-这个“防止保存更改的选项”?
Answers:
进入工具->选项->设计器->取消选中“防止保存需要重新创建表的更改”。瞧
发生这种情况是因为有时必须删除并重新创建表才能更改某些内容。这可能需要一段时间,因为所有数据都必须复制到临时表中,然后重新插入到新表中。由于默认情况下SQL Server不信任您,因此您需要说“确定,我知道我在做什么,现在让我来工作。”
工具>选项
取消选中以上选项
要变通解决此问题,使用SQL语句来更改表的元数据结构。
启用“防止保存需要重新创建表的更改”选项时,会发生此问题。
您应该停止以这种方式停止编辑数据,而不是取消选中该框(解决方案不佳)。如果必须更改数据,请使用脚本进行处理,以便您可以轻松地将其移植到生产环境中,并在源代码控制下。这也使得在将生产推向开发人员之后更容易刷新测试更改,以使开发人员能够处理更新的数据。
前往SSMS并尝试这个
菜单>>工具>>选项>>设计器>>取消选中“防止保存需要重新创建表的更改”。
这是一个很好的解释:http : //blog.sqlauthority.com/2009/05/18/sql-server-fix-management-studio-error-saving-changes-in-not-permitted-the-changes您需要删除以下表并重新创建,您必须对表进行更改/
您可以在SQL Server Management Studio的表编辑器中非常轻松且直观地进行许多更改,实际上需要SSMS将表放在后台并从头开始重新创建。即使是简单的事情(如对列进行重新排序)也无法在标准SQL DDL语句中表达-SSMS所能做的就是删除并重新创建表。
此操作可能是a)在大型表上非常耗时,或者b)甚至由于各种原因(例如FK约束和填充)而失败。因此,SQL Server 2008中的SSMS引入了该新选项,其他答案已经确定。
乍一看来,阻止此类更改似乎违反直觉-当然,这对于dev服务器是很麻烦的。但是在生产服务器上,此选项及其防止此类更改的默认值可能会节省生命!
这有可能会关闭此选项。如果启用了更改跟踪(表),则可能会丢失更改。
克里斯
http://chrisbarba.wordpress.com/2009/04/15/sql-server-2008-cant-save-changes-to-tables/