用T-SQL修改数据库的恢复模型

在sql server中修改一个数据库的恢复模型很简单,在属性中改一下即可,但如果想修改所有数据库的恢复模型就需要用T-SQL循环处理了,但写这个sql却花了点时间:

alter database pjgl set RECOVERY simple
上面把pjgl设置为简单模型,还有其他两种选择是FULL 和 BULK_LOGGED 。
为了上面的SET关键字,查了半天资料,特留个记号。
如果想处理所有的数据库,则执行:
declare @dbname varchar(50)  --数据库名
declare @sql varchar(500)  --执行备份时的sql
DECLARE dba_database CURSOR FOR  --所有数据库的光标
       select [name] from sysdatabases order by [name]

OPEN dba_database

FETCH NEXT FROM dba_database into @dbname
WHILE @@FETCH_STATUS = 0
BEGIN
    IF (@dbname <> 'tempdb')
    BEGIN
         SET @sql = 'alter database '+ @dbname + ' set RECOVERY simple'
         PRINT @sql
         EXEC (@sql)
    END

    FETCH NEXT FROM dba_database  into @dbname
END

CLOSE dba_database
DEALLOCATE dba_database

posted @ 2007-04-18 09:34  81  阅读(473)  评论(1编辑  收藏  举报