[转帖]调整数据库日志空间为数据空间
<div class="t_msgfont" id="message7551116">1 准备工作<br/>    1、备份master和用户数据库。<br/>    2、在做以下操作时,确认没有其它业务在操作。<br/>    3、将用户数据库设置为单用户状态。<br/>    sp_dboption ‘dbname’,’single’,’true’<br/>    go<br/>    use dbname<br/>    go<br/>    checkpoint<br/>    go<br/><br/>2        查询出日志设备文件<br/>Sp_helpdb dbname<br/>go<br/><br/>输出类似如下:<br/>device_fragments               size          usage<br/>         created                   free kbytes<br/>------------------------------ ------------- --------------------<br/>         ------------------------- ----------------<br/>xtpt                                200.0 MB data only<br/>         Aug 10 2007  1:53PM                 186856<br/>xtpt                                100.0 MB data only<br/>         Aug 10 2007  1:53PM                 101936<br/>xtpt                                300.0 MB data only<br/>         Aug 10 2007  1:53PM                 306000<br/>xtpt                                100.0 MB data only<br/>         Aug 10 2007  1:53PM                 102000<br/>xtpt                                324.0 MB data only<br/>         Aug 10 2007  1:53PM                 330480<br/>xtpt_log                             54.0 MB log only<br/>         Sep 10 2007  4:39PM       not applicable<br/>xtpt_log1                           100.0 MB  log only<br/>         Sep 11 2007 10:54AM       not applicable<br/>如果只有一个数据库设备用于日志,这时候需要添加一个数据库日志设备。如果有多个日志设备,直接进行下一步操作。<br/><br/>3        查询日志段使用的设备名<br/>select sysdevices.name,sysusages.* from sysusages,sysdevices where sysusages.dbid = 6 and sysusages.vstart=sysdevices.low and sysusages.segmap = 4 order by sysusages.lstart<br/><br/>这里查询出来有多条记录,在下一步删除日志段的时候,要从后向前删除,直道达到你的要求。<br/>name                           dbid   segmap      lstart      size<br/>         vstart      pad    unreservedpgs crdate<br/>------------------------------ ------ ----------- ----------- -----------<br/>         ----------- ------ ------------- --------------------------<br/>xtpt_log                            6           4      131072        6912<br/>            67108864   NULL          6885        Sep 10 2007  4:39PM<br/>xtpt_log1                           6           4      137984       12800<br/>            83886080   NULL         12750        Sep 11 2007 10:54AM<br/><br/>4        在数据库设备上删除日志段<br/>use dbname<br/>go<br/>sp_dropsegment logsegment,dbname,devicename<br/>go<br/><br/>例如:<br/>use xtpt<br/>go<br/>sp_dropsegment logsegment,xtpt,xtpt_log1<br/>go<br/><br/>5       将日志段设备扩展为数据段设备<br/>sp_extendsegment segname,dbname,devname<br/><br/>例如:<br/>sp_extendsegment default, xtpt,xtpt_log1<br/>go<br/><br/>6        进行数据库检查<br/>dbcc traceon(3604)<br/>go<br/>dbcc checkdb(dbname)<br/>go<br/>dbcc checkalloc(dbname)<br/>go<br/>dbcc checkdb(master)<br/>go<br/>dbcc checkalloc(master)<br/>go<br/><br/>7        完成后的处理<br/>重起数据库Server,将应用数据库的单用户取消。<br/>sp_dboption ‘dbname’,’single’,’false’<br/>go<br/>use dbname<br/>go<br/>checkpoint<br/>go<br/><br/><br/>注意:<br/>     以上操作是比较危险的操作,所以请在操作前一定注意做好数据备份。</div><div class="t_msgfont"><div class="msgheader">QUOTE:</div><div class="msgborder"><div class="t_msgfont">FROM:http://bbs.chinaunix.net/thread-1011484-1-1.html</div><div class="t_msgfont">作者:<a class="bold" href="http://bbs.chinaunix.net/profile-uid-181706.html" target="_blank">jarjar</a></div></div></div>
		页: 
[1]