For each db / table

时间:2021-06-26 04:43:18
use master
go
exec master..sp_MSforeachdb 'use [?]; IF (SELECT db_id(''?'')) > 4 and (SELECT DATABASEPROPERTYEX(''?'', ''Recovery'')) =''FULL'' BACKUP LOG [?] to disk = ''NUL'''
WAITFOR Delay '00:10:00'
exec master..sp_MSforeachdb 'use [?]; IF (SELECT db_id(''?'')) > 4 and (SELECT DATABASEPROPERTYEX(''?'', ''Recovery'')) =''FULL'' BACKUP LOG [?] to disk = ''NUL'''
EXEC master..sp_MSforeachdb 'use [?]; IF (SELECT db_id(''?'')) > 4 and (SELECT DATABASEPROPERTYEX(''?'', ''Recovery'')) =''FULL'' begin declare @Log varchar(127); select @Log = (select top 1 rtrim(name) from sysfiles where name like ''%log%''); DBCC SHRINKFILE(@Log,32); end' ps: 实际上 sp_helptext 时候会发现内部还用到 sp_MSForEachWorker