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

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
U
Unit 42
B
Blog RSS Feed
博客园 - 【当耐特】
T
Tailwind CSS Blog
V
V2EX
S
SegmentFault 最新的问题
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
量子位
aimingoo的专栏
aimingoo的专栏
Stack Overflow Blog
Stack Overflow Blog
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
P
Proofpoint News Feed
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
A
About on SuperTechFans

博客园 - Jason's WMI SQL Related Blog

关于SQL SERVER的内存使用的问题 使用Raid提高SQL的性能和可用性 SQL Server BCP 的数据导入导出 - Jason's WMI SQL Related Blog 用脚本查看某库中每个表大小 Easy way to estimate a table size in the future How to determine which version of SQL Server 2000 is running modify数据时临时暂停触发器的作用 关于MSBA和Firewall 关于如何在BCP和Bulk Insert中使用 文本限定符 简单的ASP.net查询数据库脚本 关于DTS中全局变量数据类型date Log Shipping实现 如何使用SQL 2000的DTS自动从FTP服务器下载文件 SQL Server数据库备份还原 SQl Server中修改数据库的备份模型后要完全备份一次数据库 如何在SQL SErver2000中恢复Master数据库 SQLSERVER 管理DTS包 使用WMI重启不能用3389登录的服务器 如何使用T-SQL来给系统增加计划任务,
用脚本查看Server上每个库的大小
Jason's WMI SQL Related Blog · 2005-11-30 · via 博客园 - Jason's WMI SQL Related Blog
用脚本查看Server上每个库的大小

 --转自SQLSERVERCENTRUAL.com

SET NOCOUNT ON

DECLARE @Result Table (

[DBName] Varchar(100),

[size] int,

Log_Size float,

Log_Space float

)

DECLARE @DBName Varchar(100)

DECLARE @SIZE int

declare @RECCNT varchar(500)

declare @DeviceName varchar(500)

declare @CMD Nvarchar(500)

DECLARE tmpcursor CURSOR FOR select DBName from @Result

INSERT INTO @Result (DBName)

Select [name] from sysdatabases where [status] <> 536

IF EXISTS (Select [name] from sysobjects where xtype = 'u' and [name] = '#temp_table')

DROP TABLE #temp_table

create table #temp_table (

Database_Name varchar(100),

Log_Size float,

Log_Space float,

Status varchar(100)

)

insert into #temp_table

EXEC ('DBCC sqlperf(LOGSPACE) WITH NO_INFOMSGS')

declare @temp_table table (

Database_Name varchar(100),

Log_Size float,

Log_Space float,

Status varchar(100)

)

insert into @temp_table

select * from #temp_table

drop table #temp_table

OPEN tmpcursor

FETCH NEXT FROM tmpcursor INTO @DBName

WHILE (@@fetch_status <> -1)

BEGIN

IF (@@fetch_status <> -2)

BEGIN

SET @CMD = N'use ' +  quotename(@DBName) + N' SELECT @SIZE=(SUM([size]) * 8) from sysfiles'-- where [name] = @RECCNT'

exec sp_executesql @CMD,

N'@DeviceName varchar(100) out, @SIZE int out, @RECCNT varchar(100)',

@DBName,

@SIZE out,

@RECCNT

update @Result

set [size] = LTRIM(RTRIM(@SIZE))

where DBName = @DBName

update @Result set Log_Size = (Select Log_Size from @temp_table where Database_Name = @DBName) where DBName = @DBName

update @Result set Log_Space = (Select Log_Space from @temp_table where Database_Name = @DBName) where DBName = @DBName

END

FETCH NEXT FROM tmpcursor INTO @DBName

END

select a.DBName, CONVERT(varchar,CAST(a.[size] as money),1) as 'size', CONVERT(varchar,CAST(a.[Log_Size] as money),1)  as 'Log Space', CONVERT(varchar,CAST(a.[Log_Space] as money),1)  as 'Log Space Used (%)',b.filename as '文件位置',getdate() as '采集时间' from @Result a,master..sysdatabases b

where a.dbname=b.name

order by a.[size]

CLOSE tmpcursor

DEALLOCATE tmpcursor

SET NOCOUNT OFF

GO