本人英雄王座国服老玩家,大学就耗这上面了,所以对英雄王座有着特殊的感情……
单机版英雄王座,使用SQL2000的数据库,一个5M的备份文件,还原后居然有2.7G,压缩率实在恐怖。
其实如果有注意,就会发现,还原后有两个文件,一个是xxx.mdf,另一个是xxx.ldf。mdf才是记录数据的,而ldf是日志文件,即:你新增、修改、删除mdf里的任何数据,都会被记录到ldf文件里。所以mdf文件很小,就几M或几十M,而ldf可能达到几G。
ldf是日志文件,只有在数据库发生灾难性错误的时候,用于恢复mdf用(也可能用于恢复到哪一天的数据状态),但这种恢复,很困难,SQL2000是微软公司的,可是这家公司却没有提供ldf文件恢复或者查看的工具和方法。你只能使用第三方软件来操作这个ldf日志文件。说白了,很扯蛋的方法。
所以,你完全可以删除ldf文件,因为你不需要它,你的游戏也不需要它。不过你不能直接删除,因为SQL2000需要它才能正常运行一个数据库。
操作方法:先使用企业管理器把数据库附加,然后再把它分离,然后把xxx.ldf文件重命名一个,随便什么名,接着再到企业管理器里把这个数据库附加,此时就找不到原来的xxx.ldf文件了,为附加的时候,会提示是不是建立ldf日志文件,你点是,则会自动新建一个ldf文件,这个文件只有500K,为什么这么小?因为新的嘛,没有任何日志在里头,以后不断的用,它会不断的增大。
总结一下整个操作思想:
1、让你要删除ldf文件的那个数据库,正常存在于sql2000企业管理器里;(这一步必须的,以game为例,我装sql2000以sql2008截图为例,操作是一样的)
2、把这个数据库分离(即把它脱离sql2000,不要让它存在于sql2000企业管理器里);
3、把ldf日志文件弄丢(别直接删除,防止万一有问题,你就没办法恢复这个数据库了,先重命名,第4步成功了,你再删除不迟)
4、附加这个数据库,会提示ldf日志文件不存在,然后问你是不是新建一个ldf日志文件,你点是,就ok了。
用这种方法,可以把任何使用sql server的大数据库弄小,免得占空间,而且还是被没用的日志文件占空间,多不值。
server里,一个数据库由两个文件组成:xxx.mdf和xxx.ldf,比如你有个数据库叫“love”,则对应的两个文件可能是“love_data.mdf”和“love_log.ldf”。为什么说可能?因为这个名称是微软自动生成的,但你可以随便指定,比如你可以叫“loveabc.mdf”和“love7788.ldf”,也可以随便叫什么,只要你乐意。所以,如果你有10个sql
server数据库,你将有20个文件,其中10个是mdf文件,另外10个是ldf文件。
3、mdf文件是存放数据的,而ldf文件是存放对mdf操作的日志,包括增、改、删的操作记录。