Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- PRC_CLEARLOG
- -- EXEC PRC_CLEARLOG
- -- CREATE
- ALTER PROCEDURE PRC_CLEARLOG AS
- BEGIN
- SET NOCOUNT ON
- DECLARE @banco table (nome varchar(256))
- -- {
- INSERT INTO @banco
- SELECT [name] FROM sys.databases
- WHERE recovery_model_desc = 'FULL' AND name NOT IN ('master', 'model', 'msdb', 'tempdb')
- -- }
- DECLARE @nomeBanco VARCHAR(256)
- WHILE(1=1)BEGIN
- SELECT TOP 1 @nomeBanco = [nome] FROM @banco
- IF(@nomeBanco IS NOT NULL)BEGIN
- DELETE FROM @banco WHERE [nome] = @nomeBanco
- DECLARE @sqlShirink VARCHAR(1024)
- SET @sqlShirink = 'USE ['+@nomeBanco+']
- ALTER DATABASE ['+@nomeBanco+'] SET RECOVERY SIMPLE
- DECLARE @logFile varchar(256)
- SELECT @logFile = name FROM sys.database_files WHERE type_desc = ''LOG''
- DBCC SHRINKFILE(@logFile, 2)
- '
- --- DEBUG {
- PRINT @sqlShirink
- SELECT @nomeBanco
- -- }
- BEGIN TRY
- EXEC(@sqlShirink)
- END TRY
- BEGIN CATCH
- PRINT '#ERROR ' + @nomeBanco
- IF(OBJECT_ID('tempdb..#erros') IS NULL)
- -- {
- SELECT @nomeBanco banco, ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, ERROR_STATE() AS ErrorState,
- ERROR_PROCEDURE() AS ErrorProcedure, ERROR_LINE() AS ErrorLine, ERROR_MESSAGE() AS ErrorMessage
- INTO #erros
- -- }
- ELSE
- -- {
- INSERT INTO #erros
- SELECT @nomeBanco banco, ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, ERROR_STATE() AS ErrorState,
- ERROR_PROCEDURE() AS ErrorProcedure, ERROR_LINE() AS ErrorLine, ERROR_MESSAGE() AS ErrorMessage
- -- }
- END CATCH
- SET @nomeBanco = NULL
- END -- IF
- ELSE BEGIN
- IF(OBJECT_ID('tempdb..#erros') IS NOT NULL)
- SELECT * FROM #erros
- BREAK
- END -- ELSE IF
- END -- WHILE
- END -- PROCEDURE
- GO
Add Comment
Please, Sign In to add comment