收缩数据库日志

数据库空间不足时可以尝试收缩数据库试试,收缩数据库需要把 备份模式设置为简单.

1 收缩时非常之慢,如果想停止收缩.应该怎么操作 ?

答案:关闭查询分析器就可以了.

2 收缩的正确步骤:

2.1 先查看可收缩空间 (即可用空间)

2.2 先从小收缩看看,别上来就整个库收缩了.

use [databasename]

 DECLARE @DataFileName VARCHAR(255);
SET @DataFileName = (SELECT name FROM sysfiles WHERE groupid = 1);

DECLARE @TargetSize INT;
-- Select current size and substract 500 MB
SET @TargetSize = ROUND(8 * (SELECT size FROM sysfiles WHERE groupid = 1) / 1024, 0) - 512;

EXEC (‘DBCC SHRINKFILE (‘ + @DataFileName + ‘, ‘ + @TargetSize + ‘)‘);
时间: 2024-11-09 14:06:06

收缩数据库日志的相关文章

批量收缩数据库日志文件

declare @sql nvarchar(max),@paramDef nvarchar(100) declare dbname scroll cursor for select name,recovery_model from sys.databases where database_id>7 open dbname declare @dbname varchar(50),@recovery_model int,@db_log_file varchar(100) set @dbname=''

如何收缩数据库日志文件大小

数据库的日志文件(*.ldf)越来越大,怎么办? 收缩吧.收缩日志文件的操作真不简单哟,还跟数据库的恢复模式有关. 一."简单恢复模式"时的日志收缩 1. 截断日志 当数据库的恢复模式为"简单"的时候,日志文件会在以下情况被截断:(1)完整备份 (2)遇到检查点(checkpoint) 2. 手动收缩日志文件 当日志被截断后,日志文件的内部空间就会标记为"可复用",因此日志文件就不需要持续增长.手动收缩的操作可以参考本文稍后的说明. 二.&quo

SQL Server实现自动收缩数据库日志文件

1 --在作业中 执行下面SQL代码 即可实现 自动收缩日志文件.(MSSQL 维护计划中没有提供自动收缩日志文件的功能) 2 --非 镜像 复制订阅 日志传送的情况下 执行. 如果存在日志传送莫要执行 否则日志传送会失败 3 declare @exec_sql nvarchar(1200),@simple_sql nvarchar(1200),@full_sql nvarchar(1200) 4 declare @db_name varchar(128) 5 declare @db_count

收缩数据库日志文件

USE [master] GO ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 数据库名SET RECOVERY SIMPLE --简单模式 GO USE 数据库名 GO DBCC SHRINKFILE (N'日志名' , 11, TRUNCATEONLY) GO --'这里的日志名,如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询 USE 数据库名 GO

[SQL]收缩数据库日志

SELECT NAME, recovery_model_desc FROM sys.databases --查看数据库的模式 ALTER DATABASE TOMS SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE TOMS SET RECOVERY SIMPLE --简单模式 GO USE TOMS GO DBCC SHRINKFILE ('TOMS_log' , 1, TRUNCATEONLY) GO USE [master] GO ALT

数据库日志文件(收缩管理)

sqlserver数据库的日志文件其实是由很多个逻辑上的日志文件组成,我们可以通过命令看一下数据库日志文件 ?可以看到的是sqlserver数据库日志文件是由很多文件组成的,当数据库日志文件已满的时候,自动增长就会生成新的文件,这些文件叫做VLF(虚拟日志文件),所以说在这个层面上来说,我们可以简单的把数据库日志理解为一列火车,一节一节的车厢理解为数据库的虚拟日志文件,当然如果不够存的下事务日志的时候,就要扩充,就是加一个火车厢. 所以说数据库事务日志其实是由很多个独立的虚拟事务日志文件组成的,

收缩sql server数据库日志

项目中,可能数据库(sql server数据库)日志太多,占了很多磁盘空间,可以通过收缩数据库日志,减少日志文件大小. 下面以Northwind数据库为例: 1.把数据库的恢复模式设置为“简单模式”: 选择Northwind数据库-右键-属性, 在弹出的数据库属性窗口中,选择“选项”-设置恢复模式为“简单”, 点击确定按钮,如下图: 2.收缩数据库日志: 选择Northwind数据库-右键-任务-收缩-文件,如下图: 在弹出的“收缩文件”窗口里,文件类型选择“日志”,收缩操作勾选“释放未使用的空

sql server 2012 如何收缩事务日志

sql2008不再支持 BACKUP LOG 数据库名 WITH NO_LOG   语句 BACKUP Log zxta with no_log 截断事务日志 sql2008 提示错误如下 BACKUP LOG 数据库名 WITH NO_LOG Msg 3032, Level 16, State 2, Line 1此语句不支持一个或多个选项(no_log).请查阅文档以了解所支持的选项. 事务日志截断 若要避免数据库的事务日志被填满,例行备份至关重要.在简单恢复模式下,备份了数据库后会自动截断日

SQL Server 2008删除或压缩数据库日志的方法

2010-09-20 20:15 由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间.由于主要 是做OLAP,所以数据库本身不会有大变动,所以日志也就没有多少作用了,因此想办法把数据库日志文件收缩到很小或者删除. 网 上搜索相关解决方案后,得到的答案丰富多彩,但是真正管用的方案并不多,这里分享一个csdn上找到的方法.这个方法讲述了SQL Server 2005和SQL Server 2008在收缩数据库日志