数据库中的每个文件都可以通过删除未使用的页的方法来减小。尽管数据库引擎会有效地重新使用空间,但某个文件多次出现无需原来大小的情况后,收缩文件就变得很有必要了。数据和事务日志文件都可以减小(收缩)。可以成组或单独地手动收缩数据库文件,也可以设置数据库,使其按照指定的间隔自动收缩。
文件始终从末尾开始收缩。例如,如果有个 5 GB 的文件,并且在dbcc shrinkfile 语句中将 target_size 指定为 4 GB,则数据库引擎将从文件的最后一个 1 GB 开始释放尽可能多的空间。如果文件中被释放的部分包含使用过的页,则数据库引擎先将这些页重新放置到文件的保留部分。只能将数据库收缩到没有剩余的可用空间为止。例如,如果某个 5 GB 的数据库有 4 GB 的数据,并且在dbcc shrinkfile语句中将 target_size 指定为 3 GB,则只能释放 1 GB。
操作命令:
现在我一个库ASFCORE的日志文件已经达到30G了,数据文件为1G,如果要收缩日志文件,则执行如下命令即可!
- 查看数据库的recovery_model_desc类型
SELECT NAME, recovery_model_desc FROM sys.databases
- 如果是FULL类型,修改为SIMPLE类型
ALTER DATABASE ASFCORE SET Recovery simple
- 收缩日志文件大小(单位是M)
DBCC SHRINKFILE (N'ASFCORE_log' , 10)
- 检查日志文件名称
USE ASFCORE
SELECT NAME, size FROM sys.database_files
- 恢复成FULL类型
ALTER DATABASE ASFCORE SET Recovery FULL
相关推荐
收缩数据库 --重建索引 DBCC REINDEX DBCC INDEXDEFRAG --收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE 3、压缩数据库 dbcc shrinkdatabase(dbname) 4、转移数据库给新用户以已存在用户权限 exec sp_...
### SQL Server 2008 收缩数据库脚本知识点详解 #### 一、脚本概述 本脚本主要用于在SQL Server 2008环境中对数据库进行收缩操作。脚本包含了备份数据库、设置恢复模式以及调整日志文件大小等步骤。在执行前需确保...
"SQLSERVER2005+2008收缩数据库"这一主题主要关注如何有效地减小SQL Server 2005和2008数据库的日志文件大小,以释放不必要的磁盘空间。以下将详细讲解这个过程及其相关的SQL语句。 首先,日志文件(.ldf)是SQL ...
### 如何收缩数据库 #### 一、理解数据库收缩的概念 数据库收缩是指通过减少分配给数据库的数据文件或日志文件的空间来回收磁盘空间的过程。这种操作通常是在数据库经过长时间运行后,由于删除或更新数据等原因...
虽然SQL Server企业管理器提供了“收缩数据库”功能,但在某些情况下,这种方法可能无法有效地释放大量冗余空间。本文将深入探讨如何通过执行DBCC命令来更深度地压缩数据库文件。 首先,数据库的压缩通常涉及两个...
根据提供的文件信息,本文将详细解析SQL Server 2000中重建索引与收缩数据库的相关知识点。 ### 一、重建索引 #### 1. 什么是索引 在SQL Server 2000中,索引是提高数据检索速度的重要工具。它可以看作是一种特殊...
SQL Server 2008 R2版本提供了多种方法来管理和收缩数据库,以优化资源使用。在这个场景中,我们将深入探讨"数据库收缩语句",以及如何在SQL Server 2008 R2中执行这个操作。 首先,我们需要理解为什么需要进行...
数据库收缩可以分为两种类型:收缩数据库和收缩文件。 **收缩数据库**: `DBCC SHRINKDATABASE`命令用于收缩整个数据库,包括所有数据文件和日志文件。这个命令允许你指定目标收缩后的数据库中剩余的可用空间百分比...
2. **收缩日志文件**:通过执行T-SQL语句(如`DBCC SHRINKFILE`),工具可以减少日志文件的大小,释放不必要的磁盘空间。这一步通常在日志文件无用空间过多时进行。 3. **设置日志增长策略**:工具可能还允许用户...
SQL Server提供了几种方法来收缩日志文件,包括使用DBCC SHRINKFILE或ALTER DATABASE命令。`sqlserverlog数据库日志收缩工具`可能是为了解决这一问题而设计的第三方实用程序,它可能简化了这个过程,使得非专业用户...
必须知道的SQL基础 知识 技巧2、收缩数据库 --重建索引 DBCC REINDEX DBCC INDEXDEFRAG --收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE 3、压缩数据库 dbcc shrinkdatabase(dbname) 4、转移数据库给新用户以已...
USE [DB NAME] GO DUMP TRANSACTION [DB NAME] WITH NO_LOG ...--DBCC SHRINKFILE (N'MES_FULL_log' , 0) DBCC SHRINKFILE ({file_name<特指数据库的logic name>}, target_size) GO
SQL SERVER DBCC 命令解释 ...* DBCC SHRINKDATABASE:收缩数据库的大小。 * DBCC SHRINKFILE:收缩文件的大小。 这些命令可以帮助数据库管理员诊断和修复数据库中的问题,保持数据库的健康和高效运行。
- 使用`DBCC SHRINKFILE`命令来收缩指定的日志文件。例如,如果要收缩名为`myshopcmstockLog`的日志文件,可以使用以下命令: ``` USE [数据库名]; GO DBCC SHRINKFILE (N'日志文件名', 目标百分比, ...
3. 收缩数据库文件:使用`DBCC SHRINKDATABASE`命令,例如`exec('DBCC SHRINKDATABASE(数据库名) ')`,这将缩小数据库文件大小,包括日志文件。 4. 设置自动收缩:通过`sp_dboption`存储过程,如`exec('EXEC sp_...
本文将详细介绍如何在SQL Server 2005中收缩数据库日志文件,将其大小调整为1MB。 首先,我们需要了解日志文件的收缩过程涉及两个主要步骤:清除日志记录和实际收缩文件。在SQL Server中,我们可以通过执行特定的...
- **步骤3:收缩数据库文件** - 打开SSMS,找到目标数据库。 - 右键点击数据库 -> 所有任务 -> 收缩数据库 -> 收缩文件。 - 在弹出的对话框中,选择日志文件。 - 选择“收缩至XXM”,输入允许的最小M数。 - ...
或者,可以使用DBCC SHRINKFILE(N'<log_file_name>', 0, TRUNCATEONLY)命令,但需谨慎,因为这会删除所有VLF,可能导致性能问题。 4. **数据库还原状态检查**:确认数据库没有处于还原过程,如果有,等待还原...
MS SQL Server提供了T-SQL语句DBCC SHRINKFILE,可以直接用于收缩数据库的日志文件。使用此命令时,管理员需要指定要收缩的文件和目标文件大小。直接收缩日志文件数据库是一种快速且直接的方法,但它可能会导致日志...
手动收缩是通过SQL Server Management Studio (SSMS) 或Transact-SQL语句(如DBCC SHRINKFILE)来执行的,而自动收缩则是在数据库配置中设置,使SQL Server在日志文件达到特定阈值时自动进行收缩。本文提到的“SQL...