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


Как вести журнал длительных запросов (ODBC)

Доступен полный образец, демонстрирующий создание файла журнала для длительно выполняющегося запроса. Образец этого кода находится в файле LogLongRunningQuery.cpp, который можно загрузить со страницы Загрузка SQL Server на странице библиотеки MSDN. Этот образец разработан с помощью Microsoft Visual C++ 2005 и предназначен для ODBC версии 3.0 и выше.

Примечание по безопасностиПримечание по безопасности

При возможности используйте проверку подлинности Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранить учетные данные, зашифруйте их с помощью API-интерфейса шифрования Win32.

Ведение журнала длительно выполняющихся запросов с помощью администратора ODBC

  1. На панели управления дважды щелкните пункт Администрирование, а затем Источники данных (ODBC). (Можно также запустить файл odbcad32.exe из командной строки.)

  2. Откройте вкладку Пользовательский DSN, Системный DSN или Файловый DSN.

  3. Щелкните источник данных, для которого создается журнал длительно выполняющихся запросов.

  4. Нажмите кнопку Настройка.

  5. В мастере настройки источников данных для Microsoft SQL Server перейдите на страницу с параметром Сохранять длительные запросы в журнал.

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

  7. В поле Длительность запроса (мс) введите длительность времени ожидания (в миллисекундах).

Ведение журнала длительно выполняющихся запросов программным образом

  1. Вызовите SQLSetConnectAttr со следующими параметрами: SQL_COPT_SS_PERF_QUERY_LOG, полный путь и имя файла журнала длительно выполняющихся запросов. Например,

    C:\\Odbcqry.log
    
  2. Вызовите метод SQLSetConnectAttr с параметром SQL_COPT_SS_PERF_QUERY_INTERVAL и задайте время ожидания в миллисекундах.

  3. Чтобы начать запись в журнал длительно выполняющихся запросов, вызовите функцию SQLSetConnectAttr с параметрами SQL_COPT_SS_PERF_QUERY и SQL_PERF_START.

  4. Чтобы прекратить запись в журнал длительно выполняющихся запросов, вызовите функцию SQLSetConnectAttr с параметрами SQL_COPT_SS_PERF_QUERY и SQL_PERF_STOP.