日期:2014-05-17 浏览次数:20624 次
USE [master] GO ALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY SIMPLE --简单模式 GO USE asgfw#db GO DBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY FULL --还原为完全模式 GO
-- 创建一个存储过程就行了 create proc del as USE [master] GO ALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY SIMPLE --简单模式 GO USE asgfw#db GO DBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY FULL --还原为完全模式 GO Go --上面就建好的存储过程 exec del --执行存储过程
------解决方案--------------------
-- 先创建一个存储过程 create proc del as ALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY SIMPLE --简单模式 GO ALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY FULL --还原为完全模式 GO Go --上面是存储过程 --如果asgfw#db也是一个数据库的话,然后再做一个触发器 --触发器我不太会,就是当执行上面的存储过程后 就 触发这触发器 去执行 /*USE asgfw#db GO DBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY) GO */ exec del --执行存储过程
------解决方案--------------------
当然不用触发器也行
USE [master] GO create proc delone as ALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY SIMPLE --简单模式 GO ALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE asgfw#db SET RECOVERY FULL --还原为完全模式 GO --这上面为一个存储过程 USE asgfw#db GO create proc deltwo AS DBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY) GO --这也是一个存储过程,然后把这2个存储整合到一个里面 USE 你要作用到的数据库 GO create proc delthree as exec delone exec deltwo GO --然后执行存储过程 exec delthree -- 这就实现了 你的要求