DECLARE @sql nvarchar(4000)
SET @sql = '
IF ''?'' NOT IN (''tempdb'',''master'',''model'',''msdb'')
BEGIN
PRINT ''SHRINK LOG FILES FOR ?''
USE [?]
DECLARE @tsql nvarchar(4000) SET @tsql = ''''
DECLARE @LogFileId int
DECLARE LogFiles CURSOR FOR
SELECT fileid FROM sysfiles WHERE status & 0x40 = 0x40
OPEN LogFiles
FETCH next FROM LogFiles INTO @LogFileId
WHILE @@fetch_status = 0
BEGIN
SET @tsql = @tsql + ''DBCC SHRINKFILE('' + cast(@LogFileId AS varchar(5)) + '', 1)'' + CHAR(13) + CHAR(10)
FETCH next FROM LogFiles INTO @LogFileId
END
CLOSE LogFiles
DEALLOCATE LogFiles
SET @tsql = @tsql + ''BACKUP LOG [?] WITH TRUNCATE_ONLY'' + CHAR(13) + CHAR(10) + @tsql
EXEC(@tsql)
END'
EXEC sp_msforeachdb @sql
miércoles, 9 de abril de 2008
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario