代码改变世界

sqlserver 批量修改用户数据库自动增长

2012-05-11 11:19  java环境变量  阅读(366)  评论(0编辑  收藏  举报

if object_id('pr_modify_file_add') is not null
drop proc pr_modify_file_add
go
create proc pr_modify_file_add
@in_name nvarchar(256)
as
declare @d_name varchar(20)
set @d_name=@in_name
execute
(
'alter database '+@d_name+' modify file(name='+@d_name+', filegrowth=200MB)'
)
go

 

declare @databasename nvarchar(256)
declare cur01 cursor for
select name from sys.databases
where name not in ('master','tempdb','model','msdb','reportserver','ReportServerTempDB')
open cur01
fetch next from cur01 into @databasename
while @@fetch_status=0
begin
exec pr_modify_file_add @databasename
fetch next from cur01 into @databasename
end
close cur01
deallocate cur01
go

 

 

if object_id('pr_modify_file_add_log') is not null
drop proc pr_modify_file_add_log
go
create proc pr_modify_file_add_log
@in_name nvarchar(256),
@dlog nvarchar(256)
as
declare @d_name nvarchar(20)
set @d_name=@in_name
execute
(
'alter database '+@d_name+' modify  file (name='+@dlog+', filegrowth=400MB)'
)
go

declare @databasename nvarchar(256)
declare @string nvarchar(256)
declare @re nvarchar(256)
declare cur01 cursor for
select name from sys.databases
where name not in ('master','tempdb','model','msdb','reportserver','ReportServerTempDB')
open cur01
fetch next from cur01 into @databasename
while @@fetch_status=0
begin
set @string='select @a=name from '+@databasename +'.sys.database_files where type=1'
exec sp_executesql @string, N'@a nvarchar(200) output',@re output
exec pr_modify_file_add_log @databasename,@re
fetch next from cur01 into @databasename
end
close cur01
deallocate cur01
go