用代码来设置故障还原模型‘简单’以及‘收缩数据库

  因为我的SQL Server服务器里面有比较多的数据库,在这里想对所有数据库实现以下操作:
  1、数据库属性中的故障还原模型改为“简单”
  2、压缩数据库
  在论坛里看到邹建大哥的方法,现转贴过来:
-- 处理服务器上的所有数据库。

EXEC sp_msforeachdb @command1=N'
PRINT ''''
RAISERROR(''处理数据库: ? '',10,1) WITH NOWAIT
PRINT ''''

-- 截断日志
BACKUP LOG [?] WITH NO_LOG

-- 收缩文件
USE [?]
DECLARE tb CURSOR LOCAL
FOR
SELECT N''DBCC SHRINKFILE(''+RTRIM(fileid)+N'')''
FROM dbo.sysfiles
DECLARE @s nvarchar(4000)
OPEN tb
FETCH tb INTO @s
WHILE @@FETCH_STATUS=0
BEGIN
EXEC(@s)
FETCH tb INTO @s
END
CLOSE tb
DEALLOCATE tb

-- Auto Shrink
IF LOWER(''?'') not in(''master'',''tempdb'')
EXEC sp_dboption ''?'',''autoshrink'',''TRUE''

-- 设置数据库恢复模型为 SIMPLE
IF LOWER(''?'') <> ''tempdb''
EXEC(N''ALTER DATABASE [?] SET RECOVERY SIMPLE'')
'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值