Cómo crear cargas de trabajo
Una carga de trabajo es un conjunto de instrucciones Transact-SQL que se ejecutan en una o varias bases de datos que desea optimizar. La interfaz gráfica de usuario (GUI) del Asistente para la optimización de motor de base de datos y la utilidad de línea de comandos dta utilizan archivos de traza, tablas de traza o scripts Transact-SQL como entradas de la carga de trabajo al optimizar las bases de datos. Las cargas de trabajo también pueden incrustarse en un archivo de entrada XML, en el que también se puede especificar un peso para cada evento. Para obtener más información acerca de cómo especificar cargas de trabajo insertadas, vea Usar un archivo de entrada XML para la optimización.
Puede utilizar el editor de consultas en Microsoft SQL Server Management Studio o su editor de texto preferido para crear cargas de trabajo de scripts Transact-SQL. Para crear cargas de trabajo de tablas de traza o archivos de traza, use SQL Server Profiler. El Asistente para la optimización de motor de base de datos analiza estas cargas de trabajo y recomienda estrategias de partición o indización que mejorarán el rendimiento de las consultas del servidor.
Nota
Cuando utilice una tabla de traza como una carga de trabajo, esa tabla debe existir en el mismo servidor en el que el Asistente para la optimización de motor de base de datos está realizando la optimización. Si crea la tabla de traza en otro servidor, muévala después al servidor en el que el Asistente para la optimización de motor de base de datos está realizando la optimización.
Para crear cargas de trabajo de scripts Transact-SQL mediante el editor de consultas de SQL Server Management Studio
Inicie el Editor de consultas en SQL Server Management Studio. Para obtener información acerca de cómo ejecutar este paso, vea Modificar scripts y archivos en SQL Server Management Studio.
Escriba el script Transact-SQL en el Editor de consultas. Este script debe contener un conjunto de instrucciones Transact-SQL que se ejecutan en una o varias bases de datos que desea optimizar. Guarde el archivo con la extensión .sql. La utilidad de línea de comandos y la GUI del Asistente para la optimización de motor de base de datos pueden utilizar este script Transact-SQL como una carga de trabajo.
Para crear cargas de trabajo de tablas de traza y archivos de traza mediante el Analizador de SQL Server
Inicie el SQL Server Profiler mediante uno de los métodos siguientes:
En el menú Inicio, elija Todos los programas, Microsoft SQL Server, Herramientas de rendimiento y, a continuación, haga clic en Analizador de SQL Server.
En SQL Server Management Studio, haga clic en el menú Herramientas y, a continuación, haga clic en Analizador de SQL Server.
Cree un archivo o tabla de traza, tal y como se describe en los procedimientos siguientes, que utilice la plantilla Tuning del SQL Server Profiler:
Cómo guardar los resultados de un seguimiento en un archivo (SQL Server Profiler)
El Asistente para la optimización de motor de base de datos considera que el archivo de traza de la carga de trabajo es un archivo de sustitución incremental. Para obtener más información acerca de los archivos de sustitución incremental, vea Limitar el tamaño de la tabla y el archivo de traza.
Cómo guardar los resultados de un seguimiento en una tabla (SQL Server Profiler)
Asegúrese de que la traza se ha detenido antes de utilizar una tabla de traza como carga de trabajo.
Es recomendable usar la plantilla Tuning del Analizador de SQL Server para capturar cargas de trabajo para el Asistente para la optimización de motor de base de datos.
Si desea utilizar su propia plantilla, asegúrese de que los siguientes eventos de traza se capturan para la versión de SQL Server que está utilizando.
SQL Server 2005 y versiones posteriores:
RPC:Completed
SQL:BatchCompleted
SP:StmtCompleted
SQL Server 2000:
RPC:Completed
SQL:BatchCompleted
También puede utilizar las versiones Starting (inicio) de estos eventos de traza. Por ejemplo, SQL:BatchStarting. Sin embargo, las versiones Completed (completado) de estos eventos de traza incluyen la columna Duration, que permite al Asistente para la optimización de motor de base de datos optimizar de forma más eficaz la carga de trabajo. El Asistente para la optimización de motor de base de datos no optimiza otros tipos de eventos de traza. Para obtener más información acerca de estos eventos de traza, vea Procedimientos almacenados (categoría de eventos) y TSQL (categoría de eventos). Para obtener más información acerca del uso de procedimientos almacenados de Seguimiento de SQL para crear una carga de trabajo de archivo de traza, vea Cómo crear una traza (Transact-SQL).
Cargas de trabajo de archivos o tablas de traza que contienen la columna LoginName
El Asistente para la optimización de motor de base de datos envía solicitudes de plan de presentación como parte del proceso de optimización. Cuando una tabla o un archivo de traza que contiene la columna de datos LoginName se consume como una carga de trabajo, el Asistente para la optimización de motor de base de datos suplanta al usuario especificado en LoginName. Si este usuario no dispone del permiso SHOWPLAN, que le permite ejecutar y generar planes de presentación para las instrucciones incluidas en la traza, el Asistente para la optimización de motor de base de datos no optimizará esas instrucciones. Para obtener más información acerca de la columna de datos LoginName, vea Describir eventos mediante columnas de datos. Para obtener más información acerca del permiso SHOWPLAN, vea Seguridad del plan de presentación.
Para evitar conceder el permiso SHOWPLAN a cada usuario especificado en la columna LoginName de la traza
Optimice la carga de trabajo del archivo o carga de traza. Para obtener más información, vea Cómo optimizar una base de datos.
Utilice el registro de optimización para buscar instrucciones que no se hayan optimizado por causa de permisos inadecuados. Para obtener más información, vea Acerca del registro de optimización y Cómo ver la salida de optimización.
Cree una nueva carga de trabajo al eliminar la columna LoginName de los eventos que no se hayan optimizado y, a continuación, guarde únicamente los eventos no optimizados en un nuevo archivo o tabla de traza. Para obtener más información acerca de la eliminación de columnas de datos de una traza, vea Especificar eventos en un archivo de seguimiento (SQL Server Profiler) o Cómo modificar un seguimiento existente (Transact-SQL).
Vuelva a enviar la nueva carga de trabajo sin la columna LoginName al Asistente para la optimización de motor de base de datos.
El Asistente para la optimización de motor de base de datos optimizará la nueva carga de trabajo debido a que no hay información de inicio de sesión especificada en la traza. Si LoginName no existe para una instrucción, el Asistente para la optimización de motor de base de datos optimiza esa instrucción al suplantar al usuario que inició la sesión de optimización (un miembro del rol fijo de servidor sysadmin o del rol fijo de base de datos db_owner).
Vea también