DBCC SHRINKLOG - 分析平台系统 (PDW)
适用于:Analytics Platform System (PDW)
减少当前 Analytics Platform System (PDW) 数据库在设备中的事务日志大小。 已对数据进行碎片整理,以便收缩事务日志。 随着时间推移,数据库事务日志可能会变得零碎且效率低下。 使用 DBCC SHRINKLOG
减少碎片并减小日志大小。
语法
DBCC SHRINKLOG
[ ( SIZE = { target_size [ MB | GB | TB ] } | DEFAULT ) ]
[ WITH NO_INFOMSGS ]
[;]
参数
SIZE = { target_size [ MB | GB | TB ] } | DEFAULT
target_size 是 DBCC SHRINKLOG
完成后所有计算节点上所需的事务日志大小。 它是大于零的整数。
日志大小的单位为兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB)。 它是所有计算节点上事务日志的组合大小。
默认情况下,DBCC SHRINKLOG
可将事务日志减小到数据库的元数据中存储的日志大小。 LOG_SIZE
CREATE DATABASE(Azure Synapse Analytics)或 ALTER DATABASE(Azure Synapse Analytics)中的参数确定元数据中的日志大小。 已指定 SIZE = DEFAULT
或省略 SIZE
子句时,DBCC SHRINKLOG
可将事务日志大小减小到默认大小。
WITH NO_INFOMSGS
DBCC SHRINKLOG
结果中不显示提示消息。
权限
需要 ALTER SERVER STATE 权限。
备注
DBCC SHRINKLOG
不会更改数据库的元数据中存储的日志大小。 元数据继续包含 CREATE DATABASE
或 ALTER DATABASE
语句中指定的 LOG_SIZE
参数。
示例
A. 将事务日志收缩到 CREATE DATABASE 指定的原始大小
假设创建 Addresses
数据库时,Addresses
数据库的事务日志已设置为 100 MB。 也就是说,Addresses
的 CREATE DATABASE
语句包含 LOG_SIZE = 100 MB
。 现在,假设日志增长到 150 MB,并且你想要将其缩减回 100 MB。
以下每个语句尝试将数据库的事务日志 Addresses
收缩为默认大小 100 MB。 如果将日志收缩到 100 MB 将导致数据丢失, DBCC SHRINKLOG
则会将日志收缩为尽可能小的大小,大于 100 MB,而不会丢失数据。
USE Addresses;
GO
DBCC SHRINKLOG ( SIZE = 100 MB );
GO
DBCC SHRINKLOG ( SIZE = DEFAULT );
GO
DBCC SHRINKLOG;
GO