首页
学习
活动
专区
圈层
工具
发布

SQLServer数据库收缩相关知识笔记

SQL Server 数据库采取预先分配空间的方法来建立数据库的数据文件或者日志文件,比如数据文件的空间分配了300MB,而实际上只占用了20MB空间,这样就会造成磁盘存储空间的浪费。...4.2 收缩数据库文件 DBCC SHRINKFILE 介绍:收缩当前数据库的指定数据或日志文件的大小,或通过将数据从指定的文件移动到相同文件组中的其他文件来清空文件,以允许从数据库中删除该文件。...因此,指定 NOTRUNCATE 时,文件看起来未收缩。 NOTRUNCATE 只适用于数据文件。日志文件不受影响。...USE TestDB ; GO DBCC SHRINKFILE (TestDB, 20) ; -- 将减小 UserDB 用户数据库中数据文件和日志文件的大小, -- 以便在数据库中留出 10% 的可用空间...DBCC SHRINKDATABASE (TestDB, 30); -- 清理数据库日志文件为2M USE master ALTER DATABASE TestDB SET RECOVERY SIMPLE

2.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL Server AlwaysOn 日志收缩

    言归正传,下面讲一下我们使用SQL Server中经常遇到的数据库日志爆满问题,尤其是部署较多的Citrix XenDesktop虚拟桌面项目,在上千点规模中,数据库日志增长是非常快的,在传统Mirror...环境中,我们采用脚本方式做了相应修剪,下面我们说一下在AlwaysOn中最简单的收缩方法。  ...SQL Server的日志只要备份后就会自动释放原有占用的空间,例如每周产生的日志为10GB,每周做一次备份,在磁盘上的日志永远都会保持在10GB左右。  ...因此有效的收缩办法为,针对SQL Server做事务日志的定期备份,此操作直接在SQL Server管理工具中制定维护备份计划即可。  ...在一般部署中,我们制定两个备份计划,一个完整备份、一个事务日志备份,并将备份按照安全要求保留一个月或更长时间,自动删除旧的备份。

    3.7K20

    SQL 2005SQL 2008 收缩日志 清空删除大日志文件

    SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) 1 BackupLog DNName...dumptransaction DNName 5 with 6 no_log 7 go 8 USE DNName 9 DBCC SHRINKFILE (2) (SQL2008): 在SQL2008中清除日志就必须在简单模式下进行...NO_WAIT 27 28 GO 29 30 ALTER DATABASE DNName 31 SET 32 RECOVERY FULL --还原为完全模式 33 GO 优点:此清除日志所运行消耗的时间短...,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内 即可完成。...普通状态下LOG和DIFF的备份即可截断日志。 此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。

    1.8K10

    SQL Server 2012事务日志截断、回绕与收缩

    ======================================================================= 收缩事务日志文件的大小 收缩日志文件可删除一个或多个不包含逻辑日志任何部分的虚拟日志文件...在收缩事务日志文件时,将从日志文件的末端删除足够的不活动虚拟日志文件,以便将日志减小到接近目标大小。 如图。 ? 然后选择要收缩的文件类型为日志文件。如图。 ?...,他是日志文件收缩和日志截断的最小单位,比如物理日志文件是400M,内部划分了4个100M的虚拟文件,收缩时你得到的是300M,200M,不可能得到239M,对于一个物理文件,会划分成多少个虚拟文件,这个由...=================================== 2014年6.27日补充 扩充数据库:可以通过预先的监控发现磁盘文件快满的情况,手动进行调整,手动调整的速度比自动增长要快得多;收缩数据库...:不建议收缩数据库,会影响I/O性能,不建议在业务繁忙的时间进行,可能会造成新的文件碎片;数据库的整体趋势是增长的,所以收缩的意义不大,除非是特别大的数据库现在变小了;实际上收缩日志文件也是没有什么意义的

    5.4K60

    如何收缩SQL2008数据库日志Ldf文件过大

    这种问题一般是由于数据库日志Ldf文件过大导致的错误,数据库LDF日志文件存储的是数据库操作数据的信息,其中包含有(新增数据、修改数据、删除数据等)。...今天来和小编一起学习下如何收缩SQL2008数据库日志Ldf文件过大吧!...3,返回SSMS窗口,右键单击目标数据库名称QFBJZT,右键选择任务-收缩-数据库。4,在收缩数据库页面中无须调整参数,直接单击“确定”按钮开始收缩数据库的操作。...日志文件在一些异常情况下往往是恢复数据库的重要依据,收缩数据库操作主要作用是收缩日志大小。所以需要定期进行上述操作,以免数据库日志过大。...5,最后再次右键数据库QFBJZT选择“属性”,在打开的QFBJZT数据库属性页面单击“选项”标签,恢复模式后下拉菜单中选择回“完整”模式,设置好后单击“确定”按钮使设置生效即可完成收缩数据库日志文件工作

    2.1K10

    SQL Server日志文件收缩不了?实战案例分享:从排查到解决

    天早上,开发团队反馈监控系统告警,数据库db1的日志文件已经把磁盘占满了。这已经是一个老问题,通常的解决方法是执行一波日志收缩操作。但这次,常规手段居然失效了! 1....问题重现:常规操作失灵 通常我们会用以下命令来收缩日志: ALTER DATABASE [db1] SET RECOVERY SIMPLE; DBCC SHRINKFILE (N'db1_log', 1024...日志备份后截断 在完整恢复模式下,日志备份才是截断日志的正确方式: -- 执行日志备份 BACKUP LOG [db1] TO DISK = N'D:\Backup\db1_Log.bak'; -- 然后再收缩...,避免日志无限增长 监控长时间运行的事务,设置告警机制 定期检查日志文件大小,防患于未然 4....总结 通过这次排查,总结出日志无法收缩的几种常见原因及对策: 活动事务阻塞:使用 DBCC OPENTRAN检查并处理 复制问题:清理复制元数据或重新配置复制 缺少日志备份:在完整恢复模式下,必须定期备份日志

    1.6K10

    SQL Server 数据库清除日志的方法

    2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。...方法二: 设置检查点,自动截断日志   一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 1、设置数据库模式为简单模式...数据库日志清理 清除sqlserver2005日志 有时候当系统运行时间比较长的时候,我们把备份的数据库还原的时候发现,数据库中数据文件和日志文件变的好大,特别是日志文件。...现在给大家介绍如何清理SQLServer数据库日志;有两种方法如下: 方法一:手动清除sqlserver2005日志 1.右键在清除日志的数据库,如“TestDB”,点击[新建查询(Q)] 2...方法二:用工具软件SqlServer日志清除专家3.0,可对Sql Server 6.5到Sql Server 2005的各种版本的数据库日志的清除;其使用方法非常简单;SqlServer 日志清除专家绿色版

    7.7K50

    别盲目收缩日志!腾讯云国际站注册: SQL Server 事务日志持续增长根源排查方案

    监控日志增长趋势单次快照远远不够。我们观察到,经历过“收缩-膨胀”循环的实例,日志大小通常在业务高峰后 2-4 小时内出现拐点。...磁盘上占用的空间需要用DBCC SHRINKFILE主动收缩,但收缩最好在确认日志已进入稳定低水位后进行,否则很快又会被新日志填满,陷入“收缩-膨胀”循环。...手动截断与收缩日志文件当磁盘告警已经亮起,备份策略调整来不及生效时,运维人员需要先做“止血”操作。但这里有个关键认知必须先对齐:收缩日志文件只是释放物理空间,不解决日志为何增长的根因。...只有该字段变为 NOTHING 时,收缩才有效果。腾讯云上曾有一个典型案例:某电商库日志膨胀至 480 GB,运维连续执行三次收缩无效,最终发现是 CDC 捕获进程的一个长事务阻塞了截断链。...收缩时的目标大小建议设定为当前日志实际使用大小的 1.2-1.5 倍,而不是直接收缩至 0MB,避免频繁触发自动增长操作,进一步增加 I/O 负载。

    24700

    收缩undo表空间

    对于这些情形我们需要手动收缩表空间以达到节省空间资源以及数据库管理开销,如rman备份等。本文列出了收缩undo表空间的基本步骤并给出示例。       ...有关表空间,undo表空间的文章可参考: Oracle 表空间与数据文件 Oracle 回滚(ROLLBACK)和撤销(UNDO) 检查及设置合理的undo表空间 1、undo表空间收缩的基本步骤...d、使用原始undo表空间名创建一个新的小尺寸的undo表空间并且且换回系统undo,删除过渡undo表空间(此步骤可选) 2、收缩undo表空间示例 --环境 goex_admin@CICCFIX>...undo,收缩到23g,成功 goex_admin@CICCFIX> alter database datafile '/u02/database/CICCFIX/undo/undotbs1CICCFIX2...--再次尝试收缩到10g出现错误提示,数据库中不存在事务,而undo表空间得不到释放 goex_admin@CICCFIX> alter database datafile '/u02/database

    3.4K10
    领券