-- Back Up All Databases
-- by Bryan Valencia
--create temp table
declare @temp table(commands varchar(500), completed bit)
--load it with backup commands
insert into @temp (commands, completed)
(select
'BACKUP DATABASE ['+name+
'] TO DISK = N''J:\Backups\'+name+
'.bak'' WITH COPY_ONLY, NOFORMAT, NOINIT, NAME = N'''+name+
'-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10',
0
from
master.sys.databases
where
owner_sid <> 0x01 and state_desc='ONLINE'
)
--variable for the current command
declare @thisCommand varchar(500);
--loop through the table
while (select count(1) from @temp where completed=0)>0
begin
--find the first row that has not already been executed
select top 1 @thisCommand = commands from @temp where completed=0
--show the command in the "mesage" output window.
print @thisCommand
--execute the command
EXEC (@thisCommand);
--flag this row as completed.
update @temp set completed=1 where commands=@thisCommand
end
--show the user the rows that have been found.
select * from @temp
Bryan Valencia is a contributing editor and founder of Visual Studio Journey. He owns and operates Software Services, a web design and hosting company in Manteca, California.
No comments:
Post a Comment