关于sqlserver2008的数据库日志收缩

zyfshinkins 2009-11-17 10:51:21
以前的系统用的是SQLServer2000,所以,用以下的命令来进行日志收缩没有问题:
BACKUP LOG master WITH NO_LOG
DBCC SHRINKDATABASE ('master')

但是,现在数据库升级到2008了,原来的[ BACKUP LOG master WITH NO_LOG]不被支持了。
因此不知道该用什么方法来替代[ BACKUP LOG master WITH NO_LOG]进行日志截断,然后收缩日志。


备注:这些Transact-SQL都是嵌套在.net里面执行。
...全文
424 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
SQLSERVER2008方法:

先备份日志,然后收缩到10M

BACKUP LOG <db_name> to disk=<'backupfilename'>
DBCC SHRINKFILE (<log_filename>,10)
GO

szpilmany 2009-11-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fredrickhu 的回复:]
SQL code--2000的程序里面的方法:
压缩数据库日志--1.清空日志exec(’DUMPTRANSACTION[’+@dbname+’]WITH NO_LOG’)--2.截断事务日志:exec(’BACKUPLOG[’+@dbname+’]WITH NO_LOG’)--3.收缩数据库文件(如果不压缩,数据库的文件不会减小exec(’DBCC SHRINKDATABASE([’+@db?-
[/Quote]
学习+1
nzperfect 2009-11-17
  • 打赏
  • 举报
回复
只能通过备份日志截断。
--小F-- 2009-11-17
  • 打赏
  • 举报
回复
2008的没用过 学习
--小F-- 2009-11-17
  • 打赏
  • 举报
回复
--2000的
程序里面的方法:
压缩数据库日志
--1.清空日志
exec(’DUMP TRANSACTION [’+@dbname+’] WITH NO_LOG’)
--2.截断事务日志:
exec(’BACKUP LOG [’+@dbname+’] WITH NO_LOG’)
--3.收缩数据库文件(如果不压缩,数据库的文件不会减小
exec(’DBCC SHRINKDATABASE([’+@dbname+’])’)


  4、减小日志的方法:

一、用如下步做了:
1、DUMP TRANSACTION 库名 WITH no_log
2、dbcc shrinkfile(logfilename)
3、收缩数据库
4、设定自动收缩。

  二、分离数据库,删除日志文件,再附加,OK!右击数据库--所有任务--分离or 附加

  三、1、backup log 库名 WITH no_log,2、dbcc shrinkfile(logfilename),3、收缩数据库
4、设定自动收缩。
guguda2008 2009-11-17
  • 打赏
  • 举报
回复
2008,学习

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧