Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure 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
,SHOWPLAN
y el permisoVIEW 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:
User1
, que tiene el permisoALTER TRACE
, comienza a reproducir una traza.Se encuentra un evento de inicio de sesión para
User2
en el trazado reproducido.SQL Server Profiler usa el
EXECUTE AS
comando para suplantarUser2
.SQL Server intenta autenticar
User2
y, en función de los resultados, se produce una de las siguientes acciones:Si
User2
no se puede autenticar, SQL Server Profiler devuelve un error y continúa reproduciendo el seguimiento comoUser1
.Si
User2
se autentica correctamente, vuelva a reproducir el seguimiento a medida queUser2
continúe.
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:Si
User2
tiene permisos en la base de datos de destino, la suplantación se ha realizado correctamente y el seguimiento se reproduce comoUser2
.Si
User2
no tiene permisos en la base de datos de destino, el servidor comprueba si hay unGuest
usuario en esa base de datos.
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:Si existe una cuenta
Guest
, el seguimiento se vuelve a reproducir como la cuentaGuest
.Si no existe ninguna
Guest
cuenta en la base de datos de destino, se devuelve un error y el seguimiento se reproduce comoUser1
.
En el diagrama siguiente se muestra este proceso de comprobación del permiso al reproducir seguimientos: