Настройка параметров tempdb для Управляемого экземпляра SQL Azure

Применимо к:Управляемому экземпляру SQL Azure

В этой статье описана настройка tempdb параметров управляемого экземпляра SQL Azure.

Управляемый экземпляр SQL Azure позволяет настроить следующее:

  • tempdb Количество файлов
  • Увеличение числа tempdb файлов
  • Максимальный tempdb размер

tempdb Параметры сохраняются после перезапуска, обновления или отработки отказа.

Обзор

tempdb — это одна из системных баз данных по умолчанию, которые поставляется с управляемым экземпляром SQL Azure. Структура tempdb такой же, как и любая другая структура пользовательской базы данных. Разница заключается в том, что так как tempdb используется для неуверенного хранилища, транзакции регистрируются минимально.

tempdb невозможно удалить, отсоединить, отключить, отключить, переименовать или восстановить. Попытка любой из этих операций возвращает ошибку. tempdb повторно создается при каждом запуске экземпляра сервера и все объекты, которые могли быть созданы во tempdb время предыдущего сеанса, не сохраняются при перезапуске службы после операции управления обновлениями экземпляра или отработки отказа.

Рабочая нагрузка отличается tempdb от рабочих нагрузок в других пользовательских базах данных; объекты и данные часто создаются и уничтожаются, и существует очень высокая параллелизм. Существует только один tempdb экземпляр для каждого управляемого экземпляра. Даже если у вас несколько баз данных и приложений, подключающихся к экземпляру, они используют одну и ту же tempdb базу данных. Службы могут столкнуться с спорными случаями, когда они пытаются выделить страницы в активно используемых tempdbслужбах. В зависимости от степени спорности запросы и запросы, которые включают tempdb , могут стать неответственными. Поэтому tempdb важно для производительности службы.

tempdb Количество файлов

Увеличение числа tempdb файлов данных создает одну или несколько страниц GAM и SGAM для каждого файла данных, что помогает повысить tempdb параллелизм и сократить количество конфликтов страниц PFC. Однако увеличение числа tempdb файлов данных может иметь другие последствия для производительности, поэтому тщательно протестируйте перед реализацией в рабочей среде.

По умолчанию Управляемый экземпляр SQL Azure создает 12 tempdb файлов данных и 1 tempdb файл журнала, но эту конфигурацию можно изменить.

Изменение количества tempdb файлов имеет следующие ограничения:

  • Логическое имя нового файла является нечувствительным к регистру с нечувствительным числом не более 16 символов и пробелов.
  • Максимальное число tempdb файлов — 128.

Примечание.

После добавления новых файлов не нужно перезапустить сервер; однако пустые файлы будут заполнены более высоким приоритетом, а алгоритм циклического перебора для выделения страниц будет потерян до тех пор, пока система не будет перебалансирована.

Для изменения количества файлов tempdb в Управляемом экземпляре SQL Azure можно использовать SQL Server Management Studio (SSMS) и Transact-SQL (T-SQL).

Для изменения количества tempdb файлов можно использовать СРЕДУ SQL Server Management Studio (SSMS). Для этого выполните следующие действия.

  1. Подключитесь к управляемому экземпляру в SSMS.

  2. Разверните базы данных в обозревателе объектов и разверните системные базы данных.

  3. Щелкните правой кнопкой мыши tempdbи выберите пункт "Свойства".

  4. Выберите "Файлы" в разделе "Выбор страницы", чтобы просмотреть существующее tempdb количество файлов.

  5. Чтобы добавить файл, нажмите кнопку "Добавить ", а затем укажите сведения о новом файле данных в строке.

    Screenshot of Database Properties in SSMS, with new database file name highlighted.

  6. Чтобы удалить tempdb файл, выберите файл, который нужно удалить из списка файлов базы данных, а затем нажмите кнопку "Удалить".

Увеличение роста

tempdb Рост файлов может повлиять на производительность запросов с помощью tempdb. Таким образом, tempdb увеличение роста файла данных, слишком малое, может привести к фрагментации экстентов, а приращения, которые слишком большие, могут привести к медленному росту или сбою роста, если недостаточно места для роста. Оптимальное значение для tempdb увеличения размера файлов зависит от рабочей нагрузки.

Увеличение по умолчанию для Управляемого экземпляра SQL — 254 МБ для файлов данных и 64 МБ для tempdbtempdb файлов журналов, но вы можете настроить увеличение, чтобы адаптироваться к рабочей нагрузке и настроить производительность.

Рассмотрим следующий пример.

  • Параметр роста файла поддерживает следующие единицы: int_growth_incrementКБ, МБ, ГБ, ТБ и %.
  • Увеличение роста должно быть одинаковым для всех tempdb файлов данных, как и в противном случае, алгоритм циклического перебора, который выделяет страницы, может быть затронут.

Вы можете использовать sql Server Management Studio (SSMS) и Transact-SQL (T-SQL) для изменения увеличения роста файлов tempdb .

С помощью SQL Server Management Studio (SSMS) можно изменить увеличение размера tempdb файлов. Для этого выполните следующие действия.

  1. Подключитесь к управляемому экземпляру в SSMS.

  2. Разверните базы данных в обозревателе объектов и разверните системные базы данных.

  3. Щелкните правой кнопкой мыши tempdbи выберите пункт "Свойства".

  4. Выберите "Файлы" в разделе "Выбор страницы", чтобы просмотреть существующее tempdb количество файлов.

  5. Выберите многоточие (...) рядом с файлом данных, чтобы открыть диалоговое окно "Изменение свойств автороста".

  6. Установите флажок рядом с параметром "Включить авторост" , а затем измените параметры автоматического роста, указав значения роста файла в процентах или мегабайтах.

    Screenshot of Change Autogrowth for tempdev in SSMS, with new database file name highlighted.

  7. Нажмите кнопку ОК, чтобы сохранить параметры.

Максимальный объем

tempdbразмер суммы всех tempdb файлов. tempdb Размер файла — это выделенное (ноль) пространство для этого tempdb файла. Начальный размер файла для всех tempdb файлов составляет 16 МБ, что является размером всех tempdb файлов при перезапуске экземпляра или отработки отказа. tempdb Когда используемое пространство файла данных достигает размера файла, все tempdb файлы данных автоматически увеличиваются на их настроенном росте.

tempdbиспользуемое пространство — это сумма используемого пространства всех tempdb файлов. tempdb Используемое пространство файла равно части этого tempdb размера файла, занятого ненулевой информацией. Сумма используемого пространства и свободного tempdbпространства равна размеруtempdb.tempdb

Вы можете использовать T-SQL для определения текущего используемого и свободного места для tempdb файлов.

Чтобы получить используемое пространство, свободное пространство и размер tempdb файлов данных, выполните следующую команду:

USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB, 
	SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB, 
	SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB 
FROM sys.dm_db_file_space_usage

На следующем снимке экрана показан пример вывода:

Screenshot of the query result in SSMS showing used and free space in the tempdb data file.

Чтобы получить используемое пространство, свободное пространство и размер tempdb файлов журнала, выполните следующую команду:

USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
     (total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
     total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage

На следующем снимке экрана показан пример вывода:

Screenshot of the query result in SSMS showing used and free space in the tempdb log file.

tempdb максимальный размер — это ограничение, после которого невозможно tempdb увеличиться дальше.

tempdb Максимальный размер управляемого экземпляра SQL имеет следующие ограничения:

  • На уровне служб общего назначения максимальный размер tempdb для 24 ГБ/виртуального ядра (96–1920 ГБ), а файл журнала составляет 120 ГБ.
  • На уровне служб "Критически важный для бизнеса" tempdb конкурирует с другими базами данных для ресурсов, поэтому зарезервированное хранилище совместно используется между tempdb другими базами данных. Максимальный tempdb размер файла журнала составляет 2 ТБ.

tempdb файлы растут, пока они не достигают максимального ограничения, допустимого уровнем служб, или по заданному вручную максимальному tempdb размеру файла.

Для изменения максимального размера tempdb файлов можно использовать SQL Server Management Studio (SSMS) и Transact-SQL (T-SQL).

Чтобы определить текущий tempdb максимальный размер в SSMS, выполните следующие действия.

  1. Подключитесь к управляемому экземпляру в SSMS.
  2. Разверните базы данных в обозревателе объектов и разверните системные базы данных.
  3. Щелкните правой кнопкой мыши tempdbи выберите пункт "Свойства".
  4. На странице "Общие" проверьте значение "Размер" в разделе "База данных", чтобы определить максимальный размер tempdb. Значение, указывающее максимальный -1 размер tempdb, не ограничено.

Screenshot of tempdb database properties showing the max size for tempdb in SSMS.

Чтобы изменить текущий tempdb максимальный размер в SSMS, выполните следующие действия.

  1. Подключитесь к управляемому экземпляру в SSMS.
  2. Разверните базы данных в обозревателе объектов и разверните системные базы данных.
  3. Щелкните правой кнопкой мыши tempdbи выберите пункт "Свойства".
  4. Выберите "Файлы" в разделе "Выбор страницы", чтобы просмотреть существующее tempdb количество файлов.
  5. Выберите многоточие (...) рядом с файлом данных, чтобы открыть диалоговое окно "Изменение свойств автороста".
  6. tempdb Измените параметры максимального размера, изменив значения в разделе "Максимальный размер файла".
  7. Нажмите кнопку ОК, чтобы сохранить параметры.

Screenshot of the change autogrowth dialog box in SSMS, with maximum file size highlighted.

Ограничения tempdb

В следующей таблице определены ограничения для различных tempdb параметров конфигурации:

Параметр конфигурации Значения
Логические tempdb имена файлов Максимум 16 символов
tempdb Количество файлов Максимум 128 файлов
Количество tempdb файлов по умолчанию 13 (1 файл журнала + 12 файлов данных)
Начальный tempdb размер файлов данных 16 МБ
Увеличение tempdb размера файлов данных по умолчанию 256 МБ
Начальный tempdb размер файлов журнала 16 МБ
Увеличение размера файлов журналов tempdb по умолчанию 64 МБ
Начальный максимальный tempdbразмер -1 (неограниченно)
Максимальный размер tempdb Вплоть до размера хранилища

Дальнейшие действия