5 votos

¿Cómo puedo obtener alertado cuando el auto-crecimiento se produce en una base de datos SQL Server?

Nuestras bases de datos de SharePoint se establece en el (absurdo) de 1 mb por defecto de crecimiento automático fuera de la caja, y tengo que "convencer" a nuestro propietario de la aplicación que esto está mal. Hay un medio para controlar el crecimiento automático de la actividad de SQL Server?

Me gustaría ser capaz de informar de la frecuencia con que esta actividad está produciendo con la configuración de 1MB.

3voto

Warren Blanchet Puntos 881

Archivo de registro de autogrowths son reportados en los registros de SQL o el registro de sucesos de Aplicación. También puede usar cosas como la Traza de SQL o SQL Profiler para monitor de SQL eventos. He aquí un artículo de MSDN que se analiza la supervisión de SQL eventos.

EDIT: En el registro de sucesos de Aplicación busque el IDENTIFICADOR de Suceso 5144 de crecimiento automático para cancelar eventos y 5145 para el éxito/completado el crecimiento automático de eventos.

EDIT2: buscar db archivo de registro auogrowth eventos en SQL registro puede utilizar este:

EXEC xp_readerrorlog 0,1,'autogrow'

Incremento de la 0 para tener xp_readerrorlog uso archivados archivos de registro de errores. De 0 a (n-1) donde n es el número de archivos de registro de errores que tiene.

También puede configurar las notificaciones de eventos para un crecimiento automático de eventos. Algo como esto:

CREATE EVENT NOTIFICATION data_file_autogrow_notifier
ON DATABASE
FOR DATA_FILE_AUTO_GROW
TO SERVICE 'NotifyAutogrow', 'current database' ;

o para el archivo de registro:

CREATE EVENT NOTIFICATION log_file_autogrow_notifier
ON DATABASE
FOR LOG_FILE_AUTO_GROW
TO SERVICE 'NotifyAutogrow', 'current database' ;

Donde NotifyAutogrow es el nombre de una instancia de Service Broker. Más info aquí. Tendrá que configurar este servicio para su entorno.

3voto

Bernie Perez Puntos 5091

Como más munición para usted, retirada de este blog me hizo que describe el archivo de datos de auto-crecimiento: la Importancia del tamaño de archivo de datos de gestión.

0voto

ivanmp Puntos 140

Es sólo que siempre activado, no se puede deshabilitar el inicio de sesión de SQL. Si no estás viendo de crecimiento automático de eventos entonces es probable que usted no ha tenido ningún suceder en el plazo en que su registro cubre. Ver la edición de mi respuesta para un sql se puede utilizar para buscar el crecimiento automático en el SQL de registro.

Depende de lo que estás hablando.

En mi experiencia, SQL Server no de registro automático a ERRORLOG como se ha sugerido, en lugar de esto se registra en el seguimiento predeterminado, y el seguimiento predeterminado puede ser desactivado y activado.

Para comprobar si está activado, consulte:

select name, value_in_use
from sys.configurations
where name='default trace enabled'

En caso de que las personas discapacitadas, se pueden habilitar:

sp_configure 'default trace enabled', 1
go

No se olvide de ejecutar RECONFIGURE después.

Para comprobar autogrow eventos puede utilizar:

SELECT databaseid, filename, SUM(IntegerData*8) AS Growth, Duration, StartTime
FROM ::fn_trace_gettable('C:\SQL Server\MSSQL10_50.INSTANCENAME\MSSQL\Log\log_4.trc', default)
WHERE EventClass = 92 OR EventClass = 93
GROUP BY databaseid, filename, IntegerData, Duration, StartTime

Donde el parámetro fn_trace_gettable es el nombre de la corriente (o archivo) de seguimiento.

Usted puede encontrar la ruta de la actual traza de la siguiente manera:

SELECT path FROM sys.traces WHERE is_default = 1;

0voto

Toby Puntos 1

Archivo de registro de autogrowths son reportados en los registros de SQL o el registro de sucesos de Aplicación. También puede usar cosas como la Traza de SQL o SQL Profiler para monitor de SQL eventos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: