剖析SQLSERVER2005的页面结构---表修改的内部处理篇.docVIP

剖析SQLSERVER2005的页面结构---表修改的内部处理篇.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
剖析SQLSERVER2005的页面结构---表修改的内部处理篇

剖析SQLSERVER2005的页面结构 表修改的内部处理篇 happyflystone 本篇介绍一下当我们通过alter table来修改数据表的列类型时因SQLSERVER只检查不修改数据而造成让大家迷惑的假象,或说是让人费解的地方。在这里我们只介绍三种情况:一增加列(有无缺省);二,删除列;三修改列;在大多数的情况下,SQLSERVER只要修改元数据而可能不会去触碰页面上的物理数据,所以如果我们通过dbcc page来查看页面的内容时会有点让人晕头转向,下面们先简单的说三种情况,最后做一些的解释。 一:增加列(有无缺省) -- Author : HappyFlyStone -- Date : 2009-12-01 22:00:00 -- Version: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86) -- Apr 14 2006 01:12:25 -- Copyright (c) 1988-2005 Microsoft Corporation -- Enterprise Edition on Windows NT 5.2 (Build 3790: SP2) -- 转载注明出处及相关信息 create table altertc(id int identity(1,1),col char(10)) go insert into altertc select REPLICATE(a,5) union all select REPLICATE(b,5) go -- 下面的三次执行分别通过dbcc page看页面的变化 alter table altertc add col2 char(20) –-第一次 go alter table altertc add col2 char(20) default tt –-第二次 go insert into altertc select cccc, –-第三次增加记录 go dbcc ind(testcsdn,altertc,-1)--239 dbcc traceon(3604) dbcc page(testcsdn,1,239,1) drop table altertc /* Slot 0, Offset 0x60, Length 21, DumpStyle BYTE Record Type = PRIMARY_RECORD Record Attributes = NULL_BITMAP Memory Dump @0x444CC060 0100000061202020 ?aaaaa fc?????????????????????????? ... -- alter table altertc add col1 char(20) -- alter table altertc add col2 char(20) default Slot 0, Offset 0x60, Length 21, DumpStyle BYTE Record Type = PRIMARY_RECORD Record Attributes = NULL_BITMAP Memory Dump @0x4444C060 0100000061202020 ?aaaaa fc?????????????????????????? ... --insert into altertc select cccc, Slot 2, Offset 0x8a, Length 41, DumpStyle BYTE Record Type = PRIMARY_RECORD Record Attributes = NULL_BITMAP Memory Dump @0x443CC08A 0300000020202020 ?..cccc 2020202020202020 ? 000

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档