Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
Отчет по анализу производительности транзакций в SQL Server Management Studio помогает оценить, может ли In-Memory OLTP повысить производительность приложения базы данных. В отчете также показано, сколько работы необходимо выполнить, чтобы включить выполняющуюся в памяти OLTP в приложении. После идентификации таблицы на диске для переноса в In-Memory OLTP используйте помощник по оптимизации памяти , чтобы помочь вам перенести таблицу. Аналогичным образом, помощник по нативной компиляции помогает перенести хранимую процедуру в нативно скомпилированную хранимую процедуру. Дополнительные сведения о методологиях миграции см. в разделе Выполняемая в памяти OLTP — стандартные шаблоны рабочей нагрузки и вопросы миграции.
Отчет по анализу производительности транзакций выполняется непосредственно в рабочей базе данных или тестовой базе данных с активной рабочей нагрузкой, аналогичной рабочей нагрузке.
С помощью отчета и помощников миграции можно выполнять следующие задачи:
Анализ рабочей нагрузки, позволяющий определить самые перегруженные участки, производительность которых может улучшить выполняющаяся в памяти OLTP. В отчете по анализу производительности транзакций рекомендуется таблицы и хранимые процедуры, которые больше всего выигрывают от преобразования в In-Memory OLTP.
Помощь с планированием и выполнением миграции в OLTP в памяти. Миграция из дисковой таблицы в оптимизированную для памяти таблицу может занять много времени. Помощник по оптимизации для памяти позволит определить несовместимые компоненты в таблице, которые необходимо удалить до перемещения таблицы в In-Memory OLTP. Помощник по оптимизации памяти также помогает понять влияние переноса таблицы в оптимизированный для памяти формат на ваше приложение.
Вы можете определить, получает ли ваше приложение выгоду от In-Memory OLTP, если вы хотите запланировать миграцию на In-Memory OLTP, а также всякий раз, когда вы работаете над переносом некоторых ваших таблиц и хранимых процедур в In-Memory OLTP.
Внимание
Производительность системы базы данных зависит от нескольких факторов, не всех из которых сборщик производительности транзакций может наблюдать и измерять. Таким образом, отчет о анализе производительности транзакций не гарантирует фактическое повышение производительности в соответствии с его прогнозами, если будут сделаны какие-либо прогнозы.
Отчет о анализе производительности транзакций и советники по миграции устанавливаются в составе SQL Server Management Studio (SSMS) при выборе Управляющие средства-Базовые или Управляющие средства-Продвинутые при установке SQL Server или при установке SQL Server Management Studio.
Отчеты по анализу производительности транзакций
Отчеты об анализе производительности транзакции можно создать в обозревателе объектов , щелкнув правой кнопкой мыши базу данных и выбрав пункт Отчеты, затем — Стандартные отчетыи Обзор анализа производительности транзакций. Для создания эффективного отчета об анализе у базы данных должна быть активная или недавно выполненная рабочая нагрузка.
Таблицы
Подробный отчет для таблицы состоит из трех разделов.
Раздел "Статистика сканирования"
В этом разделе содержится одна таблица, включающая статистику, собранную о сканированиях в таблице базы данных. Столбцы:
Процент общего доступа. Процент операций сканирования и поиска в этой таблице от активности всей базы данных. Чем выше это значение, тем интенсивнее эта таблица использовалась по сравнению с другими таблицами в базе данных.
Статистика поиска/сканирования диапазона. В этом столбце указывается число уточняющих запросов и сканирований диапазона (индекса и таблиц), выполненных для таблицы во время профилирования. Среднее значение для одной транзакции является приблизительным.
Раздел статистики конкуренции
В этом разделе представлена таблица, в которой отображаются блокировки для таблицы базы данных. Дополнительные сведения о блокировках и блокировках базы данных см. в руководстве по блокировке транзакций и настройке версий строк. Существуют следующие столбцы.
Процент от общего времени ожидания. Процент ожидания блокировок и кратковременных блокировок в этой таблице по сравнению с активностью базы данных. Чем выше это значение, тем интенсивнее эта таблица использовалась по сравнению с другими таблицами в базе данных.
Статистика блокировки. Эти столбцы фиксируют количество ожиданий защелки для запросов, связанных с этой таблицей. Дополнительные сведения о защелках см. в информации о том, как SQL Server использует защелки. Чем выше это число, тем больше конфликтов с защелками в таблице.
Статистика блокировок. В этой группе столбцов указывается число получений и ожиданий блокировок для запросов к этой таблице. Дополнительные сведения о блокировках см. в разделе " Степень детализации блокировки" и иерархии. Чем больше ожиданий, тем больше конфликтов блокировок в таблице.
Раздел "Трудности миграции"
Этот раздел содержит таблицу со сведениями о трудностях, связанных с преобразованием этой таблицы базы данных в оптимизированную для памяти таблицу. Более высокая оценка трудностей указывает на больше трудностей для преобразования таблицы. Чтобы просмотреть сведения для преобразования этой таблицы базы данных, используйте помощник по оптимизации памяти.
Процесс собирает и агрегирует статистику сканирования и конкуренции по сведениям о таблице в отчете из sys.dm_db_index_operational_stats.
Хранимые процедуры
Рассмотрите возможность миграции хранимых процедур с высоким отношением времени ЦП ко времени выполнения. В отчете показаны все ссылки на таблицы, так как нативно скомпилированные хранимые процедуры могут ссылаться только на оптимизированные для памяти таблицы, что может увеличить затраты на миграцию.
Подробный отчет для хранимой процедуры состоит из двух разделов.
Раздел "Статистика выполнения"
В этом разделе содержится таблица, включающая статистику, собранную о выполнении хранимой процедуры. Существуют следующие столбцы.
Кэш-память. Время, в течение которого план выполнения был кэширован. Если хранимая процедура удаляется из кэша плана и затем возвращается, отображается время для каждого вхождения в кэш.
Общее время ЦП. Общее время ЦП, потребленное хранимой процедурой во время профилирования. Чем больше это значение, тем больше ресурсов ЦП использовала хранимая процедура.
Общее время выполнения. Общее время выполнения, затраченное на хранимую процедуру во время профилирования. Чем выше разница между этим числом и временем ЦП, тем менее эффективно хранимая процедура использует ЦП.
Всего пропущенного кэша. Количество промахов кэша (считывается из физического хранилища), вызванных выполнением хранимой процедуры во время профилирования.
Число выполнения. Количество выполнений этой хранимой процедуры во время профилирования.
Раздел "Ссылки на таблицы"
Этот раздел содержит таблицу, в которой показаны таблицы, на которые ссылается эта хранимая процедура. Перед преобразованием хранимой процедуры в скомпилированную в собственном коде хранимую процедуру преобразуйте все эти таблицы в оптимизированные для памяти таблицы. Эти таблицы должны оставаться на одном сервере и базе данных.
Статистика выполнения для отчета информации о хранимой процедуре собирается и агрегируется из sys.dm_exec_procedure_stats (Transact-SQL). Ссылки поступают из sys.sql_expression_dependencies (Transact-SQL).
Дополнительные сведения о том, как преобразовать хранимую процедуру в нативно скомпилированную хранимую процедуру, используйте помощник по нативной компиляции.
Создание контрольных списков миграции OLTP в памяти
Контрольные списки миграции определяют любые функции таблицы или хранимой процедуры, которые не поддерживаются в таблицах, оптимизированных для памяти, или скомпилированных в собственном коде хранимых процедур. С помощью помощников по оптимизации памяти и компиляции в собственный код можно создать контрольный список для одной таблицы на диске или интерпретируемой хранимой процедуры T-SQL. Вы также можете создать контрольные списки миграции для нескольких таблиц и хранимых процедур в базе данных.
В SQL Server Management Studio используйте команду "Создать контрольные списки для миграции In-Memory OLTP" или PowerShell для создания контрольного списка миграции.
Создание контрольного списка миграции с помощью команды пользовательского интерфейса
В обозревателе объектов щелкните правой кнопкой мыши базу данных, отличной от системной базы данных, выберите "Задачи", а затем выберите "Создать In-Memory контрольные списки миграции OLTP".
В диалоговом окне "Создание контрольных списков миграции In-Memory OLTP" нажмите кнопку "Далее", чтобы перейти на страницу "Параметры генерации контрольного списка". На этой странице выполните следующие действия:
В поле Сохранить контрольный список в введите путь к папке.
Выберите параметр Создавать контрольные списки для указанных таблиц и хранимых процедур .
В поле раздела разверните узлы Таблица и Хранимая процедура .
Выберите в списке несколько объектов.
Нажмите кнопку "Далее " и убедитесь, что список задач соответствует параметрам на странице "Настройка параметров создания контрольного списка ".
Нажмите кнопку "Готово", а затем убедитесь, что отчеты контрольного списка миграции были созданы только для выбранных объектов.
Точность отчетов можно проверить, сравнив их с отчетами, созданными с помощью помощника по оптимизации памяти и помощника по собственной компиляции. Дополнительные сведения см. в разделах Memory Optimization Advisor и Native Compilation Advisor.
Создание контрольного списка миграции с помощью SQL Server PowerShell
В обозревателе объектов выберите базу данных и нажмите кнопку "Пуск PowerShell". Должно отобразиться следующее сообщение:
PS SQLSERVER: \SQL\{Instance Name}\DEFAULT\Databases\{two-part DB Name}>Введите следующую команду.
Save-SqlMigrationReport -FolderPath "<folder_path>"Проверьте следующие результаты:
Команда создает путь к папке, если он еще не существует.
Команда создает отчет контрольного списка миграции для всех таблиц и хранимых процедур в базе данных. Отчет находится в расположении, указанном в параметре
folder_path.
Создание контрольного списка миграции с помощью Windows PowerShell
Запустите сеанс Windows PowerShell с повышенными правами.
Введите команды, указанные ниже. Объектом может быть таблица или хранимая процедура.
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -FolderPath "<folder_path1>"Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -Object <object_name> -FolderPath "<folder_path2>"Проверьте следующие результаты:
Команда создает отчет контрольного списка миграции для всех таблиц и хранимых процедур в базе данных. Отчет находится в расположении, указанном в параметре
folder_path.Отчет контрольного списка миграции для
<object_name>— это единственный отчет в расположении, указанномfolder_path2.