sql server 2005 压缩实例下所有数据库文件及日志文件(转载)作者:Program Life

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
日志服务 SLS,月写入数据量 50GB 1个月
简介:
--01.get all database name
SELECT DBNAME   = DB_NAME(s_mf.database_id)    INTO  #DN
    
FROM

        sys.master_files s_mf
    
WHERE
        s_mf.state 
= 0 and -- ONLINE
        HAS_DBACCESS(DB_NAME(s_mf.database_id)) = 1 -- Only look at databases to which we have access
    GROUP BY  s_mf.database_id
    
ORDER BY 1

--02.use cursor to fetch db name
--
---02.01 declare cursor
DECLARE cur CURSOR FOR  
SELECT DBNAME FROM
 #DN

-----02.02 open cursor & declare var

OPEN  cur
DECLARE @DbName VARCHAR(200
)
-----02.03 loop db bane
FETCH NEXT FROM cur into @DbName
WHILE(@@FETCH_STATUS=0 )
  
BEGIN

        
print 'shrinking ' + @DbName + ' ...'
-------02.04 only shink log file

        
exec (
            
'

                declare @dn varchar(200);
                declare @ln varchar(210);
                select @dn = name from  
'+@DbName+' .dbo.sysfiles where fileid=1 
                select @ln = name from  
'+@DbName+'
.dbo.sysfiles where fileid=2 
                use [
'+ @DbName + '] backup log ['+ @DbName +'
] with no_log dbcc shrinkfile (@ln)
            
'

            )

-------02.04 shink db file & log file
    --  dbcc SHRINKDATABASE (@DbName)
        print @DbName + ' done'
      
FETCH NEXT FROM cur INTO @DbName
  
END
-----02.05 colse cursor
CLOSE  cur
DEALLOCATE
 cur
-----03.drop temp table

DROP TABLE #DN
-------------------------------
版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

分类: SQL Server
0
0
« 上一篇: EXCEL的数据倒入到数据库
» 下一篇: 加密解密存储过程
posted @ 2009-01-05 08:24 温景良(Jason) Views( 226) Comments( 0) Edit 收藏
 
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
97 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
24天前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
104 0
|
5天前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
25天前
|
SQL 数据库
DBeaver执行sql文件
本文介绍了DBeaver这款支持多种数据库的通用数据库管理工具和SQL客户端,它具备查看数据库结构、执行SQL查询和脚本、浏览和导出数据等功能。
32 1
DBeaver执行sql文件
|
26天前
|
SQL 关系型数据库 MySQL
|
13天前
|
SQL 数据管理 数据库
SQL语句实例教程:掌握数据查询、更新与管理的关键技巧
SQL(Structured Query Language,结构化查询语言)是数据库管理和操作的核心工具
|
20天前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
22天前
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
45 1
|
26天前
|
关系型数据库 MySQL 数据库
DZ社区 mysql日志清理 Discuz! X3.5数据库可以做定期常规清理的表
很多站长在网站日常维护中忽略了比较重要的一个环节,就是对于数据库的清理工作,造成数据库使用量增加必须多的原因一般有2个:后台站点功能开启了家园,此功能现在很少有论坛会用到,但是灌水机会灌入大量垃圾信息致使站长长时间未能发觉;再有就是程序默认的一些通知类表单会存放大量的、对于网站日常运行并无意义的通知信息。
49 2
|
26天前
|
存储 关系型数据库 数据库
数据库启用慢速查询日志如何增强 Postgres 可观测性
数据库启用慢速查询日志如何增强 Postgres 可观测性
25 1