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


Разрешения, необходимые для запуска приложения SQL Server Profiler

Область применения: SQL Server Управляемый экземпляр SQL Azure

По умолчанию для запуска SQL Server Profiler требуются такие же разрешения, что и для хранимых процедур языка Transact-SQL, используемых для создания трассировок. Для запуска SQL Server Profiler пользователь должен обладать разрешением ALTER TRACE. Дополнительные сведения см. в разделе GRANT Server Permissions (Transact-SQL).

Внимание

Планы запросов и текст запроса, захваченные трассировкой SQL, а также другие средства, например динамические административные представления и функции (DMV, DMF), расширенные события, могут содержать конфиденциальные сведения. Таким образом, разрешения ALTER TRACE и SHOWPLAN и VIEW SERVER STATE должны быть предоставлены только тем, кто должен выполнять рабочие задачи, с учетом принципа минимальных привилегий.

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

Внимание

SQL Trace и SQL Server Profiler устарели. Пространство имен Microsoft.SqlServer.Management.Trace, которое содержит объекты трассировки Microsoft SQL Server и Replay, также устаревшее.

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

Вместо этого используйте расширенные события. Дополнительные сведения о расширенных событиях см. в статьях Краткое руководство. Расширенные события в SQL Server и Использование профилировщика XEvent для SSMS.

Примечание.

Поддерживаются рабочие нагрузки SQL Server Profiler для служб Analysis Services.

Примечание.

При попытке подключиться к База данных SQL Azure из SQL Server Profiler неправильно возникает вводящая в заблуждение сообщение об ошибке следующим образом:

  • Чтобы выполнить трассировку SQL Server, необходимо быть членом предопределенной роли сервера sysadmin или иметь разрешение ALTER TRACE.

В сообщении должно объясняться, что База данных SQL Azure не поддерживается SQL Server Profiler.

Разрешения на воспроизведение трассировок

Для воспроизведения трассировок пользователю требуется разрешение ALTER TRACE.

Однако если во время воспроизведения трассировки возникло событие "Audit Login", SQL Server Profiler использует команду EXECUTE AS. SQL Server Profiler использует команду EXECUTE AS для олицетворения пользователя, связанного с событием входа в систему.

Если в воспроизводимой трассировке SQL Server Profiler обнаруживает событие входа в систему, то производятся проверки следующих разрешений.

  1. Пользователь1, имеющий разрешение ALTER TRACE, запускает воспроизведение трассировки.

  2. В воспроизводимой трассировке возникло событие входа в систему для Пользователя2.

  3. SQL Server Profiler олицетворяет Пользователя2 командой EXECUTE AS.

  4. SQL Server пытается проверить подлинность Пользователя2, и, в зависимости от результатов, происходят следующие действия.

    1. Если проверить подлинность Пользователя2 невозможно, SQL Server Profiler возвращает ошибку и продолжает воспроизведение трассировки от имени Пользователя1.

    2. Если проверка подлинности Пользователя2 прошла успешно, воспроизведение трассировки продолжается от имени Пользователя2.

  5. Разрешения для Пользователя2 проверяются в базе данных назначения, и, в зависимости от результата, происходят следующие действия.

    1. Если у Пользователя2 есть разрешения на целевую базу данных, то олицетворение проходит успешно и трассировка воспроизводится от имени Пользователя2.

    2. Если у Пользователя2 нет разрешений на целевую базу данных, сервер проверяет существование пользователя Guest в этой базе данных.

  6. В целевой базе данных проверяется существование пользователя Guest, и, в зависимости от результата, происходят следующие действия.

    1. Если учетная запись «Guest» существует, трассировка воспроизводится от ее имени.

    2. Если в базе данных назначения отсутствует учетная запись «Guest», возвращается ошибка и трассировка воспроизводится от имени Пользователя1.

На следующей диаграмме показан процесс проверки разрешений во время воспроизведения трассировок:

Разрешения на воспроизведение трассировки SQL Server Profiler

См. также