这里有一个执行语句:<br>--在MASTER数据库中执行以下脚本(使用查询分析器)<br>declare @dbname varchar(50)<br>declare temp_cur cursor scroll for select name from sysdatabases--定义游标为选择系统用户数据库的名称<br>open temp_cur--打开<br><br>fetch first from temp_cur into @dbname--从 Transact-SQL 服务器游标中检索特定的一行<br>while @@fetch_status =0 --返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态<br>begin<br> exec ('backup log '+@dbname+' with no_log')--截断事务日志<br> exec ('dbcc shrinkdatabase('+@dbname+')')--收缩数据库<br> exec ('dbcc checkcatalog ('+@dbname+')')--检查指定数据库中的系统表内及系统表间的一致性。<br> exec ('dump transaction '+@dbname+' with no_log')--备份事务日志<br> fetch next from temp_cur into @dbname--循环条件:到下一个数据库名称<br>end<br>close temp_cur--关闭游标<br>deallocate temp_cur---删除游标引用