CREATE PROC
USP_SELECT_DBSize
AS
BEGIN
CREATE TABLE #temp
(
DBName varchar(255)
, Device_Name varchar(25)
, Device_Size varchar(13)
, Path varchar(100)
, Filegroup varchar(100)
)
DECLARE @dbname varchar(50)
DECLARE @command varchar(255)
DECLARE dbname_cursor CURSOR FOR SELECT name from master..sysdatabases
where name not in ('northwind', 'pubs')
OPEN dbname_cursor
FETCH next FROM
dbname_cursor into @dbname
WHILE @@fetch_status =
0
BEGIN
SELECT @command =
'USE ' +
@dbname + ' select
' + ''''
+
@dbname + '''' + ',' +
'convert(varchar(25),f.name) ''Device Name'','+
'convert(varchar(10),size/128) + '' MB'' ''Device
Size'','+
'convert(varchar(100),f.filename) Path,'+
'convert(varchar(15),filegroup_name(groupid)) Filegroup from
sysfiles f'
INSERT #temp EXEC
(@command)
FETCH NEXT FROM
dbname_cursor INTO @dbname
END
SELECT *
FROM #temp
ORDER BY
DBName
DROP TABLE
#temp
CLOSE dbname_cursor
DEALLOCATE dbname_cursor
END
GO
'연구개발 > DBA' 카테고리의 다른 글
데이터를 붙여서(?) 출력하기 (0) | 2010.07.27 |
---|---|
파일 그룹별 개체 및 사이즈 확인 (0) | 2010.07.27 |
SS2005 - Optimistic Concurrency 예제 (0) | 2010.07.27 |
SQL Server 2005 업그레이드 핸드북입니다..(한글) (0) | 2010.07.27 |
Microsoft SQL Server 2005 JDBC 드라이버 (0) | 2010.07.27 |