Cómo reducir el archivo de registro en todas las bases de datos

Quien soy
Martí Micolau
@martimicolau
 Aquí hay una forma de hacerlo encoger del registro de transaccionesarchivo .ldf) que a menudo crece desproporcionadamente en Sql Server.

 Para evitar repetir la declaración en cada base de datos del servidor, el script subyacente funciona en el todas las bases de datos en el servidor

EJECUTAR sp_msforeachdb 'USE?; ¿TRANSACCIÓN DE VOLQUETE? WITH NO_LOG; DECLARE @LogLogicalName nvarchar (100); SELECT @LogLogicalName = nombre_archivo (2); DBCC SHRINKFILE (@LogLogicalName, 100); '
 sp_msforeachdb: es un procedimiento almacenado de microsoft no documentado que le permite ejecutar código T-SQL en todas las bases de datos de un servidor. ?: es el nombre de la base de datos devuelto por el procedimiento almacenado. nombre_archivo (2): es una función que devuelve el nombre lógico del archivo de registro de la base de datos. Otra solución es este otro script, que reduce el registro en la base de datos a través de un bucle:  



CREAR TABLA #TDatabases (DBName nvarchar (128), DBLogicalName nvarchar (128)) INSERT INTO #TDatabases SELECT db.name DBName, mf.name DBLogicalName FROM sys.databases db join sys.master_files mf en db.database_id = mf.database_id WHERE db.name no está en ('master', 'tempdb', 'model', 'msdb', 'distribution') Y type_desc LIKE 'log' ESTABLECER NOCOUNT ON DECLARE @VarDBLogicalName nvarchar (128) DECLARE @VarDBName nvarchar (128) DECLARE @VarRowCount int SELECT top 1 @VarDBName = DBName, @VarDBLogicalName = DBLogicalName FROM #TDatabases SET @VarRowCount = @@ rowcount MIENTRAS @VarRowCount <> 0 BEGIN PRINT @VarDBLogicalName EXEC ('use' + @VarDBogicalName + ' VarDBName + 'con no_log dbcc shrinkfile (' '' + @VarDBLogicalName + '' ', TRUNCATEONLY) WITH NO_INFOMSGS') BORRAR DE #TDatabases DONDE DBName = @VarDBName SELECCIONAR arriba 1 @VarDBName = DBName, @VarDBLogicalName SET = @VarRowCount = @@ ROWCOUNT END DROP TABLE #TDatabases ESTABLECER NOCOUNT OFF 



Añade un comentario de Cómo reducir el archivo de registro en todas las bases de datos
¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.