消除日志的sql,Serve中贯彻字符串分割

来源:http://www.xsqinhai.com 作者:娱乐新闻 人气:114 发布时间:2019-12-19
摘要:来自台湾的技术宅@Counter656耗时59天,拍摄了6000张照片,自制完成了以下的龙珠动画。虽然只是定格动画,但在灯光特效的烘托下模型的打斗场面相当带感! CREATE FUNCTION SPLIT ( @str_i

来自台湾的技术宅@Counter656耗时59天,拍摄了6000张照片,自制完成了以下的龙珠动画。虽然只是定格动画,但在灯光特效的烘托下模型的打斗场面相当带感!

CREATE FUNCTION SPLIT (
@str_in  VARCHAR(8000),
@separator VARCHAR(4) )
RETURNS @strtable TABLE (strval  VARCHAR(8000))
AS
BEGIN

SET NOCOUNT ON

根据@Counter656本人的介绍,他是Youtube的签约导演!此前的第1集用了他1个多月的时间,近5000张照片,视频的播放量已经超过45万,本次是他的第2集作品,同时也期待他之后的更多作品!

DECLARE
 @Occurrences INT,
 @Counter INT,
 @tmpStr VARCHAR(8000)

DECLARE @LogicalFileName sysname,

 SET @Counter = 0
        IF SUBSTRING(@str_in,LEN(@str_in),1) <> @separator 
              SET @str_in = @str_in + @separator

@MaxMinutes INT,

彩世界北京pk手机版, SET @Occurrences = (DATALENGTH(REPLACE(@str_in,@separator,@separator+'#')) -  DATALENGTH(@str_in))/ DATALENGTH(@separator)
 SET @tmpStr = @str_in

@NewSize INT

 WHILE @Counter <= @Occurrences 
 BEGIN
  SET @Counter = @Counter + 1
  INSERT INTO @strtable
  valueS ( SUBSTRING(@tmpStr,1,CHARINDEX(@separator,@tmpStr)-1))

 

  SET @tmpStr = SUBSTRING(@tmpStr,CHARINDEX(@separator,@tmpStr)+1,8000)
  
  IF DATALENGTH(@tmpStr) = 0
   BREAK
  
 END
 RETURN 
END

 

输入字符串返回表。
调用
select dbo.split('需要分割的字符串','分割符号')

USE cms -- 要操作的数据库名

SELECT @LogicalFileName = 'cms_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

本文由彩世界苹果版发布于娱乐新闻,转载请注明出处:消除日志的sql,Serve中贯彻字符串分割

关键词:

上一篇:日开始连载,零的日常

下一篇:没有了

最火资讯