Как администратор SQL Server, иногда вам приходится надевать шляпу детектива и расследовать проблемы, сообщаемые различными командами. Будь то команда приложения, команда инфраструктуры или даже ваше собственное любопытство, изучение данных и связывание точек может помочь вам выявить причину проблемы.
Давайте погрузимся в концепцию аудиторских трасс в папке данных SQL Server. Представьте себе ситуацию, когда команда Windows сообщает о низком свободном месте на диске DATA, который содержит файлы базы данных SQL. Вы, как администратор баз данных, помните, что ограничили размер файла, поэтому маловероятно, что проблема вызвана файлами MDF или LDF. При дальнейшем расследовании вы обнаруживаете файлы вроде “audittrace20170512091829.trc” и сотни подобных файлов.
Расширение “.trc” обычно используется для файлов трассировки SQL, указывая, что трассировка работает и не останавливается даже после перезапуска SQL Server. Это дает вам подсказку, что включена некоторая форма аудита. Чтобы подтвердить свои подозрения, вы выполняете два запроса: “sp_readerrorlog 0,1,’trace'” и “select id, path from sys.traces”. Результат подтверждает, что найденные вами файлы действительно являются аудиторской трассой.
Затем вы просите команду проверить значение “c2 audit mode” с помощью запроса “sp_configure ‘c2 audit mode'”. Результат возвращает 1, что указывает на то, что на сервере включен аудит C2.
Теперь, когда вы определили причину проблемы, и команда сталкивается с ограничениями по месту, пришло время найти решение или обходной путь. Поскольку они не уверены, кто включил аудит C2 на сервере, было решено отключить его. Есть два способа сделать это: либо через пользовательский интерфейс, либо с помощью T-SQL.
Используя T-SQL, вы можете выполнить следующие команды:
EXEC sys.sp_configure N'c2 audit mode', N'0' GO RECONFIGURE WITH OVERRIDE GO
После выполнения вышеуказанных шагов вам необходимо перезапустить экземпляр SQL Server, чтобы остановить трассировку захвата данных.
Вы сталкивались с подобной детективной работой в своем путешествии с SQL Server? Не стесняйтесь делиться своими опытами в комментариях ниже.