数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
--压缩日志及数据库文件大小

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

--压缩日志及数据库文件大小

/*--特别注意
 请按步骤进行,未进行前面的步骤,请不要做后面的步骤
 否则可能损坏你的数据库.
--*/

1.清空日志
 DUMP  TRANSACTION  库名  WITH  NO_LOG   

2.截断事务日志:
 BACKUP LOG 数据库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小
 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

 也可以用SQL语句来完成
 --收缩数据库
 DBCC SHRINKDATABASE(客户资料)
 
 --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
 DBCC SHRINKFILE(1)

4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
 a.分离数据库:
  企业管理器--服务器--数据库--右键--分离数据库

 b.在我的电脑中删除LOG文件

 c.附加数据库:
  企业管理器--服务器--数据库--右键--附加数据库

 此法将生成新的LOG,大小只有500多K

 或用代码:
 下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
 
 a.分离
 EXEC sp_detach_db @dbname = 'pubs'

 b.删除日志文件
 
 c.再附加
 EXEC sp_attach_single_file_db @dbname = 'pubs',
    @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

5.为了以后能自动收缩,做如下设置:
 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
 
 --SQL语句设置方式:
 EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE' 

6.如果想以后不让它日志增长得太大
 企业管理器--服务器--右键数据库--属性--事务日志
  --将文件增长限制为xM(x是你允许的最大数据文件大小)

 --SQL语句的设置方式:
 alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)




相关文章

相关软件