MSSQL 2005/2008 日志压缩清理方法小结

适用于SQL Server 2005的方法
---------------------------------------------

复制代码 代码如下:

USE DNName
GO

1,清理日志

复制代码 代码如下:

Backup Log DNName WITH no_log
GO

2,截断事务日志

复制代码 代码如下:

DUMP TRANSACTION DNName WITH no_log
GO

3,收缩
两种方式
  1):压缩数据库
     DBCC SHRINKDATABASE(库名)
     GO
  2):指定数据文件,可以通过这个语句查询到:select * from sysfiles
   此方式也可以通过操作:右键你要压缩的数据库--所有任务--收缩数据库--收缩文件,分别选择数据和日志的文件要压缩的大小来执行
     DBCC SHRINKFILE (文件名)
     GO
4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a.分离
EXEC sp_detach_db @dbname=‘库名‘
b.删除日志LOG文件
c.再附加

复制代码 代码如下:

EXEC sp_attach_single_file_db @dbname=‘库名‘,
@physname=‘c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名.mdf‘

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

复制代码 代码如下:

EXEC sp_dboption ‘库名‘, ‘autoshrink‘, ‘TRUE‘

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

时间: 2024-10-01 03:53:48

MSSQL 2005/2008 日志压缩清理方法小结的相关文章

SQLServer (2005/2008) 日志清理方法

--数据库日志名称查询 USE DBNAME GO SELECT file_id, name,* FROM sys.database_files; GO------------------------------------------------------------------------------------------------------- --SQL SERVER 2005 清理方法 USE [master] BACKUP LOG DBNAME WITH no_log USE

SQL Server 2005/2008压缩数据库日志的方法

适用于SQL Server 2005的方法 1 Backup Log DNName WITH no_log 2 GO 3 DUMP TRANSACTION DNName WITH no_log 4 GO 5 USE DNName 6 DBCC SHRINKFILE (2) 7 GO 说明:由于SQL Server 2008对文件和日志管理进行了优化,所以以上语句在SQL2005中可以运行但在SQL2008中已经被取消. 适用于SQL Server 2008的方法 1 USE [master] 2

Cacti监控mssql 2005

生产环境: OS:CentOSrelease 6.7 (Final) 监控软件:Cacti 0.8.8a 插件:cacti087e-mssql-host_template.tgz 下载地址: http://docs.cacti.net/_media/usertemplate:host:microsoft:cacti087e-mssql-host_template.tgz 任务:cacti监控mssql 2005运行资源情况 概述:SQL Server2000\2005\2008本身不支持snmp

cacti监控mssql 2005运行资源情况

概述:SQL Server2000\2005\2008本身不支持snmp,使用cacti监控mssql,必须通过php连接mssql来获取SQL 2005性能计算器的值. 操作步骤: 1.php连接mssql的freetds工具 [[email protected] /]# yum install freetds –y 2.安装php-mssql驱动 [[email protected] /]# yum install php-mysql -y 3.测试mssql的连接 [[email prot

SQL Server日志文件过大 大日志文件清理方法 不分离数据库

SQL Server日志文件过大    大日志文件清理方法 ,网上提供了很多分离数据库--〉删除日志文件-〉附加数据库 的方法,此方法风险太大,过程也比较久,有时候也会出现分离不成功的现象.下面的方式是不需要做数据库分离和附加操作的. SQL 2008收缩清空日志方法: 1.在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完整模式,一定必务要再改回完整模式,不然数据库就不支持时间点备份了.1).选择数据库–属性-选项-恢复模式–选择简单.2).收缩数据库后,再调回完整.2

SQL Server 2005数据库日志丢失的恢复

网上关于SQL Server 2005数据库日志丢失的处理方法基本上都是修改数据库系统表,但是我测试N多遍都不成功,最后用英文关键字Google了下,发现一个可行方法,折磨了我两天的问题得以解决... 背景说明:名为testdb的数据库丢失了日志文件,仅有数据文件testdb.mdf 请先不要急于开始操作,如果你真的很急,请直接看我的成功试验方法(*下面的内容) 1.新建数据库testdb 2.停掉SQL Server服务器 3.删除刚刚创建好的testdb的日志文件testdb_log.ldf

SQL SERVER 2005/2008 中关于架构的理解(二)

本文上接SQL SERVER 2005/2008 中关于架构的理解(一)      架构的作用与示例 用户与架构(schema)分开,让数据库内各对象不再绑在某个用户账号上,可以解决SQL SERVER 2000及以前版本中“用户离开公司"问题,也就是在拥有该对象的用户离开公司,或离开该职务时,不必要大费周章地更改该用户所有的对象属于新的用户所有.另外,也可让 DBA 在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容易区别.也就是说,在单一数据库内,不同部门或目的的对

SQL SERVER 2005/2008 中关于架构的理解(一)

引用:http://www.cnblogs.com/chillsrc/p/3383098.html 在一次的实际工作中碰到以下情况,在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry' 无效.”.当带上了架构名称之后(如“cus.CustomEntry”),却又能查询到表中的数据了,但是查询语句是已经写死在了应用程序中的,如果要进行更改,就有很大的工作量, 这是一件很郁闷的事情.于是想从数据库层面上解决此问题

【缓存】Sql Server 2005/2008 SqlCacheDependency查询通知的使用总结

Sql server 7.0/2000下 SqlCacheDependency使用轮询的方式进行缓存失效检查, 虽然ms说对服务器压力不大, 但还是有一些的, 而且对于不常改动的混存内容无休止的轮询感觉有点浪费, 不很经济. Sql server 2005/2008下增加使用查询通知方式进行缓存失效检查, 它通过Sql Server内部的消息队列进行异步通知, 这样就大大减轻了服务器的压力, 实现的很经济, 下面就是具体的步骤: 1.检测是否已经启用Service Broker Select D