script por lotes para hacer el mantenimiento de SQL Server base de datos simple

Además de la creación de copias de seguridad, hay una variedad de tareas y funciones de SQL Server pone a disposición tanto que puede mejorar el rendimiento y la fiabilidad de sus bases de datos. Anteriormente, te hemos mostrado cómo las bases de datos de copia de seguridad de SQL Server con un simple script de línea de comandos para la misma manera que estamos proporcionando un script que le permitirá realizar fácilmente tareas comunes de mantenimiento.

Compactación / Reducir una base de datos [/ compacto]

Hay varios factores que contribuyen a la espacio de disco físico utiliza una base de datos SQL Server. Sólo para nombrar unos pocos

Compactación (o disminuyendo) la base de datos va a recuperar espacio en disco no utilizado. Para bases de datos pequeñas (200 MB o menos) esto por lo general no será mucho, pero para las grandes bases de datos (1 GB o más) el espacio recuperado puede ser significativo.

Reindexing una base de datos [/ Reindex]

Al igual que constantemente crear, editar y borrar archivos puede conducir a la fragmentación del disco, insertar, actualizar y eliminar registros en una base de datos puede dar lugar a la fragmentación de la tabla. Los resultados prácticos son los mismos en que las operaciones de lectura y escritura sufren un impacto en el rendimiento. Aunque no es una analogía perfecta, reindexing las tablas en una base de datos, esencialmente ellos desfragmenta. En algunos casos, esto puede aumentar significativamente la velocidad de recuperación de datos.

Debido a las obras de manera SQL Server, las tablas se deben indexar individualmente. Para bases de datos con un gran número de mesas que esto puede ser un dolor real que hacer manualmente, pero nuestro script realiza cada mesa en la base de datos respectiva y reconstruye todos los índices.

Comprobar la integridad [/ Verificar]

Para que una base de datos para seguir siendo a la vez funcional y producir resultados precisos, hay numerosos elementos de integridad que deben estar en su lugar. Afortunadamente, los problemas de integridad físicas y / o lógicas no son muy comunes, pero es una buena práctica para funcionar de vez en cuando el proceso de verificación de la integridad de las bases de datos y revisar los resultados.

Cuando el proceso de verificar que se ejecuta a través de nuestra secuencia de comandos sólo se informa de errores, por lo que no hay noticias es una buena noticia.

La secuencia de comandos por lotes Sqlmaint es compatible con SQL 2005 y superior y se debe ejecutar en un equipo que tiene instalada la herramienta SQLCMD (instalado como parte de la instalación de SQL Server). Se recomienda que usted cae esta secuencia de comandos en un lugar establecido en la variable PATH de Windows (es decir, C: Windows) para que pueda ser fácilmente llamado como cualquier otra aplicación desde la línea de comandos.

Para ver la información de ayuda, entra

Sqlmaint /?

Ejemplos

Para ejecutar un compacto y luego una verificar en la base de datos “MyDB” por medio de una conexión de confianza

Sqlmaint MyDB / Compacto / Verificar

Para ejecutar un reindex y luego compacto en “MyDB” en la instancia con nombre “especial” con el usuario “sa” con la contraseña “123456”

Sqlmaint MyDB /S:.Special / U: S / P: 123456 / Reindex / Compacto

El uso del interior de una secuencia de comandos por lotes

Mientras que la escritura de la hornada Sqlmaint se puede utilizar como una aplicación desde la línea de comandos, cuando se utiliza dentro de otro archivo por lotes, debe estar precedido con la palabra clave CALL.

Por ejemplo, esta secuencia de comandos se ejecuta todas las tareas de mantenimiento en cada base de datos no es del sistema en una instalación predeterminada de SQL Server mediante la autenticación de confianza

Echar desactivado; setlocal EnableExtensions; SET DBList = “% TEMP% DBList.txt”; sqlcmd -E-h-1-w 300 -Q “SET NOCOUNT ON, seleccione el nombre desde master.dbo.sysDatabases donde nombre no en ( ‘ maestro “,” modelo “,” msdb ‘,’ tempdb ‘) “>% DBList%; DE / F” tokens usebackq = 1 “%% i IN (% DBList%) hacen; LLAME Sqlmaint” %% i “/ compacto / Reindex / Verify; ECHO +++++++++++; SI EXISTE% DBList% DEL / F / Q% DBList%; ENDLOCAL

Descargar el lote Sqlmaint escritura de Sysadminexperto.com

Iris, un género de aproximadamente 300 especies de plantas con flores vistosas que se encuentran en todo el mundo, derivan su nombre de la palabra griega para el arco iris (Iris es también el nombre de la diosa griega del arco iris).