日期:2014-05-18  浏览次数:20530 次

這個存儲過程語法檢查通過,為何保存不了?
SET   NOCOUNT   ON
DECLARE   @LogicalFileName   sysname,
@MaxMinutes   INT,
@NewSize   INT

USE   ZCGL   --   要操作的数据库名
SELECT   @LogicalFileName   =   'ZCGL_LOG '   ,--   日志文件名
@MaxMinutes   =   10,   --   Limit   on   time   allowed   to   wrap   log.
@NewSize   =   100   --   你想设定的日志文件的大小(M)

--   Setup   /   initialize
DECLARE   @OriginalSize   int
SELECT   @OriginalSize   =   size  
FROM   sysfiles
WHERE   name   =   @LogicalFileName
SELECT   'Original   Size   of   '   +   db_name()   +   '   LOG   is   '   +  
CONVERT(VARCHAR(30),@OriginalSize)   +   '   8K   pages   or   '   +  
CONVERT(VARCHAR(30),(@OriginalSize*8/1024))   +   'MB '
FROM   sysfiles
WHERE   name   =   @LogicalFileName
CREATE   TABLE   DummyTrans
(DummyColumn   char   (8000)   not   null)


DECLARE   @Counter   INT,
@StartTime   DATETIME,
@TruncLog   VARCHAR(255)
SELECT   @StartTime   =   GETDATE(),
@TruncLog   =   'BACKUP   LOG   '   +   db_name()   +   '   WITH   TRUNCATE_ONLY '

DBCC   SHRINKFILE   (@LogicalFileName,   @NewSize)
EXEC   (@TruncLog)
--   Wrap   the   log   if   necessary.
WHILE   @MaxMinutes   >   DATEDIFF   (mi,   @StartTime,   GETDATE())   --   time   has   not   expired
AND   @OriginalSize   =   (SELECT   size   FROM   sysfiles   WHERE   name   =   @LogicalFileName)  
AND   (@OriginalSize   *   8   /1024)   >   @NewSize  
BEGIN   --   Outer   loop.
SELECT   @Counter   =   0
WHILE   ((@Counter   <   @OriginalSize   /   16)   AND   (@Counter   <   50000))
BEGIN   --   update
INSERT   DummyTrans   valueS   ( 'Fill   Log ')  
DELETE   DummyTrans
SELECT   @Counter   =   @Counter   +   1
END  
EXEC   (@TruncLog)  
END  
SELECT   'Final   Size   of   '   +   db_name()   +   '   LOG   is   '   +
CONVERT(VARCHAR(30),size)   +   '   8K   pages   or   '   +  
CONVERT(VARCHAR(30),(size*8/1024))   +   'MB '
FROM   sysfiles  
WHERE   name   =   @LogicalFileName
DROP   TABLE   DummyTrans
SET   NOCOUNT   OFF

exec     (   @LogicalFileName)

GO

以上存儲過程是清除SQL-LOG文件使用,語法檢查成功,但保存不了,且報錯??
請高手指點迷津!
MSN:kye_jufei@hotmail.com

------解决方案--------------------
有没有定义存储过程名?
把语句贴完整