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


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

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

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

Примечание.

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

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

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

Замечания

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

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

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

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

    In order to run a trace against SQL Server, you must be a member of **sysadmin** fixed server role or have the ALTER TRACE permission.
    

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

Разрешения, используемые для воспроизведения трассировок

Для повтора трассировок также требуется, чтобы пользователь, который воспроизводит ALTER TRACE трассировку, имел разрешение.

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

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

  1. User1, у которого есть ALTER TRACE разрешение, начинает повторную трассировку.

  2. Событие входа для User2 обнаружено в восстановленной трассировке.

  3. SQL Server Profiler использует команду EXECUTE AS для имитации User2.

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

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

    2. Если User2 проверка подлинности выполнена успешно, повторная трассировка User2 продолжается.

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

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

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

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

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

    2. Если в целевой базе данных нет Guest учетной записи, возвращается ошибка, и трассировка воспроизводится как User1.

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

Снимок экрана разрешений на трассировку воспроизведения в SQL Server Profiler.