SQLServer2008为什么不允许保存更改错误_不允许保存更改错误步骤说明

说实话,SQL Server 2 008 真是个蹩脚的东西。
编辑表结构并保存时出错是相当烦人的。
只有一个基本原因:默认情况下它会阻止您更改它。
特别是如果你改变列类型,删除主键等,它认为会发生大事,所以它不会让你保存。

解决步骤其实很简单:
1 .打开 SSMS 并连接到服务器。
2 . 单击顶部的“工具”并选择“选项”。
3 . 在左侧树形菜单中找到“设计器”。
4 . 在右侧您会看到“防止保存需要重新创建表的更改”,默认情况下会选中该选项。
单击以取消选择。
5 . 然后按确定保存。

像这样进行更改后,就可以到表格设计器中进行移动列等操作。
Ctrl+S 会直接保存,不重建表。

但请记住,执行此操作后,更改表结构时需要小心。
尤其是更改数据类型、增删约束等操作,最好先备份数据,以防出现问题。
此设置仅对您当前用户有效,不会影响其他用户。
如果您想恢复默认设置,请再次选择此选项。

总之,这样做之后改表就容易多了,但是需要自己检查一下,不要随意更改关键数据类型。

SQLServer2008为什么不允许保存更改错误_不允许保存更改错误步骤说明

这就是洞。

SQLServer2 008 ,于 2 008 年发布,可防止保存需要重新创建表的更改,2 008
步骤:工具->选项->设计器->取消选中。

不要这样做,先备份。

SQLServer2008保存更改出现错误的原因-为何SQLServer2008不允许保存更改并出现错误

你好,SQL Server 2 008 无法保存更改的这个陷阱,我过去经常遇到过。
让我告诉你一个现实生活中的场景,看看是否有帮助。

比如2 008 年我在做一个小型医院系统的数据库,然后系统运维说数据库一直报错,无法保存。
我一看,哎呀,原来是个护士。
她输入了患者的年龄,直接输入了负数-5 当我查看表结构时,年龄字段被定义为INT类型,并添加了CHECK(Age > 0)约束。
这样不是会报错并阻止直接保存吗?如果你仔细想想,这是一个数据完整性问题。
如果新值与字段定义不匹配,系统当然不允许更改。
后来我让她填正数,或者直接填零(如果允许的话),问题就解决了。

再一次,在电子商务系统中,运营商做生意。
他输入了一堆订单数据。
结果,中间的订单号重复了,违反了 PRIMARY KEY 约束。
这东西没有写TRY...CATCH,也没有ROLLBACK,直接导致整个事务卡住了。
然后另一个操作员过来保存数据,但系统也卡住了,因为他的事务中还有未完成的语句,事务状态不一致。
这实在是一个陷阱。
后来我教他们,复杂的操作一定要用TRY...CATCH来捕获异常,出错就ROLLBACK,否则整个系统就会卡住。

还有一个权限问题,我也已经解决了。
2 01 0年,我在做一个政府项目,用户权限出了问题。
他只有 SELECT 权限,但必须使用 UPDATE 语句来更改数据。
这不是报权限错误吗?系统直接拒绝保存。
我当时就让他申请UPDATE权限或者我直接给他授权。
你看,如果权限不足,系统肯定不允许修改。

最后就是锁冲突,这是最烦人的。
2 01 4 年我在金融系统工作,当时系统并发量非常高。
用户A更改了一行数据,但在发送之前,用户B再次更改了同一行。
结果,用户B的请求被卡住,系统要求“锁等待超时”。
当时,我建议他们调整事务隔离级别,例如使用READ COMMITTED SNAPSHOT,或者缩短事务持续时间以防止事务变得未提交。
你看,存在锁冲突,保存自然失败。

总而言之,要解决 SQL Server 2 008 无法保存更改的问题,您必须: 1 . 检查错误信息,是否存在数据类型不匹配、权限不足、锁冲突等情况。
2 . 更正数据或约束,确保输入值与字段定义匹配。
3 . 处理事务,使用TRY...CATCH捕获异常并ROLLBACK。
4 . 验证权限以查看用户是否具有 UPDATE 权限。
5 、优化锁定机制,防止事务未提交,或者使用NOLOCK(但要注意数据一致性问题)。

您应该尝试这些方法,您应该能够解决大部分问题。
如果还有其他情况,告诉我,我看看我当时做了什么。