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是你允许的最大数据文件大小)

--SQL语句的设置方式:

alterdatabase 库名 modify file(name=逻辑文件名,maxsize=20)

------分--隔-----

适用于SQL Server 2008的方法

[code]

USE [master]

GO

ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT

GO

ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式

GO

USE DNName

GO

DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)

GO

USE [master]

GO

ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式

GO

[code]

时间: 2024-09-26 17:04:00

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

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

适用于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

Sqlserver 2005日志压缩与数据库备份

一,日志压缩 命令很简单 DUMP TRANSACTION [数据库名] WITH  NO_LOG BACKUP LOG [数据库名] WITH NO_LOG DBCC SHRINKDATABASE([数据库名]) 例1  代码如下 复制代码 #sql2005日志压缩 "sqcrm2009" 为数据库 "sql2005管理维护新建t-sql" use sqcrm2009; go dump transaction sqcrm2009 with no_log backu

工作总结之PHP连接Microsoft SQL Server 2000/2005/2008

最近由于工作需要用于SQL Server,想做一个测试环境,SQL Server 2008不是刚出来,图个新鲜,就下载了2008版的,用了很多方法一直没能连接上SQL Server 2008.在网上找了一些资料,终于连接上了SQL Server 2008,整理了一下收集到的资料,利用中午休息时间,写个贴子发出来,让大家看看.呵呵!! PHP自带的MSSQL扩展php_mssql.dll原来是给SQL Server 2000用的,难怪连接不上2008?! -_-!!要使用SQL Server 20

php连接mysql与mssql 2005数据库代码

php教程连接mssql 2005 1.下载以下两个文件,放入php ext目录及system32 php_sqlsrv_52_ts_vc6.dll   (线程安全) php_sqlsrv_52_nts_vc6.dll (非线程安全) vc6用于apache,vc9用于iis 2.修改php.ini extension=php_sqlsrv_52_ts_vc6.dll 3.下载sqlncli.msi,微软官方可以下 安装的时候提示是sql server 2008的,不过2005也是可以用的. 4

清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案_mssql2008

SQL 2008日志文件占了23G硬盘空间,而事务日志已经截断(Truncate),实际日志内容很小,1G都不到,想要释放日志文件霸占的多余空间. 但是,无论怎么收缩(Shrink)日志文件,空间就是不能释放,总是出现错误: Cannot shrink log file 2 (CNBlogsText_log) because of minimum log space required. 之前解决过类似的问题,也写过一篇博客-SQL Server 2008事务日志清理,当时采用的最终解决方法是:

有关日志压缩

压缩 SET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS OFF GO CREATE PROCEDURE strink_logspace AS   SET NOCOUNT ON   DECLARE @LogicalFileName sysname,           @MaxMinutes INT,           @NewSize INT    SELECT  @LogicalFileName = rtrim(name),           @MaxM

Visual Studio 2005/2008的代码段编辑器

代码段(Snippet)是可以从键盘上快速访问的代码模版.它不是代码生成器,而是一些面向常用编码模式的快捷方式.它支持字段链接,因此,当修改某一处参数名称的时候就会同时更新整个代码块.另外,代码段还会自动添加项目引用和(命名空间)声明. 除去作为提高生产力的帮手外,在Visual Basic中它还充当培训工具的作用,其中包括简单如创建一个属性.一个异常类到复杂如通过串口播叫电话的一些列任务等.如果需要看到VB代码段的完整列表,需要敲"?-tab".(虽然C#也支持代码段,但内置的任务类

SQL Server 2008日志传送详解

一.什么是日志传送? 原理很简单,三个动作六个字:备份->复制->恢复. 如果由人来完成这个三个动作,只能叫日志搬运工:而由SQL Server Job自动完成,就叫日志传送.同样的事情,不一样的档次,所以叫法也不一样. 二.日志传送能解决什么问题? 解决数据库的多服务器热备份问题.多台服务器定时备份,随时可以作为主数据库服务器的替补. 三.日志传送的优点是什么? 简单!比SQL Server的数据库复制.镜像简单多了. 四.日志传送的缺点是什么? 日志文件的传输只支持Windows文件共享的

用MSSQL 2005减轻生产服务器优化负荷

[导读]优化较大的工作负荷会对所优化的服务器产生很大的开销.开销是由数据库引擎优化顾问在优化进程中多次调用查询优化器导致的.如果除生产服务器以外,再使用一台测试服务器,则可以消除此开销问题.本文介绍如何用MSSQL 2005减轻生产服务器优化负荷. 优化较大的工作负荷会对所优化的服务器产生很大的开销.开销是由数据库引擎优化顾问在优化进程中多次调用查询优化器导致的.如果除生产服务器以外,再使用一台测试服务器,则可以消除此开销问题. 数据库引擎优化顾问如何使用测试服务器 使用测试服务器的传统方法是将