Permisos necesarios para ejecutar SQL Server Profiler

Se aplica a:SQL ServerAzure SQL Managed Instance

De forma predeterminada, la ejecución de SQL Server Profiler requiere los mismos permisos de usuario que los procedimientos almacenados de Transact-SQL que se utilizan para crear seguimientos. Para ejecutar SQL Server Profiler, debe concederse a los usuarios el permiso ALTER TRACE. Para más información, consulte GRANT (permisos de servidor de Transact-SQL).

Importante

Los planes de consulta y el texto de consulta, capturados por Seguimiento de SQL, así como por otros medios, por ejemplo, las vistas y funciones de administración dinámica (DMV y DMF), o los eventos extendidos, pueden contener información confidencial. Por lo tanto, los permisos ALTER TRACE, SHOWPLAN y el permiso de cobertura VIEW SERVER STATE deben concederse únicamente a aquellos que los necesiten para cumplir sus funciones de trabajo, según el principio de privilegio mínimo.

Además, se recomienda guardar solo los archivos del plan de presentación o los archivos de seguimiento que contengan eventos relacionados con el plan de presentación en una ubicación que utilice el sistema de archivos NTFS, así como restringir el acceso a los usuarios que tengan autorización para ver información confidencial.

Importante

Seguimiento de SQL y SQL Server Profiler están en desuso. El espacio de nombres Microsoft.SqlServer.Management.Trace que contiene los objetos Trace y Replay de Microsoft SQL Server también están en desuso.

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

Use eventos extendidos en su lugar. Para más información sobre los eventos extendidos, vea Inicio rápido: Eventos extendidos en SQL Server y Generador de perfiles XEvent de SSMS.

Nota:

Se admiten cargas de trabajo de Analysis Services en SQL Server Profiler.

Nota:

Al intentar conectarte a una base de datos de Azure SQL Database desde el generador de perfiles de SQL Server, se produce incorrectamente un mensaje de error engañoso como el siguiente:

  • Para ejecutar un seguimiento en SQL Server, debe ser miembro del rol fijo de servidor de administrador del sistema o tener el permiso ALTER TRACE.

El mensaje debería haber explicado que el generador de perfiles de SQL Server no admite instancias de Azure SQL Database.

Permisos utilizados para reproducir seguimientos

La reproducción de seguimientos también requiere que el usuario que reproduce el seguimiento disponga del permiso ALTER TRACE.

Sin embargo, durante la reproducción, SQL Server Profiler utiliza el comando EXECUTE AS si se encuentra un evento Audit Login en el seguimiento que se está reproduciendo. SQL Server Profiler utiliza el comando EXECUTE AS para suplantar al usuario asociado al evento de inicio de sesión.

Si SQL Server Profiler encuentra un evento de inicio de sesión en un seguimiento que se está reproduciendo, se realizan las siguientes comprobaciones de permisos:

  1. El usuario 1, que tiene el permiso ALTER TRACE, comienza a reproducir una seguimiento.

  2. Se encuentra un evento de inicio de sesión para el usuario 2 en la seguimiento reproducida.

  3. SQL Server Profiler utiliza el comando EXECUTE AS para suplantar al usuario 2.

  4. SQL Server Profiler intenta autenticar al usuario 2 y, en función del resultado, tiene lugar una de las siguientes acciones:

    1. Si el usuario 2 no se puede autenticar, SQL Server Profiler devuelve un error y continúa reproduciendo la seguimiento como usuario 1.

    2. Si el usuario 2 se autentica correctamente, la reproducción de la seguimiento como usuario 2 continúa.

  5. Los permisos del usuario 2 se comprueban en la base de datos de destino y, en función del resultado, tiene lugar una de las siguientes acciones:

    1. Si el usuario 2 tiene permisos en la base de datos de destino, la suplantación ha tenido éxito y la seguimiento se reproduce como usuario 2.

    2. Si el usuario 2 no tiene permisos en la base de datos de destino, el servidor busca un usuario Invitado en esa base de datos.

  6. Se comprueba la existencia de un usuario Invitado en la base de datos de destino y, en función del resultado, tiene lugar una de las siguientes acciones:

    1. Si existe una cuenta Invitado, la seguimiento se reproduce como la cuenta Invitado.

    2. Si no existe una cuenta Invitado en la base de datos de destino, se devuelve un error y la seguimiento se reproduce como el usuario 1.

En el siguiente diagrama se muestra el proceso de comprobación de permisos al reproducir seguimientos:

SQL Server Profiler replay trace permissions.

Consulte también