SQL数据库瘦身问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 20:38:28
我手上有个网站的SQL数据库备份,用SQLserver2000还原后,有400多M,日志文件(log)有120多M,我刚刚用分离数据库的方法删掉了日志,可是重新加载以后,数据库大小没有改变;这个网站在原来服务器上运行的时候,数据库空间只有100M,为什么备份还原之后变得这样大了?如果里面有垃圾,怎样辨别?怎样给数据库瘦身啊?
另外,我用QLserver2000把这个上传到新的网站空间以后,又删掉了其中的表,留下了系统表(删不掉。。。。。),为什么我的网站的数据库显示占用还是400多?
小弟是菜鸟,真心请教诸位高手。请高手们回答的时候不要只是笼统的说1 2 3 ,小弟需要的是详细的指导,谢谢。全部的家当30分献上,请不吝赐教。

--首先,用下面的语句,检查/修复数据库/并整理索引碎片(需要比较长的时间,请在系统空闲时进行此工作)

USE MASTER
GO

sp_dboption '你的数据库名', 'single user', 'true'
Go

DBCC CHECKDB('你的数据库名', REPAIR_REBUILD)
Go

USE 你的数据库名
go

exec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_REBUILD)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
go

sp_dboption '你的数据库名', 'single user', 'false'
Go

--然后用这个压缩数据库日志文件.
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT

--Select * From Sysfiles
USE YSERP -- 要操作的数据库名
SELECT @LogicalFileName = 'YSERP_Log' , -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 20