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 secuencias de comandos 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 en línea, 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 secuencias de comandos Transact-SQL. Para crear cargas de trabajo de tablas de traza o archivos de traza, use Analizador de SQL Server. 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 secuencias de comandos Transact-SQL mediante el editor de consultas de SQL Server Management Studio

  1. Inicie el Editor de consultas en SQL Server Management Studio. Para obtener información acerca de cómo ejecutar este paso, vea Modificar secuencias de comandos y archivos en SQL Server Management Studio.

  2. Escriba la secuencia de comandos Transact-SQL en el Editor de consultas. Esta secuencia de comandos 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 esta secuencia de comandos 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

  1. Inicie el Analizador de SQL Server mediante uno de los métodos siguientes:

    • En el menú Inicio, elija Todos los programas, Microsoft SQL Server 2005, 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.
  2. Cree un archivo o tabla de traza, tal y como se describe en los procedimientos siguientes, que utilice la plantilla Tuning del Analizador de SQL Server:

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:

  • 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 Traza 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

  1. 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.

  2. 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.

  3. 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 Cómo especificar eventos y columnas de datos para un archivo de traza (Analizador de SQL Server) o Cómo modificar una traza existente (Transact-SQL).

  4. 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 de la función fija de servidor sysadmin o de la función fija de base de datos db_owner).

Vea también

Conceptos

Optimizar una base de datos

Otros recursos

Cómo optimizar una base de datos
Introducción al Analizador de SQL Server
Introducción a Traza de SQL

Ayuda e información

Obtener ayuda sobre SQL Server 2005