惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
腾讯CDC
G
Google Developers Blog
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
美团技术团队
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志

博客园 - wl666lw

MSSQL一种取代游标的方案 C#直接操作并口 ProtelDXP练习作品-51单片机最小系统 单片机实现的数字钟 C#动态获取鼠标位置的颜色 C#中使用 SendMessage 向非顶端窗体发送组合键 对非顶端窗口截图 对指定的网页进行截图 C# 查看网络流量信息 删除“拒绝访问”等无法删除的文件 真正彻底的删除硬盘数据 pocket pc 2003网络配置 IIS配置wap服务器 js日期正则表达式 在安装flash player 10时遇到提示“正尝试安装的adobe flash player不是最新版本”的解决方法 利用VB远线程注入技术实现键盘拦截的例子(无DLL) C#颜色和名称对照表 Windows消息大全 VB HOOK(钩子)超级无敌详细用法
MSSQL清理所有用户数据库日志(SQLSERVER2008)
wl666lw · 2018-09-08 · via 博客园 - wl666lw
USE [master];
SET NOCOUNT ON;

DECLARE @tbName VARCHAR(50)='';
DECLARE @tbLog VARCHAR(100)='';
DECLARE @clearSql VARCHAR(MAX)='';

DECLARE @TMP_WHILE_ID INT=0;
SELECT TMP_WHILE_ID=IDENTITY(INT,1,1),TMP_WHILE_FLAG=0,
T.tbName,T.tbLog
INTO #TMP_WHILE
FROM
(
SELECT master.sys.databases.name AS tbName, master.sys.master_files.name AS tbLog
FROM master.sys.master_files INNER JOIN master.sys.databases ON master.sys.master_files.database_id = master.sys.databases.database_id
WHERE (master.sys.databases.owner_sid <> 0x01) AND (master.sys.master_files.type = 1)
) AS T

SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0;
WHILE @TMP_WHILE_ID IS NOT NULL
BEGIN
    SELECT @tbName=tbName,@tbLog=tbLog FROM #TMP_WHILE WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
    
    SET @clearSql=@clearSql+'USE [master];'+CHAR(10);
    SET @clearSql=@clearSql+'ALTER DATABASE ['+@tbName+'] SET RECOVERY SIMPLE WITH NO_WAIT;'+CHAR(10);
    SET @clearSql=@clearSql+'ALTER DATABASE ['+@tbName+'] SET RECOVERY SIMPLE;'+CHAR(10);
    SET @clearSql=@clearSql+'USE ['+@tbName+'];'+CHAR(10);
    SET @clearSql=@clearSql+'DBCC SHRINKFILE ('''+@tbLog+''',1,TRUNCATEONLY);'+CHAR(10);
    SET @clearSql=@clearSql+'USE [master];'+CHAR(10);
    SET @clearSql=@clearSql+'ALTER DATABASE ['+@tbName+'] SET RECOVERY FULL WITH NO_WAIT;'+CHAR(10);
    SET @clearSql=@clearSql+'ALTER DATABASE ['+@tbName+'] SET RECOVERY FULL;'+CHAR(10);
    
    UPDATE #TMP_WHILE SET TMP_WHILE_FLAG=1 WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
    SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0 AND TMP_WHILE_ID>@TMP_WHILE_ID;
END

DROP TABLE #TMP_WHILE;
--PRINT @clearSql;
EXEC(@clearSql);