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

推荐订阅源

Google DeepMind News
Google DeepMind News
G
Google Developers Blog
博客园 - 三生石上(FineUI控件)
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
V
V2EX
Vercel News
Vercel News
U
Unit 42
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
J
Java Code Geeks
WordPress大学
WordPress大学
罗磊的独立博客
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
M
MIT News - Artificial intelligence
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG

博客园 - 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