DB를 백업하고 트랜잭션 로그 줄이는 쿼리 생성 쿼리
모든 DB를 백업하고 트랜잭션 로그 줄이는 쿼리를 생성시킨다.
go
use master;
set nocount on;
begin try
drop table #tmpSql;
end try
begin catch
end catch;
declare @sql varchar(max) = '';
select Convert(nvarchar(1000), 'use [' + name +'];' + CHAR(13)+CHAR(10)
+'backup database [' + name +'] to disk=''C:\temp\' + name +'.bak'' with init;'+ CHAR(13)+CHAR(10)
+'backup log [' + name +'] to disk=''C:\temp\' + name +'_log.bak'' with init;'+ CHAR(13)+CHAR(10)
+'alter database [' + name +'] Modify File (NAME = [' + replace(name,'GM Quiz', 'finehome') +'_Log], SIZE = 30MB);'+ CHAR(13)+CHAR(10)
+'DBCC SHRINKFILE(''' + replace(name,'GM Quiz', 'finehome') +'_Log'', 11);'+ CHAR(13)+CHAR(10)
+'--alter database [' + name +'] set offline;'+ CHAR(13)+CHAR(10)
+'GO'+ CHAR(13)+CHAR(10)) "sqlString"
into #tmpSql
from master..sysdatabases
where name NOT IN ('master', 'tempdb', 'model', 'msdb', 'pubs', 'Self_Guidance', 'Northwind');
update #tmpSql
set @sql += "sqlString";
print @sql;
댓글
댓글 쓰기