Максимальный размер файла не включает размер журнала и файлы XTP. Они также исключаются для определения размера базы данных. Между прочим, они автоматически управляются инфраструктурой SQL Azure.
В зависимости от уровня база данных получает определенный c объем места для журнала. С vCore вам выделяется фиксированный объем места для ваших журналов, когда вы устанавливаете размер хранилища. Например, если вы укажете 1 ТБ памяти, для журнала будет выделено 300 ГБ.
Вы можете проверить размер журнала и процент использования с помощью следующего оператора:
DBCC SQLPERF(LOGSPACE)
Используйте следующие DMV для отслеживания транзакций, если вы получаете ошибки, связанные с размером журнала: Следующие DMV можно использовать для отслеживания транзакций: sys.dm_tran_active_transactions, sys.dm_tran_database_transactions, sys.dm_tran_locks, sys.dm_tran_session_transactions. Например, существуют некоторые ограничения: ограничение журнала на транзакцию составляет 2 ГБ, и сеансы, потребляющие более одного миллиона блокировок, завершаются.
Незавершенные транзакции могут блокировать усечение файлов журнала. Чтобы предотвратить это, расстояние от самого старого активного порядкового номера журнала транзакций (LSN) до конца журнала (текущий LSN) не может превышать 20% от размера файла журнала. В случае нарушения нарушающая транзакция завершается и откатывается, чтобы журнал мог быть усечен.
Чтобы избежать ограничения операций со строками, уменьшите размер данных в вашей транзакции, например, уменьшив количество строк или разделение операции на несколько транзакций. Чтобы избежать ограничения операций с таблицами / индексами, требующих одной транзакции, убедитесь, что соблюдается следующая формула:
количество затронутых строк в таблице * (средний размер обновляемого поля в байтах + 80) <2 ГБ </p>