Поделиться через


DBCC SHRINKLOG (Parallel Data Warehouse)

Применимо к:Система платформы аналитики (PDW)

Уменьшает размер журнала транзакций на всем устройстве для текущей базы данных платформы Analytics Platform System (PDW). Для сжатия журнала транзакций данные дефрагментируются. Со временем журнал транзакций базы данных может становиться фрагментированным и неэффективным. Используйте DBCC SHRINKLOG для уменьшения фрагментации и уменьшения размера журнала.

Соглашения о синтаксисе Transact-SQL

Синтаксис

DBCC SHRINKLOG
    [ ( SIZE = { target_size [ MB | GB | TB ]  } | DEFAULT ) ]
    [ WITH NO_INFOMSGS ]
[;]

Аргументы

SIZE = { target_size [ MB | ГБ | ТБ ] } | ПО УМОЛЧАНИЮ

target_size — это требуемый размер журнала транзакций на всех вычислительных узлах после DBCC SHRINKLOG завершения. Значение должно быть целым числом больше 0.

Размер журнала измеряется в мегабайтах (МБ), гигабайтах (ГБ) или терабайтах (ТБ). Это совокупный размер журнала транзакций во всех вычислительных узлах.

По умолчанию уменьшает размер журнала транзакций до DBCC SHRINKLOG размера, хранящегося в метаданных базы данных. Размер журнала в метаданных определяется параметром LOG_SIZECREATE DATABASE (Azure Synapse Analytics) или ALTER DATABASE (Azure Synapse Analytics). DBCC SHRINKLOG уменьшает размер журнала транзакций до размера SIZE = DEFAULT по умолчанию при указании или опущении SIZE предложения.

WITH NO_INFOMSGS

Информационные сообщения не отображаются в результатах DBCC SHRINKLOG .

Разрешения

Требует разрешения ALTER SERVER STATE.

Комментарии

DBCC SHRINKLOG не изменяет размер журнала, хранящегося в метаданных базы данных. Метаданные по-прежнему содержат параметр, указанный LOG_SIZE в CREATE DATABASE инструкции или ALTER DATABASE .

Примеры

A. Сжатие журнала транзакций до исходного размера, указанного в инструкции CREATE DATABASE.

Предположим, что при создании базы данных для журнала Addresses транзакций Addresses было задано значение 100 МБ. То есть оператор CREATE DATABASE для Addresses имеет LOG_SIZE = 100 MB. Теперь допустим, что журнал увеличился до 150 МБ и его необходимо снова сжать до 100 МБ.

Каждая из следующих инструкций попытается сжать журнал транзакций Addresses для базы данных до размера по умолчанию 100 МБ. Если сжатие журнала до 100 МБ приведет к потере данных, DBCC SHRINKLOG журнал будет уменьшаться до наименьшего возможного размера( больше 100 МБ) без потери данных.

USE Addresses;
GO
DBCC SHRINKLOG ( SIZE = 100 MB );
GO
DBCC SHRINKLOG ( SIZE = DEFAULT );
GO
DBCC SHRINKLOG;
GO

См. также