В Azure SQL что происходит, если выделенное пространство равно максимальному пространству - это влияет на производительность - PullRequest
1 голос
/ 06 мая 2020

Нужна помощь в понимании того, что такое «выделенное пространство» и «максимальное пространство».

Если указано, что максимальное выделенное пространство составляет 500 дБ, включены ли в него данные и журнал?

Если выделенное пространство достигает Максимальное пространство, все пространство выделено только для данных?

Моя статистика БД-

  • Используемое пространство : 406 ГБ
  • Выделено : 500 ГБ
  • Максимум : 500 ГБ

В основном, у меня недавно возникли проблемы с производительностью с моей БД, с огромным влиянием ввода-вывода журнала DTU.

Мы будем благодарны за любую помощь по этим строкам!

1 Ответ

1 голос
/ 06 мая 2020

Максимальный размер файла не включает размер журнала и файлы 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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...