jueves, 16 de julio de 2009

Cómo crear un plan de mantenimiento en SQL

Hay dos maneras de crear un plan de mantenimiento. Puede hacerlo mediante el Asistente para planes de mantenimiento o mediante el uso de una superficie de diseño. El uso del asistente es más conveniente si desea crear planes de mantenimiento básicos, mientras que la superficie de diseño le permite utilizar un flujo de trabajo mejorado.

Para crear o administrar planes de mantenimiento, debe ser miembro de la función fija de servidor sysadmin. Tenga en cuenta que el Explorador de objetos sólo muestra planes de mantenimiento si el usuario es miembro de la función fija de servidor sysadmin.


1. En el Explorador de objetos, expanda un servidor y, a continuación, expanda Administración.

2. Haga clic con el botón secundario en Planes de mantenimiento y seleccione Asistente para planes de mantenimiento.

3. Siga los pasos del asistente para crear un plan de mantenimiento. Para obtener más información, vea Asistente para planes de mantenimiento.

Para crear un plan de mantenimiento mediante la superficie de diseño

1. En el Explorador de objetos, expanda un servidor y, a continuación, expanda Administración.

2. Haga clic con el botón secundario en Planes de mantenimiento y seleccione Nuevo plan de mantenimiento.

3. En el cuadro de diálogo Nuevo plan de mantenimiento, escriba el nombre del plan.

4. Se abre el Cuadro de herramientas y la superficie [Diseño] con el Subplán_1 predeterminado creado. De manera opcional, escriba una descripción para el plan completo en la ficha Diseño.


Haga doble clic en Subplán_1 y escriba un nombre y una descripción para el subplán en el cuadro de diálogo Propiedades del subplán. Haga clic en el icono Programación del

1. subplán para escribir detalles de programación en el cuadro de diálogo Propiedades de programación del trabajo.

2. Para generar un subplán, arrastre elementos del flujo de tareas del Cuadro de herramientas y colóquelos en la superficie de diseño del plan para definir las tareas que hay que realizar. Haga doble clic en las tareas para abrir los cuadros de diálogo que le permitirán configurar las opciones de las tareas.

3. Para definir el flujo de trabajo entre tareas, haga clic en la tarea que desea que se produzca en primer lugar, mantenga presionada la tecla CTRL y, a continuación, haga clic en la tarea que desea que se produzca en segundo lugar. Haga clic con el botón secundario en cualquier tarea y, a continuación, haga clic en Agregar restricción de precedencia.

4. Para agregar otro subplán que contenga tareas ejecutadas en una programación diferente, haga clic en Agregar subplán en la barra de herramientas.

5. Para agregar conexiones a servidores diferentes, haga clic en Administrar conexiones.

6. Para especificar opciones de informes, haga clic en el icono Informes y registro. Para guardar más información detallada, seleccione Registrar información adicional. Para escribir la información de los resultados de planes de mantenimiento en otro servidor, seleccione Registrar en el servidor remoto. Para ver los resultados en el visor del archivo de registros, haga clic con el botón secundario en el nodo Planes de mantenimiento o en el plan de mantenimiento específico y, a continuación, haga clic en Ver historial.

Planes de mantenimiento

Los planes de mantenimiento crean un flujo de trabajo de las tareas necesarias para asegurarse de que la base de datos está optimizada, se realizan copias de seguridad de la misma con regularidad y no tiene incoherencias. El Asistente para planes de mantenimiento también crea planes de mantenimiento principales, pero la creación manual de planes le da mucha más flexibilidad. En SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005), los planes de mantenimiento crean un paquete de Integration Services, ejecutado por un trabajo del Agente SQL Server. Estas tareas de mantenimiento se pueden crear manual o automáticamente a intervalos programados.

Los Planes de Mantenimiento de SQL Server 2005 proporcionan las características siguientes:

· Creación de flujos de trabajo con diferentes tareas de mantenimiento típicas. También puede crear sus propias secuencias de comandos Transact-SQL personalizadas.

· Jerarquías conceptuales. Cada plan le permite crear o editar flujos de trabajo de tareas. Las tareas de cada plan se pueden agrupar en subplanes, que se pueden programar para ejecutarse a horas diferentes.

· Compatibilidad con planes multiservidor que se pueden utilizar en entornos de servidor principal o servidor de destino.

· Compatibilidad con el historial de planes de registro en los servidores remotos.

· Compatibilidad con la Autenticación de Windows y la Autenticación de SQL Server. Siempre que sea posible, utilice la autenticación de Windows.

Los planes de mantenimiento sólo se pueden ejecutar en bases de datos con un nivel de compatibilidad de 80 o superior. El diseñador de planes de mantenimiento de SQL Server Management Studio no muestra las bases de datos cuyo nivel de compatibilidad esté establecido en 70 o inferior.

Puede migrar planes de mantenimiento de bases de datos de SQL Server 2000 a planes de SQL Server 2005; para ello, haga clic con el botón secundario en el plan de mantenimiento de bases de datos de SQL Server 2000 y elija Migrar. Para obtener más información, vea Cómo migrar planes de mantenimiento de bases de datos de SQL Server 2000.

Debe ser miembro de la función sysadmin para crear y administrar planes de mantenimiento, y para verlos en el Explorador de objetos. El nodo Agente SQL Server del Explorador de objetos sólo aparece para los miembros de la función fija de servidor sysadmin, o las funciones fijas de base de datos SQLAgentReaderRole, SQLAgentUserRole o SQLAgentOperatorRole.

Si la cuenta con la que se ejecuta el Agente SQL Server en el servidor de destino (TSX) no es miembro de la función fija de servidor sysadmin en el servidor principal (MSX), para importar un plan de mantenimiento distribuido, se debe conceder a la cuenta el siguiente permiso en el servidor principal.

Copiar el siguiente Codigo

USE msdb; GO EXEC sys.sp_addrolemember @rolename = 'db_dtsoperator', @membername = 'TargetServersRole';

Nota:

Si se agrega la cuenta TargetServersRole a la función db_dtsoperator, la cuenta con la que el Agente SQL Server se ejecuta en el servidor de destino podrá leer todos los paquetes de SSIS almacenados en msdb en el servidor principal, incluidas las contraseñas almacenadas en dichos paquetes.

Si este permiso no se concede, el siguiente error se mostrará en el registro del Agente SQL Server en el servidor de destino cuando el servidor de destino actualice el trabajo del Agente SQL Server multiservidor que ejecuta el plan de mantenimiento:

"Error al importar el plan de mantenimiento desde <>: Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: Error de OLE DB al intentar buscar una carpeta en SQL. Código de error: 0x80040E09 (Se denegó el permiso EXECUTE en el objeto 'sp_dts_getfolder', base de datos 'msdb', esquema 'dbo'.)"

Después de cambiar estos permisos, cada plan de mantenimiento distribuido existente debe volverse a cargar en el servidor de destino. Realice algún pequeño cambio en cada plan y guárdelo. De este modo se fuerza al servidor de destino a volver a cargar el plan de mantenimiento desde el servidor principal. De forma predeterminada, el servidor de destino actualizará los trabajos desde el servidor principal cada 60 segundos. Se producirá un retraso mínimo de 120 segundos después de guardar el plan de mantenimiento y antes de que aparezca y pueda ejecutarse en el servidor de destino.

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio