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语句,所以人性化点不会有太大的坏处。

  • 相关阅读:
    从屏幕截取一块区域,将其赋给imageView
    oc 中随机数的用法(arc4random() 、random()、CCRANDOM_0_1()
    UIPopoverController
    IOS-- UIView中的坐标转换
    TCP、UDP的区别
    TCP/IP协议简单介绍
    NSTimer类的使用
    UI基础-网络编程
    IOS面试中的一些问题
    iOS开发UI篇—UITabBarController简单介绍
  • 原文地址:https://www.cnblogs.com/Libra/p/1344841.html
Copyright © 2011-2022 走看看