大家有没有遇到数据库快照的问题,我刚了数据库快照,但发现都不会变大,这是怎么回事呢?数据库快照不是随数据库中更新时,页会被复制到快照文件中吗?指帮忙SQL数据库快照

解决方案 »

  1.   


    你说的没错,数据库快照是在页级别操作,当SOURCE数据库的页被更新以后,原始的页会被COPY到SNAPSHOT数据库。所以SNAPSHOT数据库数据会随着原数据库的数据改变而增大,快照数据库的最大值是创建快照的时候元数据库的大小。如果你觉得你的快照数据库大小没有改变,你可以做一个更新测试,然后从元数据库和快照数据库查询,看看数据是不是更新的数据已经被复制到了快照数据库。
      

  2.   

    如果没有查询记录出现那么肯定是快照设置问题,你可以看看MSDN如果正确的创建快照。
      

  3.   


    正如这位朋友说得,我想问可不可以这么讲:数据库DEMO中的A表有100条记录,这时创建快照,快照数据库B此时也只有100条记录,是吧?后在10点对数据库DEMO中A表插入100条记录,些时快照B会变为200条还仍是100条记录?若在11点时对数据库DEMO中A表再加50条,DEMO中A此时有250条,这时快照B是200还是250条记录?能否解答下,谢谢
      

  4.   

    如果插入操作用了新页,是不需要记录到快照的,所以说用插入检查快照是实验方法有问题,你应该用大量的update操作来试验
      

  5.   

    正如这位朋友说得,我想问可不可以这么讲:数据库DEMO中的A表有100条记录,这时创建快照,快照数据库B此时也只有100条记录,是吧?
    RE:这是的快照虽然占用磁盘空间,但实际上没有数据,你对快照的select 实际上还是对元库进行查询,快照只有在某库修改时才会记录修改前的数据;后在10点对数据库DEMO中A表插入100条记录,些时快照B会变为200条还仍是100条记录?
    10点对表A插入了100条记录后,只要原来库的数据没有改变,比如删除、更新,快照的状态还是跟创建时候一样。
      

  6.   

    推荐一个网址:
    http://msdn.microsoft.com/en-us/library/ms175158.aspx
      

  7.   

    数据快照,实际就是基于时间点存储修改数据页。 copy on write .一旦数据也修改 ,那么前一个数据页的老的版本就会存储。空间分配 按照  64k增长, 数据文件大小老是 64的倍数。 数据文件是稀疏文件,就是有大小但是不分配空间,只有实际数据写入的时候才分配空间(个人感觉不是)。