当前位置: 首页 > 图文教程 > 数据库 > MSSQL > Microsoft SQL Server数据库日志截断

MSSQL
MS-sql 2005拒绝了对对象 ''xxx'' (数据库 ''xxx'',架构 ''dbo'')的 SELECT 权限的解决方法
MSSQL 2005 LOG备份webshell的方法
快速将珊瑚虫IP数据库转MS SQL2005的图文教程
sql2005 远程连接问题解决方法
SQLServer 2005 列所有存储过程的语句
SQL Server 2005 模板参数使用说明
Sql Server 2005 默认端口修改方法
SQL Sever 2005 Express 安装失败解决办法
sql2005 根据指定字段排序编号
监视SQLServer数据库镜像[图文]
sqlserver2008 拆分字符串
字符串聚合函数(去除重复值)
SQL Server 2005 同步复制技术
SqlServer2005 链接服务器用法
SQL2008中 阻止保存要求重新创建表的更改 的解决方法
sql rollup用法 小计汇总
SQLServer 2008 Merge语句的OUTPUT功能
SQLServer 2008 新增T-SQL 简写语法
SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法
SQL2005 学习笔记 公用表表达式(CTE)

MSSQL 中的 Microsoft SQL Server数据库日志截断


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 115 ::
收藏到网摘: n/a

参考

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

/*--注意事项

请按步骤进行,未进行前面的步骤,请不要做后面的步骤,否则可能损坏你的数据库.

一般情况下不建议做第4,6两步。

第4步不安全,有可能损坏数据库或丢失数据。

第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。

--*/

--下面的所有库名都指你要处理的数据库的库名。

1.清空日志

DUMP TRANSACTION 库名 WITH NO_LOG

2.截断事务日志:

BACKUP LOG 库名 WITH NO_LOG

3.收缩数据库文件(RU 不压缩,数据库的文件不会减小

企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件

--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成

--收缩数据库

DBCC SHRINKDATABASE(库名)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles

DBCC SHRINKFILE(1)

4.为了最大化的缩小日志文件(假如是SQL Server7.0,这步只能在查询分析器中进行)

a.分离数据库:

企业管理器--服务器--数据库--右键--分离数据库

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

c.附加数据库:

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

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

或用代码:

下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

a.分离

EXEC sp_detach_db @dbname = '库名'

b.删除日志文件

c.再附加

EXEC sp_attach_single_file_db @dbname = '库名',

@physname = 'c:Program FilesMicrosoft SQL ServerMSSQLData库名.mdf'

5.为了将来能自动收缩,需要做下面的设置:

企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"

--SQL语句设置方式:

EXEC sp_dboption '库名', 'autoshrink', 'TRUE'

6.假如你想以后不让日志增长得过大

企业管理器--服务器--右键数据库--属性--事务日志

--将文件增长限制为xM(x是你允许的最大数据文件大小)