数据库日志文件收缩文档

合集下载

清理SQL Server数据库日志的两种方法

清理SQL Server数据库日志的两种方法

清理SQL Server数据库日志的两种方法sql server数据库使用时间长了,日志文件会很大,占用过多系统资源,数据库可能会报 log full 的错误,甚至磁盘空间占满让数据库处于不可用状态,这个时候我们需要清理数据库,以前有人开发了数据库日志清理工具,好像还要收费,其实很简单就可以完成这个操作,请跟我来:清理sql server数据库日志可用两种方法:方法一:清空日志。

1、打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG2、再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至: ,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。

方法二:有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。

1、删除LOG分离数据库企业管理器->服务器->数据库->右键->分离数据库2、删除LOG文件附加数据库企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG,大小只有500多K。

注意:建议使用第一种方法。

如果以后,不想要它变大。

SQL2000下使用:在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。

或用SQL语句:alter database 数据库名 set recovery simple另外,数据库属性有两个选项,与事务日志的增长有关:Truncate log on checkpoint(此选项用于SQL7.0,SQL 2000中即故障恢复模型选择为简单模型)当执行CHECKPOINT 命令时如果事务日志文件超过其大小的70% 则将其内容清除在开发数据库时时常将此选项设置为True定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% 当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件也必须大于或等于其初始大小对事务日志文件的缩减只有在对其作备份时或将 Truncate log on checkpoint 选项设为True 时才能进行。

SQL Server 2008 R2 日志收缩处理方法

SQL Server 2008 R2 日志收缩处理方法

SQL Server 2008 R2 日志收缩数据库日志文件收缩方法一:1、将数据库恢复模式改为简单模式,右击数据库选择属性,弹出窗口如下图,选择“选项”,将“恢复模式”改为“简单”。

2、右击数据库如下图选择,打开“收缩文件”窗口3、收缩文件窗口如下图,“文件类型”选择“日志”,单击“确定”完成日志收缩。

数据库日志文件收缩方法二:在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

SQL代码如下(用指定数据库名替换DNName):USE MASTERGOALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY SIMPLE--简单模式GOUSE DNNameGODBCC SHRINKFILE (N'DNName_Log',11, TRUNCA TEONL Y)GOUSE MASTERGOALTER DATABASE DNName SET RECOVERY FULL WITH NO_W AITGOALTER DATABASE DNName SET RECOVERY FULL--还原为完全模式GO优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内即可完成。

缺点:不过此动作最好不要经常使用,因为它的运行会带来系统碎片。

普通状态下LOG 和DIFF的备份即可截断日志。

此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响系统的情况下使用。

数据库日志文件收缩方法三:通过分离数据库,然后再删除事务日志文件,再附加mdf数据文件,也可以达到某种意义上的事务日志收缩。

总结:建议资讯同事用方法一来收缩日志,另外需求把日志文件增长方式按如下图来设置,将日志文件选择按MB来增长(目前正式账套F22X库已经设置OK);。

SQL2024数据库日志太大收缩方法

SQL2024数据库日志太大收缩方法

SQL2024数据库日志太大收缩方法在数据库中,日志文件记录了数据库的所有修改操作,包括数据更新、插入和删除。

随着时间的推移,日志文件可能会变得非常庞大,这可能会导致数据库性能下降和存储空间的过度使用。

为了解决这个问题,可以采取以下步骤来收缩SQL Server 2024数据库的日志文件。

1.备份日志文件:首先,您需要确保数据库的日志文件已经进行了备份。

通过备份日志文件,可以将日志中的事务信息保存到备份中,并允许数据库截断未使用的事务日志。

2.更改恢复模式:如果数据库处于完整恢复模式或大容量恢复模式下,可以将恢复模式更改为简单恢复模式。

这样做可以使日志文件更容易自动收缩,并释放空间。

3.执行事务日志的截断:可以通过执行CHECKPOINT语句或DBCC命令来截断事务日志。

CHECKPOINT语句将强制将内存中的修改写入磁盘,并将事务日志截断到CHECKPOINT之前的位置。

DBCC命令允许您手动截断事务日志。

4.缩小日志文件:使用DBCCSHRINKFILE命令缩小数据库的日志文件。

该命令将尝试将日志文件的物理大小收缩到适当的大小,以节省存储空间。

但请注意,缩小日志文件可能会造成数据库性能下降,因此需要谨慎使用。

5.定期维护计划:建立定期维护计划,包括备份和收缩日志文件的任务。

通过定期备份和收缩日志文件,可以确保数据库的日志文件始终保持在合理的大小范围内,避免过度使用存储空间。

6.监控日志文件:持续监控数据库的日志文件,以确保它不会再次变得过大。

如果发现日志文件再次过大,可以立即采取适当的措施来收缩日志文件。

需要注意的是,在执行以上操作之前,应该先备份数据库,并确保具有足够的磁盘空间来存储备份和缩小的日志文件。

此外,建议在操作数据库之前,先在测试环境中测试这些操作,以确保不会对生产环境中的数据库造成任何不可回滚的影响。

总之,通过备份、更改恢复模式、截断事务日志、缩小日志文件和建立定期维护计划,可以有效地收缩SQL Server 2024数据库的日志文件,并确保数据库的性能和存储空间的合理使用。

集群数据库 收缩日志

集群数据库 收缩日志

集群数据库收缩日志
收缩日志是指在集群数据库中对日志文件进行整理和压缩,以释放空间并提高性能。

在集群数据库中,日志文件记录了数据库的操作和变化,随着时间的推移,日志文件可能会变得庞大,占用大量存储空间,影响数据库性能。

因此,收缩日志是一种管理和优化数据库的重要操作。

从技术角度来看,收缩日志可以通过数据库管理系统提供的特定命令或工具来实现。

在SQL Server中,可以使用DBCC SHRINKFILE命令来收缩日志文件,而在Oracle数据库中,可以使用ALTER DATABASE命令来收缩日志文件。

这些命令通常会重新组织日志文件的物理存储结构,删除不再需要的空间,并将文件大小缩小到合适的水平。

另外,收缩日志也需要考虑到数据库的运行状态和业务需求。

在执行收缩日志操作之前,需要确保数据库没有活动的事务或长时间运行的查询,以免影响数据库的正常运行。

此外,还需要评估数据库的日志使用情况和备份策略,以确定何时以及如何执行收缩日志操作,以避免对数据库的正常运行和数据完整性造成影响。

在实际操作中,收缩日志也需要注意一些潜在的风险和注意事项。

过于频繁地收缩日志可能会导致日志文件的不断增长和碎片化,影响数据库性能。

因此,需要根据实际情况和最佳实践来制定合适
的收缩日志策略,以保证数据库的稳定和高效运行。

综上所述,收缩日志是集群数据库管理中的重要操作,通过合
理的技术手段和策略,可以有效地管理和优化数据库的日志文件,
提高数据库性能和稳定性。

多方法清理SQL server日志

多方法清理SQL server日志

多方法清理SQL Server日志1.手动清理1. 将恢复模式改成“简单”右键要清理的数据库名-属性,切换到选项,将恢复模式修改为简单,如下图1,然后点确定。

2、收缩日志还是右键要清理的数据库名—任务—收缩—文件,按如图2进行设置,设置完后点确定即可3.清理完手动恢复完整模式二、自动清理(使用SQL代理定时执行清理任务)1、新建作业如下图3,我们右键作业—新建作业即可开始新建一个作业了USE [master]GOALTER DATABASE 数据库名称SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE 数据库名称SET RECOVERY SIMPLE --简单模式GOUSE 数据库名称GODBCC SHRINKFILE (N'DEMO_log' , 1, TRUNCATEONLY)--将数据库日志文件收缩到1MGO------DEMO_LOG是日志文件名称,可以新建查询用select * from sys.database_files查看USE [master]GOALTER DATABASE 数据库名称SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE 数据库名称SET RECOVERY FULL --还原为完全模式GO三、新建维护计划定时清理1.维护计划向导2.选择维护任务3.选择需要收缩的数据库之后,下一步至完成4.视图--工具箱--把执行I-SQL语句拉到右窗品--把收缩数据库箭头关联至“执行T-sql语句”5.双击“执行T-SQL语句”任务,打开对话框键入语句5.记得编辑“新建作业计划”。

sqlserver数据库收缩步骤

sqlserver数据库收缩步骤

sqlserver数据库收缩步骤收缩数据库是SQL Server数据库管理中常见的任务之一,它有助于释放未使用的空间并提高数据库性能。

以下是收缩数据库的步骤:步骤一:评估数据库在开始收缩数据库之前,首先需要评估数据库的大小和使用情况。

可以使用以下脚本查询数据库的大小:```USE [master]GOSELECTname AS 'Database Name',size*8/1024 AS 'Size (MB)'FROMsys.master_filesWHEREtype = 0```通过这个脚本可以查看数据库的大小,并根据需要确定是否需要收缩。

步骤二:备份数据库在收缩数据库之前,务必先备份数据库。

这样可以确保在出现任何问题时可以还原数据库。

可以使用SQL Server Management Studio(SSMS)或以下TSQL语句进行备份:```BACKUP DATABASE [DatabaseName]TO DISK = 'C:\Backup\DatabaseName.bak'```步骤三:索引优化数据库中的索引也会占用一定的空间,因此可以优化索引以减小数据库的大小。

可以使用以下脚本重新组织或重建索引:```USE [DatabaseName]GOALTER INDEX [IndexName] ON [TableName] REORGANIZE``````USE [DatabaseName]GOALTER INDEX [IndexName] ON [TableName] REBUILD```通过重新组织或重建索引,可以删除空间碎片并提高数据库的性能。

步骤四:收缩数据库文件在SQL Server中,可以使用DBCC SHRINKDATABASE命令来收缩数据库文件。

该命令有两个参数,其中第一个参数是数据库名称,第二个参数是目标百分比。

以下是收缩数据库文件的示例:```DBCC SHRINKDATABASE ('DatabaseName', 10)```以上命令将收缩数据库文件到其当前大小的10%。

sqlserver自动收缩日志原理

sqlserver自动收缩日志原理

sqlserver自动收缩日志原理SQL Server 自动收缩日志是一种策略,用于控制和管理数据库事务日志的大小。

SQL Server 数据库有两种类型的日志:事务日志和错误日志。

事务日志记录了数据库中每个事务的所有操作,而错误日志记录了数据库运行过程中的错误和异常。

事务日志的大小是动态增长的,当事务日志文件达到一定大小时,系统会触发自动收缩日志操作,将不再使用的事务日志空间释放出来,并将事务日志文件的大小缩小到一个合适的大小。

自动收缩日志的原理可以简单概括为以下几个步骤:1. 日志截断:SQL Server 在进行自动收缩日志操作之前,会先进行日志截断操作。

日志截断是指将事务日志中已经提交的事务的日志记录清除,只保留未提交的事务和未完成的操作的日志。

这样可以释放事务日志空间并减小日志文件的大小。

2.压缩日志:日志截断之后,系统会根据事务日志的使用情况来评估是否需要压缩日志。

压缩日志是指将事务日志文件中未使用的空间释放掉,并将事务日志文件的大小减小到一个合适的大小。

这样可以提高数据库的性能和效率,减少磁盘空间的占用。

3.自动增长:在进行日志压缩之后,系统会重新评估并设置事务日志文件的自动增长属性。

自动增长属性是指事务日志文件在达到当前大小上限时,是否可以自动增加文件的大小。

自动增长可以确保当事务日志文件的大小不足以容纳新的日志记录时,系统可以自动增加事务日志文件的大小。

这样可以避免由于事务日志文件空间不足而导致数据库无法正常运行的问题。

总结起来,SQL Server 的自动收缩日志功能主要通过日志截断、压缩日志和自动增长等操作来控制和管理数据库事务日志的大小。

这样可以确保数据库的性能和效率,并减少磁盘空间的占用。

SQL SERVER 收缩数据库的命令

SQL SERVER 收缩数据库的命令

SQL SERVER 收缩数据库的命令1.清空日志DUMP T RANSACTION库名WIT H NO_LOG2.截断事务日志:BACKUP LOG数据库名WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了也可以用SQL语句来完成--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfilesDBCC SHRINKFILE(1)4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)a.分离数据库:企业管理器--服务器--数据库--右键--分离数据库b.在我的电脑中删除LOG文件c.附加数据库:企业管理器--服务器--数据库--右键--附加数据库此法将生成新的LOG,大小只有500多K或用代码:下面的示例分离pubs,然后将pubs 中的一个文件附加到当前服务器。

a.分离E X E C sp_detach_db @dbname='pubs'b.删除日志文件c.再附加E X E C sp_attach_single_file_db @dbname='pubs',@physname='c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.m df'5.为了以后能自动收缩,做如下设置:企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"--SQL语句设置方式:E X E C sp_dboption '数据库名', 'autoshrink', 'T RUE'6.如果想以后不让它日志增长得太大企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)--SQL语句的设置方式:alter database数据库名modify file(nam e=逻辑文件名,maxsize=20)特别注意:请按步骤进行,未进行前面的步骤,请不要做后面的步骤否则可能损坏你的数据库.一般不建议做第4,6两步第4步不安全,有可能损坏数据库或丢失数据第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.另外提供一种更简单的方法,本人屡试不爽,建议大家使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库sqlserver 2005 日志文件压缩文档如何压缩SQL Server 2005指定数据库文件和日志的大小?下面有两个SQL语句可以达到在SQL Server 2005/2008压缩指定数据库文件和日志的大小的效果:1、DBCC SHRINKDATABASE (Transact-SQL)收缩指定数据库中的数据文件和日志文件的大小。

语法DBCC SHRINKDATABASE( 'database_name' | database_id | 0[ ,target_percent ][ , { NOTRUNCATE | TRUNCATEONLY } ])[ WITH NO_INFOMSGS ]参数'database_name' | database_id | 0 要收缩的数据库的名称或ID。

如果指定0,则使用当前数据库。

target_percent 数据库收缩后的数据库文件中所需的剩余可用空间百分比。

NOTRUNCATE 通过将已分配的页从文件末尾移动到文件前面的未分配页来压缩数据文件中的数据。

target_percent 是可选参数。

文件末尾的可用空间不会返回给操作系统,文件的物理大小也不会更改。

因此,指定NOTRUNCATE 时,数据库看起来未收缩。

NOTRUNCATE 只适用于数据文件。

日志文件不受影响。

TRUNCATEONLY 将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动。

数据文件只收缩到最近分配的区。

如果与TRUNCATEONLY 一起指定,将忽略target_percent。

TRUNCATEONLY 只适用于数据文件。

日志文件不受影响。

WITH NO_INFOMSGS 取消严重级别从0 到10 的所有信息性消息。

备注若要收缩特定数据库的所有数据和日志文件,请执行DBCC SHRINKDATABASE 命令。

若要一次收缩一个特定数据库中的一个数据或日志文件,请执行DBCC SHRINKFILE 命令。

若要查看数据库中当前的可用(未分配)空间量,请运行sp_spaceused。

可在进程中的任一点停止DBCC SHRINKDATABASE 操作,任何已完成的工作都将保留。

收缩后的数据库不能小于数据库的最小大小。

最小大小是在数据库最初创建时指定的大小,或是使用文件大小更改操作(如DBCC SHIRNKFILE 或ALTER DATABASE)显式设置的最后大小。

例如,如果数据库最初创建时的大小为10 MB,后来增长到100 MB,则该数据库最小只能收缩到10 MB,即使已经删除数据库的所有数据也是如此。

运行DBCC SHRINKDATABASE 而不指定NOTRUNCATE 选项或TRUNCATEONLY 选项等价于带NOTRUNCATE 运行DBCC SHRINKDATABASE 操作,然后再带TRUNCATEONLY 运行DBCC SHRINKDATABASE 操作。

要收缩的数据库不必在单用户模式下;其他的用户仍可以在数据库收缩时对其进行工作。

这也包括系统数据库。

不能在备份数据库时收缩数据库。

反之,也不能在数据库执行收缩操作时备份数据库。

DBCC SHRINKDATABASE 的工作原理DBCC SHRINKDATABASE 以每个文件为单位对数据文件进行收缩。

然而,DBCC SHRINKDATABASE 在对日志文件进行收缩时,它将视为所有的日志文件都存在于一个连续的日志池中。

文件始终从末尾开始收缩。

假设名为mydb 的数据库有一个数据文件和两个日志文件。

数据文件和日志文件分别是10 MB,并且数据文件包含6 MB 数据。

Microsoft SQL Server 2005 数据库引擎对每个文件计算一个目标大小。

这就是文件将要收缩到的大小。

将target_percent 与DBCC SHRINKDATABASE 一起指定时,数据库引擎计算的目标大小是收缩后文件中的target_percent 可用空间大小。

例如,如果在收缩mydb 时将target_percent 指定为25,则数据库引擎将此文件的目标大小计算为8 MB(6 MB 数据加上2 MB 可用空间)。

因此,数据库引擎将任何数据从数据文件的后2 MB 中移动到数据文件前8 MB 的可用空间中,然后对该文件进行收缩。

假设mydb 的数据文件包含7 MB 的数据。

将target_percent 指定为30,以允许将此数据文件收缩到可用空间为30%。

但是,将target_percent 指定为40 却不会收缩数据文件,因为数据库引擎收缩文件的目标大小不能小于数据当前占用空间大小。

您还可以用另一种方法来考虑此问题:所要求的40%可用空间加上整个数据文件大小的70%(10 MB 中的7 MB),超过了100%。

因为所要求的可用百分比加上数据文件占用的当前百分比大于100%(多出10%),所以任何大于30 的target_size 都不会收缩此数据文件。

对于日志文件,数据库引擎使用target_percent 来计算整个日志的目标大小;因此,target_percent 是收缩操作后日志中的可用空间大小。

之后,整个日志的目标大小转换为每个日志文件的目标大小。

DBCC SHRINKDATABASE 尝试立即将每个物理日志文件收缩到其目标大小。

如果虚拟日志中的所有逻辑日志部分都没有超出日志文件的目标大小,则该文件将成功截断,DBCC SHRINKDATABASE 完成且不显示任何消息。

但是,如果部分逻辑日志位于超出目标大小的虚拟日志中,则数据库引擎将释放尽可能多的空间,并发出一条信息性消息。

该消息说明需要执行哪些操作来将逻辑日志移出位于文件末尾的虚拟日志。

执行该操作以后,DBCC SHRINKDATABASE 可用于释放剩余空间。

有关详细信息,请参阅收缩事务日志。

因为日志文件只能收缩到虚拟日志文件边界,所以不可能将日志文件收缩到比虚拟日志文件更小(即使现在没有使用该文件)。

虚拟日志文件的大小在创建或扩展这些日志文件时由数据库引擎动态选择。

有关虚拟日志文件的详细信息,请参阅事务日志物理体系结构。

权限要求具有sysadmin 固定服务器角色或db_owner 固定数据库角色的成员身份。

、示例A. 收缩数据库并指定可用空间的百分比以下示例将减小UserDB 用户数据库中数据文件和日志文件的大小,以便在数据库中留出10% 的可用空间。

DBCC SHRINKDATABASE (UserDB, 10);GOB. 截断数据库以下示例使AdventureWorks 示例数据库中的数据文件收缩到最后分配的区。

DBCC SHRINKDATABASE (AdventureWorks, TRUNCATEONLY);请参考:/zh-cn/vs2008/ms190488(SQL.90).aspx2、DBCC SHRINKFILE (Transact-SQL)收缩当前数据库的指定数据或日志文件的大小,或通过将数据从指定的文件移动到相同文件组中的其他文件来清空文件,以允许从数据库中删除该文件。

文件大小可以收缩到比创建该文件时所指定的大小更小。

这样会将最小文件大小重置为新值。

语法DBCC SHRINKFILE ( { 'file_name' | file_id } { [ , EMPTYFILE ] | [ [ ,target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ] } ) [ WITH NO_INFOMSGS ]参数' file_name '要收缩的文件的逻辑名称。

file_id要收缩的文件的标识(ID) 号。

若要获得文件ID,请使用FILE_IDEX 系统函数,或查询当前数据库中的sys.database_files 目录视图。

target_size用兆字节表示的文件大小(用整数表示)。

如果未指定,则DBCC SHRINKFILE 将文件大小减少到默认文件大小。

默认大小是创建文件时指定的大小,或者是使用ALTER DATABASE 所设置的最后大小。

如果指定了target_size,则DBCC SHRINKFILE 尝试将文件收缩到指定大小。

将要释放的文件部分中的已使用页重新定位到保留的文件部分中的可用空间。

例如,如果数据文件为10 MB,则target_size 为8 的DBCC SHRINKFILE 操作会将文件最后2 MB 中所有的已使用页重新分配到文件前8 MB 中的任何未分配页中。

DBCC SHRINKFILE 不会将文件收缩到小于存储文件中的数据所需要的大小。

例如,如果使用10 MB 数据文件中的7 MB,则带有target_size 为6 的DBCC SHRINKFILE 语句只能将该文件收缩到7 MB,而不能收缩到6 MB。

EMPTYFILE将指定文件中的所有数据迁移到同一文件组中的其他文件。

由于数据库引擎不再允许将数据放在空文件内,因此可以使用ALTER DATABASE 语句来删除该文件。

NOTRUNCATE在指定或不指定target_percent 的情况下,将已分配的页从数据文件的末尾移动到该文件前面的未分配页。

文件末尾的可用空间不会返回给操作系统,文件的物理大小也不会更改。

因此,指定NOTRUNCATE 时,文件看起来未收缩。

NOTRUNCATE 只适用于数据文件。

日志文件不受影响。

TRUNCATEONLY将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动。

数据文件只收缩到最后分配的区。

如果随TRUNCATEONLY 指定了target_size,则会忽略该参数。

TRUNCATEONLY 只适用于数据文件。

WITH NO_INFOMSGS取消显示所有信息性消息。

收缩日志文件对于日志文件,SQL Server 2005 数据库引擎使用target_size 来计算整个日志的目标大小;因此,target_size 是收缩操作后日志中的可用空间大小。

之后,整个日志的目标大小转换为每个日志文件的目标大小。

DBCC SHRINKFILE 尝试立即将每个物理日志文件收缩到其目标大小。

但是,如果部分逻辑日志位于超出目标大小的虚拟日志中,则数据库引擎将释放尽可能多的空间,并发出一条信息性消息。

该消息说明需要执行哪些操作来将逻辑日志移出位于文件末尾的虚拟日志。

执行这些操作以后,DBCC SHRINKFILE 可用于释放剩余空间。

如果文件不收缩如果收缩操作运行时未出现错误,但文件大小看起来没有发生更改,则请执行下列操作之一以验证文件是否有足够的可用空间可供删除:运行以下查询。

相关文档
最新文档