回复人: progress99(如履薄冰) ( ) 信誉:100  2004-4-14 7:53:58  得分:20 
 
 
  
页和扩展盘区
在 Microsoft® SQL Server™ 中,数据存储的基本单位是页。在 SQL Server 2000 中,页的大小是 8 KB。这意味着 SQL Server 2000 数据库每兆字节有 128 页。每页的开始部分是 96 字节的页首,用于存储系统信息,如页的类型、页的可用空间量、拥有页的对象的对象 ID 等。下表显示 SQL Server 2000 数据库的数据文件中的八种页类型。页类型 内容 
数据 包含数据行中除 text、ntext 和 image 数据外的所有数据。 
索引 索引项。 
文本/图像 text、ntext 和 image 数据。 
全局分配映射表、辅助全局分配映射表 有关已分配的扩展盘区的信息。 
页的可用空间 有关页上可用空间的信息。 
索引分配映射表 有关表或索引所使用的扩展盘区的信息。 
大容量更改映射表 有关自上次执行 BACKUP LOG 语句后大容量操作所修改的扩展盘区的信息。 
差异更改映射表 有关自上次执行 BACKUP DATABASE 语句后更改的扩展盘区的信息。 
日志文件不包含页,而是包含一系列日志记录。数据页包含数据行中除 text、ntext 和 image 数据外的所有数据,text、ntext 和 image 数据存储在单独的页中。在数据页上,数据行紧接着页首按顺序放置。在页尾有一个行偏移表。在行偏移表中,页上的每一行都有一个条目,每个条目记录那一行的第一个字节与页首的距离。行偏移表中的条目序列与页中行的序列相反。
 
 

解决方案 »

  1.   

    楼上的好像有点答非所问j9988老师的分页方法是这样的:
    CREATE PROCEDURE getpage @sqlstr varchar(400),@pagecount int,@pagesize int AS
    BEGIN
    set nocount on
    declare @P1 int
    set @pagecount=(@pagecount-1)*@pagesize+1
    exec sp_cursoropen @P1 output,@sqlstr
    exec sp_cursorfetch @P1,16,@pagecount,@pagesize
    exec sp_cursorclose @P1
    END
    GO但这过程输出时总会有一个空表和一个正确的结果集我把这个存储过程用在asp中时,只能取得空表,无法取得那个正确的结果集请大家赐教啊,多谢多谢了!!!
      

  2.   

    在调用后加多一句
    set rs=rs.nextrecordset