zoukankan      html  css  js  c++  java
  • SQL Server 2008中的“阻止保存要求重新创建表的更改”

         当在SQL Server 2008中建好一张表后,如果要在Management Studio中修改表结构,十有八九会弹出“阻止保存要求重新创建表的更改”,恼人得很。根据我的使用,除了改列名或者删除列才有可能不弹出该提示,其它很多情况都会跳出这个该死的提示,样子如图:

         解决的方法其实也很简单:在Management Studio里找菜单栏上的“工具”然后点击下面的选项,在出现的下面的这个界面中展开“设计器”项,选中“表设计器和数据库设计器”,然后去掉“ 阻止保存要求重新创建表的更改”前面的勾就行了,如图:

         究其原因,应该是某些DDL会改变存储的物理结构,因此需要重新构建该表。SQL Server在改变物理结构都变动的表结构时会先将数据移到暂存表中,然后Drop掉原先的表,再建立一张新的符合要求的表,之后又把刚才暂存表中的数据复制回来,最后再删除暂存表。由此可见,这个过程极有可能会十分耗时,这将会导致该表长时间不能被访问,Stuido的守候sessions将会超时出错。为了避免出现这种错误,微软的做法就是在默认的情况下不允许表的物理结构发生变动。

         看来应该是微软一时半载也想不出如何解决这个问题,于是就用“砍脚趾避沙虫”的愚蠢方法将就着解决这个问题。其实微软为什么不能人性化点,如果变动的表是空表或者是少于100条记录的表就不再提示那不好些么?我想,会改动表结构的情况一般是在开发的时候,真正生产了就算改动也会编程用ALERT TABLE语句,所以人性化点不会有太大的坏处。

  • 相关阅读:
    SQL查询设计方案
    [导入]mootools框架【十】mootools深层探讨
    关于阅读技术类图书的思考
    [导入]mootools框架【三】Array篇: 主要方法测试实例
    Google Chrome隐藏的其他功能
    2010年就业最吃香的五大专业详情揭秘
    [导入]mootools框架【四】Function篇: 主要方法解析
    [导入]mootools框架【九】工具类Hash和Color
    [导入]mootools框架【八】Dom篇: Css查询支持之Dom.js
    分页控件入门
  • 原文地址:https://www.cnblogs.com/Libra/p/1344841.html
Copyright © 2011-2022 走看看