DBCC SHRINKFILE 收缩相关数据库的指定数据文件或日志文件大小. 语法 DBCC SHRINKFILE    ( { file_name | file_id }        { [ ,target_size ]            | [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]         }    ) 参数 file_name 是已收缩文件的逻辑名称.文件名必须符合标识符的规则.有关更多信息,请参见使用标识符. file_…
原文:SQL Server 2008收缩日志文件--dbcc shrinkfile参数说明 DBCC SHRINKFILE 收缩相关数据库的指定数据文件或日志文件大小. 语法 DBCC SHRINKFILE     ( { file_name | file_id }         { [ ,target_size ]             | [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]         }     ) 参数 file_nam…
SQL2008 SQL2012 SQL2014 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)BackupLog DNName with no_loggodumptransaction DNName with no_loggoUSE DNName DBCC SHRINKFILE (2)Go-------------------------------------------------------…
一.准备知识 1.LSN LSN用来标识特定日志在日志文件中位置(详情请见什么是LSN:日志序列号),它由两部分组成:一部分用来标识VLF(虚拟日志文件)的序列号,剩下的用来标识该日志在VLF中的具体的位置. 根据LSN不同,日志一般分为两类:首日志(最新的活动日志序号)和尾日志(保留时间最长的活动日志序号).随着数据库的操作不断增加(如数据库中的update操作),首日志LSN序号不断变化.尾日志的序号只有在日志备份后才会变化. (图一)日志文件结构图 2.VLF 你可以通过DCC LOGIN…
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) BackupLog DNName with no_log go dump transaction DNName with no_log go USE DNName ) Go -------------------------------------------------------------- (SQL2008): 在SQL20…
方法一: Use 数据库名 Select NAME,size From sys.database_files ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE 数据库名 SET RECOVERY SIMPLE USE 数据库名 DBCC SHRINKFILE(N’日志文件名’,0,TRUNCATEONLY) ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT A…
事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息. 收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的. 下面介绍的是在简单模式下,进行收缩操作. #方法一:通过图形界面逐步操作 1.打开数据库属性窗口 2.更改数据库恢复模式,“完整”改成“简单” 3.收缩数据库日志,“任务”->“收缩” 4.收缩完,将数据库的恢复模式修改为“完整” #方法二:使用命令 ALTER DATABASE test SET RECOVERY SIMPLE --…
网站的一个数据库的日志文件已经到150个G的地步,数据文件才几十M,通过常规的操作去收缩日志: >数据库右键 → 任务 → 收缩 → 文件 , 在弹出的窗口中,文件类型选择"日志",收缩选项选择第二个,填一个小的数字 执行很快完成,但是日志文件大小并没有改变. 完成收缩有两种方式: * 分离数据库,删除日志文件,然后再附加数据库 * 修改数据库的恢复模式为**简单**,然后再重复最初的收缩数据库操作(因为事务并未截断,所以完整模式下收缩的大小有限),完成后再吧恢复模式改为**完整…
在进行数据库收缩时,我们有2个可用选项:NOTRUNCATE,TRUNCATEONLY.这篇文章我们会详细讨论下这2个选项的具体区别. NOTRUNCATE 当你对数据库收缩命令提供NOTRUNCATE选项时,意味着SQL Server将你数据库末尾的页移到前面,那里可以找到一些空闲的未分配空间(将释放的空间继续保留在文件中).唯一的区别是数据文件本身不会收缩. 这就是说在数据库末尾的未使用空间还是没有重声明回给文件系统.用NOTRUNCATE选项进行数据收缩后,最后在你数据文件的末尾会有一些空…
    在讨论数据库之前我们先要明白一个问题:什么是数据库?     数据库是若干对象的集合,这些对象用来控制和维护数据.一个经典的数据库实例仅仅包含少量的数据库,但用户一般也不会在一个实例上创建太多的数据库.一个数据库实例最多能创建32767个数据库,但是按照实际情况,一般设计是不会达到这个限制值.     为了更明显地说明数据库,数据库包含了以下属性和功能:     *. 它是很多对象的集合,比如表.视图.存储过程.约束.对象集合的最大值是2(31) - 1(超过2百亿).一般对象的数量在几…