Compartir a través de


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, a los usuarios se les debe conceder el ALTER TRACE permiso. Para obtener más información, consulte GRANT Server Permissions(Permisos de servidor GRANT).

Nota:

Seguimiento de SQL y SQL Server Profiler están en desuso. El Microsoft.SqlServer.Management.Trace espacio de nombres que contiene los objetos Trace y Replay de Microsoft SQL Server también está 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 obtener más información sobre la introducción a los eventos extendidos, consulte Inicio rápido: Eventos extendidos y Uso del generador de perfiles XEvent de SSMS.

Observaciones

  • Los planes de consulta y el texto de consulta, capturados por el seguimiento de SQL, así como por otros medios, por ejemplo, las vistas de administración dinámica (DMV), las funciones de administración dinámica (DMF) y los eventos extendidos pueden contener información confidencial. Por lo tanto, los permisos ALTER TRACE, SHOWPLANy el permiso VIEW SERVER STATE de cobertura deben concederse solo a los usuarios que necesitan estos permisos para cumplir sus funciones de trabajo, en función del principio de privilegios mínimos.

    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.

  • Se admiten las cargas de trabajo de SQL Server Profiler para Analysis Services.

  • Al intentar conectarse a una instancia de Azure SQL Database desde SQL Server Profiler, genera incorrectamente un mensaje de error engañoso:

    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.
    

    El mensaje debe indicar que Azure SQL Database no es compatible con SQL Server Profiler.

Permisos usados para reproducir seguimientos

La reproducción de seguimientos también requiere que el usuario que está reproduciendo el seguimiento tenga el ALTER TRACE permiso .

Sin embargo, durante la reproducción, SQL Server Profiler usa el comando EXECUTE AS si se encuentra un evento Audit Login en el seguimiento que se está reproduciendo. SQL Server Profiler usa el EXECUTE AS comando 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. User1, que tiene el permiso ALTER TRACE, comienza a reproducir una traza.

  2. Se encuentra un evento de inicio de sesión para User2 en el trazado reproducido.

  3. SQL Server Profiler usa el EXECUTE AS comando para suplantar User2.

  4. SQL Server intenta autenticar User2y, en función de los resultados, se produce una de las siguientes acciones:

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

    2. Si User2 se autentica correctamente, vuelva a reproducir el seguimiento a medida que User2 continúe.

  5. Los permisos para User2 se comprueban en la base de datos de destino y, en función de los resultados, se produce uno de los escenarios siguientes:

    1. Si User2 tiene permisos en la base de datos de destino, la suplantación se ha realizado correctamente y el seguimiento se reproduce como User2.

    2. Si User2 no tiene permisos en la base de datos de destino, el servidor comprueba si hay un Guest usuario en esa base de datos.

  6. La existencia de un Guest usuario se comprueba en la base de datos de destino y, en función de los resultados, se produce una de las siguientes acciones:

    1. Si existe una cuenta Guest, el seguimiento se vuelve a reproducir como la cuenta Guest.

    2. Si no existe ninguna Guest cuenta en la base de datos de destino, se devuelve un error y el seguimiento se reproduce como User1.

En el diagrama siguiente se muestra este proceso de comprobación del permiso al reproducir seguimientos:

Captura de pantalla de los permisos de seguimiento de reproducción de SQL Server Profiler.